CN113962806A - 金融产品的回测方法及其回测装置、电子设备 - Google Patents
金融产品的回测方法及其回测装置、电子设备 Download PDFInfo
- Publication number
- CN113962806A CN113962806A CN202111137444.6A CN202111137444A CN113962806A CN 113962806 A CN113962806 A CN 113962806A CN 202111137444 A CN202111137444 A CN 202111137444A CN 113962806 A CN113962806 A CN 113962806A
- Authority
- CN
- China
- Prior art keywords
- retest
- financial product
- calculation
- data
- product data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种金融产品的回测方法及其回测装置、电子设备。其中,该回测方法包括:接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告,将回测报告发送至目标终端。本发明解决了相关技术中只能通过增加机器数量支持高并发的回测计算场景,导致运行成本增加的技术问题。
Description
技术领域
本发明涉及金融技术领域,具体而言,涉及一种金融产品的回测方法及其回测装置、电子设备。
背景技术
相关技术中,现有的金融产品(金融产品、债券、期货等)组合实时在线回测方案为:首先,需要单独搭建回测节点,并单独构建回测方法,之后,基于大量的金融产品历史基础数据,对基础数据进行回测计算,最后,以接口形式提供回测数据。
然而,上述现有的金融产品组合实时在线回测方案存在多个弊端:(1)金融产品基础数据样本过大,由于采用常规的取数逻辑,大多需要通过关系型数据库获取基础数据,并且由于数据量过大,导致在线实时的数据检索将耗费大量时间;(2)金融产品组合在线回测存在对基础设施及其资源依赖较大的特点,在现有的运行环境下,存在计算能力不足的问题,无法提供快速、高性能的计算支持,然而金融产品在线回测追求时效性,并且存在大小不确定的数据样本,因此,无法保证金融产品回测的实时性;(3)需要耗费大量成本用以支撑高并发场景,现有的服务器搭建的系统若要支撑高并发,只能通过增加机器数量来实现,但在流量潮汐的场景下,设置的机器数量难以确定,增加了运行成本。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种金融产品的回测方法及其回测装置、电子设备,以至少解决相关技术中只能通过增加机器数量支持高并发的回测计算场景,导致运行成本增加的技术问题。
根据本发明实施例的一个方面,提供了一种金融产品的回测方法,包括:接收多个回测计算请求,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,所述回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,所述预设阈值与处理线程的线程数量对应;基于所述回测计算请求中的请求参数,从产品数据表中提取与所述回测计算请求对应的金融产品数据;基于所述请求参数与所述金融产品数据,采用所述回测服务实例计算至少一个回测指标,得到回测报告;将所述回测报告发送至目标终端。
可选地,在接收多个回测计算请求之前,所述回测方法还包括:采集金融产品在历史时间段中的交易数据,得到所述金融产品数据;对所述金融产品数据进行预处理,得到处理后的金融产品数据;若触发数据更新节点,则将所述金融产品数据以表格形式进行存储,得到所述产品数据表。
可选地,对所述金融产品数据进行预处理,得到处理后的金融产品数据的步骤,包括:若所述金融产品数据中的字段存在缺失,则对所述字段进行补全;若无法补全,则去除存在缺失的所述字段,并将缺失信息记录至所述回测报告中。
可选地,对所述金融产品数据进行预处理,得到处理后的金融产品数据的步骤,还包括:对所述金融产品数据进行格式处理、数据处理和逻辑处理,其中,所述格式处理为进行下述至少之一的处理:时间格式处理、日期格式处理、数值格式处理、半全角格式处理;所述数据处理为去除所述金融产品数据的字段中的错误字符以及去除与字段内容无关联关系的字符;所述逻辑处理为去除某一时间段内的重复数据。
可选地,接收多个回测计算请求的步骤,包括:响应于请求触发信号,调用请求接口,以获取目标终端的回测计算请求。
可选地,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例的步骤,包括:若所述回测计算请求的数量大于回测服务系统的函数线程的数量,则对所述回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过所述实例容器增加所述回测服务实例。
可选地,在接收多个回测计算请求之后,所述回测方法还包括:接收目标终端的日志查询请求,并将日志查询结果发送给目标终端;基于监控设置参数,对回测服务系统的系统性能进行监测,其中,所述系统性能包括:当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长;和/或,检测所述回测服务系统的各线程运行状态,若所述线程运行状态为异常状态,发出报警信号。
可选地,将所述回测报告发送至目标终端的步骤,包括:将所述至少一个回测指标组装成HTTP返回包;将所述HTTP返回包发送给目标终端。
可选地,在将所述回测报告发送至目标终端之后,所述回测方法还包括:将所述回测报告展示在目标终端的金融产品组合回测页面上。
可选地,所述回测指标包括下述至少之一:金融产品组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率、前三个月收益率、前一个月度收益率。
根据本发明实施例的另一方面,还提供了一种金融产品的回测装置,包括:接收单元,用于接收多个回测计算请求,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,所述回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,所述预设阈值与处理线程的线程数量对应;提取单元,用于基于所述回测计算请求中的请求参数,从产品数据表中提取与所述回测计算请求对应的金融产品数据;计算单元,用于基于所述请求参数与所述金融产品数据,采用所述回测服务实例计算至少一个回测指标,得到回测报告;发送单元,用于将所述回测报告发送至目标终端。
可选地,所述回测装置还包括:第一采集模块,用于在接收多个回测计算请求之前,采集金融产品在历史时间段中的交易数据,得到所述金融产品数据;第一处理模块,用于对所述金融产品数据进行预处理,得到处理后的金融产品数据;第一存储模块,用于若触发数据更新节点,则将所述金融产品数据以表格形式进行存储,得到所述产品数据表。
可选地,所述第一处理模块包括:第一补全子模块,用于若所述金融产品数据中的字段存在缺失,则对所述字段进行补全;第一去除子模块,用于若无法补全,则去除存在缺失的所述字段,并将缺失信息记录至所述回测报告中。
可选地,所述第一处理模块还包括:第一处理子模块,用于对所述金融产品数据进行格式处理、数据处理和逻辑处理,其中,所述格式处理为进行下述至少之一的处理:时间格式处理、日期格式处理、数值格式处理、半全角格式处理;所述数据处理为去除所述金融产品数据的字段中的错误字符以及去除与字段内容无关联关系的字符;所述逻辑处理为去除某一时间段内的重复数据。
可选地,所述接收单元包括:第一获取模块,用于响应于请求触发信号,调用请求接口,以获取目标终端的回测计算请求。
可选地,所述接收单元包括:第一增加模块,用于若所述回测计算请求的数量大于回测服务系统的函数线程的数量,则对所述回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过所述实例容器增加所述回测服务实例。
可选地,所述回测装置还包括:第一发送模块,用于在接收多个回测计算请求之后,接收目标终端的日志查询请求,并将日志查询结果发送给目标终端;第一监控模块,用于基于监控设置参数,对回测服务系统的系统性能进行监测,其中,所述系统性能包括:当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长;和/或,第一检测模块,用于检测所述回测服务系统的各线程运行状态,若所述线程运行状态为异常状态,发出报警信号。
可选地,所述发送单元包括:第一组装模块,用于将所述至少一个回测指标组装成HTTP返回包;第二发送模块,用于将所述HTTP返回包发送给目标终端。
可选地,所述回测装置还包括:第一展示模块,用于在将所述回测报告发送至目标终端之后,将所述回测报告展示在目标终端的金融产品组合回测页面上。
可选地,所述回测指标包括下述至少之一:金融产品组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率、前三个月收益率、前一个月度收益率。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的金融产品的回测方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的金融产品的回测方法。
在本申请,接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告,将回测报告发送至目标终端。本申请在有大量并发回测计算请求发起时(即系统线程无法处理所有请求),引入了无服务器服务,通过增加回测服务实例承载更多的并发请求,不仅能够解决高并发以及传统环境计算能力不足的问题,而且无需增加机器,降低了运行成本,进而解决了相关技术中只能通过增加机器数量支持高并发的回测计算场景,导致运行成本增加的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的金融产品的回测方法的流程图;
图2是根据本发明实施例的一种可选的基于无服务器服务函数计算的金融产品组合在线回测方法的示意图;
图3是根据本发明实施例的一种可选的金融产品的回测装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
FaaS,Functions as a Service,函数即服务或者云函数,是无服务计算的一种形式,是一种事件驱动的由消息触发的服务,仅需编写和上传核心业务代码,即可完成对应的数据处理。
本发明下述各实施例可应用于各种金融产品回测系统、应用,或者需要对金融产品进行回测的场景下,涉及到的金融产品数据可以是采集的任何金融系统或应用在历史过程中产生的数据,其中,金融产品包括但不限于:基金、债券等,本发明通过引入无服务器服务(例如,FaaS服务),能够解决在对金融产品进行回测计算时对基础设施与资源依赖大的问题,并且基于无服务器服务的实时弹性伸缩特性,对高并发有着良好的承接,能够用于构建高性能、高可用的回测数据提供平台,而且,将数据检索以及数据清洗的任务提前进行处理,能够缩短在线回测耗时,最后在回测页面展示最终的回测指标,使用户更加了解自己构建的金融组合在各个维度的表现,对于金融组合构建的有效性和收益提升都有很好的价值。
实施例一
根据本发明实施例,提供了一种金融产品的回测方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的金融产品的回测方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,预设阈值与处理线程的线程数量对应。
步骤S104,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据。
步骤S106,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告。
步骤S108,将回测报告发送至目标终端。
通过上述步骤,可以接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告,将回测报告发送至目标终端。本实施例,在有大量并发回测计算请求发起时,引入了无服务器服务,通过增加回测服务实例承载更多的并发请求,不仅能够解决高并发以及传统环境计算能力不足的问题,而且无需增加机器,降低了运行成本,进而解决了相关技术中只能通过增加机器数量支持高并发的回测计算场景,导致运行成本增加的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。
可选的,在接收多个回测计算请求之前,回测方法还包括:采集金融产品在历史时间段中的交易数据,得到金融产品数据;对金融产品数据进行预处理,得到处理后的金融产品数据;若触发数据更新节点,则将金融产品数据以表格形式进行存储,得到产品数据表。
在本发明实施例中,在接收用户的回测计算请求之前,可以先对金融产品数据进行清洗(即预处理),为摆脱在线回测时,从关系型数据获取金融产品数据耗时长的束缚,可以设置定时触发器,其用于设定某个时间点或按照预设周期触发数据更新节点(例如,设置每天12点和18点更新数据,或者设置每5小时更新数据等),当触发数据更新节点时,将金融产品数据以表格形式进行存储,得到产品数据表,这样以表格形式进行存储,可以具有后续访问更快、吞吐量更强的优势,有利于后续更为便捷、快速的提供数据支撑。
其中,金融产品数据为采集的各种金融产品在历史上的交易数据,金融产品包括但不限于:基金、债券、股票等,交易数据包括但不限于:银行业务中的交易数据、证券业务中的交易数据等。
可选的,对金融产品数据进行预处理,得到处理后的金融产品数据的步骤,包括:若金融产品数据中的字段存在缺失,则对字段进行补全;若无法补全,则去除存在缺失的字段,并将缺失信息记录至回测报告中。
在本发明实施例中,对于有数据缺失的金融产品数据,可以填充缺失字段内容,例如,可以通过从其他渠道取数补全或通过其他字段计算获取,若无法补全,则去除该字段,并在回测结果中标明(即将缺失信息记录至回测报告中)。
可选的,对金融产品数据进行预处理,得到处理后的金融产品数据的步骤,还包括:对金融产品数据进行格式处理、数据处理和逻辑处理,其中,格式处理为进行下述至少之一的处理:时间格式处理、日期格式处理、数值格式处理、半全角格式处理;数据处理为去除金融产品数据的字段中的错误字符以及去除与字段内容无关联关系的字符;逻辑处理为去除某一时间段内的重复数据。
在本发明实施例中,金融产品数据在格式和内容方面,会与元数据的描述一致,但在回测计算之前,还需要进行统一的内容格式处理,可以通过处理时间、日期、数值、半全角等显示格式不一致问题(即格式处理),以达到格式统一。可以通过剔除金融产品数据的字段中不该存在的字符或与该字段应有内容不符的字符(即数据处理),以完成内容清洗。还可以进行逻辑错误清洗(即逻辑处理),例如,对同一只基金相同发布日期数据的进行去重处理(即去除某一时间段内的重复数据),对金融数据字段存在明显不合理值的处理等。
步骤S102,接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,预设阈值与处理线程的线程数量对应。
在本发明实施例中,可以借助无服务器服务函数(例如,FaaS函数)计算的云原生、无运维的特点,以及高弹性和高可用性特点,解决传统服务器搭建系统用于高并发场景下只能通过增加机器数量的问题,对于流量突发和在流量潮汐的场景下。无服务器服务函数计算能够通过预留实例模式和按量消除冷启动特性,快速拉起回测服务实例,在单实例多并发模式下,通过横向扩容,能够在面对流量洪峰时,承载更多的并发请求,并且其构建稳定、具备高可用性的接口,因此,本实施例采用无服务器服务函数,当接收的回测计算请求大于预设实例的上限(即预设阈值)时,能够通过增加回测服务实例,支撑更多并发的回测计算请求。
其中,回测计算请求用于基于设定的金融产品指标组合(例如,已经设定好医药基金下的多种基金组合,就以该基金组合进行模拟交易),对历史时间段中的真实产品行情进行分析(即按照历史上真实金融市场交易的规则进行分析模拟),以预估金融产品在未来某一时间段的交易数据(即可以得到未来某一时间段内的交易数据,例如,盈利率、最大回撤率等),预设阈值与处理线程的线程数量对应(即已经设定的默认线程数量上限)。
可选的,接收多个回测计算请求的步骤,包括:响应于请求触发信号,调用请求接口,以获取目标终端的回测计算请求。
在本发明实施例中,可以以HTTP触发器的形式为用户提供接口调用,当接收到请求信号时,通过HTTP触发器调用请求接口,从而获取用户的回测计算请求(即用户通过目标终端发起的回测计算请求)。
可选的,若回测计算请求的数量大于预设阈值,则增加回测服务实例的步骤,包括:若回测计算请求的数量大于回测服务系统的函数线程的数量,则对回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过实例容器增加回测服务实例。
在本发明实施例中,无服务器服务函数计算有默认固定数量的实例容器来满足并发需求,若同一时间有大量的并发流量流入,线程数达到预设的阈值(即回测计算请求的数量大于回测服务系统的函数线程的数量)后,无服务器服务函数计算将通过横向扩容(即对回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过实例容器增加回测服务实例),拉起实例容器去承载更多的并发请求。
可选的,在接收多个回测计算请求之后,回测方法还包括:接收目标终端的日志查询请求,并将日志查询结果发送给目标终端;基于监控设置参数,对回测服务系统的系统性能进行监测,其中,系统性能包括:当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长;和/或,检测回测服务系统的各线程运行状态,若线程运行状态为异常状态,发出报警信号。
在本发明实施例中,无服务器服务函数计算还可以同时提供日志查询、性能监控、异常报警等功能,能够降低运维成本,其中,日志查询是指当用户发起回测计算请求后,能够查询相关的金融产品数据以及计算过程中产生的日志等,性能监控是指能够基于监控设置参数,对回测服务系统的系统性能(例如,当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长等)进行监测,异常报警是指当检测出性能异常时(例如,回测服务系统的各线程运行状态异常时),发出报警信号,以提醒相关人员进行调整。
步骤S104,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据。
在本发明实施例中,可以根据HTTP触发器接收的参数(即回测计算请求中的请求参数,从已完成清洗的金融产品数据(即产品数据表)中获取相对应数据(即与回测计算请求对应的金融产品数据)。
步骤S106,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告。
在本发明实施例中,基于请求参数以及提取的与回测计算请求对应的金融产品数据,进行实时回测计算,得到回测报告,其中,回测报告包括多种回测指标,例如,基金组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率,基金组合和沪深300指数对应近一年收益率、近三个月收益率、近一个月度收益率等。
步骤S108,将回测报告发送至目标终端。
可选的,将回测报告发送至目标终端的步骤,包括:将至少一个回测指标组装成HTTP返回包;将HTTP返回包发送给目标终端。
在本发明实施例中,完成对应指标计算后,可以将多个回测指标组装为HTTP返回信息(即HTTP返回包),将该信息发送给用户(即将HTTP返回包发送给目标终端)。
可选的,在将回测报告发送至目标终端之后,回测方法还包括:将回测报告展示在目标终端的金融产品组合回测页面上。
在本发明实施例中,当用户终端接收到回测报告后,终端上的金融产品组合回测页面可以使用绘制语言(例如,VUE语言),在页面上展示夏普比率、最大回撤等指标数据,以及绘制基金组合和沪深300指数近一年收益率、近三个月收益率、近一个月度收益率曲线等。
可选的,回测指标包括下述至少之一:金融产品组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率、前三个月收益率、前一个月度收益率。
本发明实施例,提供了一种基于无服务器服务的金融产品在线回测方案,通过引入于无服务器服务函数来解决高并发以及传统环境计算能力不足的问题,通过将多重数据清洗后以表格形式保存为本地文件,能够提高数据获取吞吐量,结合在线回测各项指标计算,使用户能够了解自己构建的金融产品组合在各个维度的表现,对于金融产品组合构建的有效性和收益提升都具有很高的价值。
实施例二
图2是根据本发明实施例的一种可选的基于无服务器服务函数计算的金融产品组合在线回测方法的示意图,如图2所示,通过对金融产品原始数据进行数据清洗,得到清洗后的数据,之后通过无服务器服务函数计算(例如,FaaS函数计算)定时触发器,将清洗后的数据以表格形式存储,得到金融产品数据表格,并将该表格提供给无服务器服务函数计算,当用户在金融产品组合回测页面发起对金融产品组合在线回测计算的请求,无服务器服务函数计算节点通过HTTP触发器接收用户请求,无服务器服务函数计算有默认固定数量的实例容器来满足并发需求,若此时有大量的并发流量流入,函数线程数(包括函数线程1、函数线程2、…函数线程N)达到预设的阈值后(即线程达到上限),无服务器服务函数计算将通过横向扩容,拉起实例容器(即构建回测服务实例)去承载更多的并发请求。
回测服务函数(即无服务器服务函数)根据HTTP触发器接收的参数,从已完成清洗的金融产品数据表格中获取相对应数据,来进行实时回测计算,回测指标包括但不限于:基金组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率,基金组合和沪深300指数对应近一年收益率、近三个月收益率、近一个月度收益率等。
在完成对应指标计算,回测服务函数组装HTTP返回信息,通过回测服务,将HTTP返回信息回测展示给用户,即金融产品组合回测页面可以使用绘制语言编制,在页面上展示夏普比率、最大回撤等指标数据,以及绘制基金组合和沪深300指数近一年收益率、近三个月收益率、近一个月度收益率曲线等。
本发明实施例中的在线回测方法包括以下组成部分:
(1)进行基金基础数据清洗,
金融产品数据在格式和内容方面,会与元数据的描述一致,但在回测计算之前,需要做统一的内容格式处理,可以处理时间、日期、数值、半全角等显示格式不一致问题,剔除内容中不该存在的字符或内容与该字段应有内容不符的数据。
对于有数据缺失的数据,则填充缺失字段内容,可以从其他渠道取数补全或通过其他字段计算获取,若无法解决,去除该字段,并在结果中标明;对格式内容进行清洗。进行逻辑错误清洗,包括同一只基金相同发布日期数据的去重,基金数据字段明显存在不合理值的处理等。
(2)设置基于无服务器服务函数计算的定时触发器,
为摆脱在线回测时,从关系型数据获取基金基础数据耗时长的束缚,可以以定时触发器的形式,将清洗完毕的基金基础数据,以表格形式存储,已达到后续访问更快,吞吐量更强的优势,有利于后续更为便捷、快速的提供数据支撑。
(3)基于无服务器服务函数计算实现基金组合回测,以HTTP触发器形式为用户提供接口调用。
可以借助无服务器服务函数(例如,FaaS函数)计算的云原生、无运维的特点,以及高弹性和高可用性特点,解决传统服务器搭建系统用于高并发场景下只能通过增加机器数量的问题,对于流量突发和在流量潮汐的场景下,无服务器服务函数计算能够通过预留实例模式和按量消除冷启动特性,快速拉起实例,在单实例多并发模式下,通过横向扩容,能够在面对流量洪峰时,承载更多的并发请求,并且其构建稳定、具备高可用性的接口,同时无服务器服务函数计算能够提供日志查询、性能监控、异常报警等一系列配套设施,能够降低运维成本。
本发明实施例,通过引入无服务器服务(例如,FaaS函数),能够解决在对金融产品进行回测计算时对基础设施与资源依赖大的问题,并且基于无服务器服务的实时弹性伸缩特性,对高并发有着良好的承接,能够用于构建高性能、高可用的回测数据提供平台,而且,将数据检索以及数据清洗的任务提前进行处理,能够缩短在线回测耗时,最后在回测页面展示最终的回测指标,使用户更加了解自己构建的金融组合在各个维度的表现,对于金融组合构建的有效性和收益提升都有很好的价值。
实施例三
本实施例中提供的一种金融产品的回测装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图3是根据本发明实施例的一种可选的金融产品的回测装置的示意图,如图3所示,该回测装置可以包括:接收单元30,提取单元32,计算单元34,发送单元36,其中,
接收单元30,用于接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,预设阈值与处理线程的线程数量对应;
提取单元32,用于基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据;
计算单元34,用于基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告;
发送单元36,用于将回测报告发送至目标终端。
上述回测装置,可以通过接收单元30接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,通过提取单元32基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据,通过计算单元34基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告,通过发送单元36将回测报告发送至目标终端。本实施例,引入了无服务器服务,在有大量并发回测计算请求发起时,通过增加回测服务实例承载更多的并发请求,不仅能够解决高并发以及传统环境计算能力不足的问题,而且无需增加机器,降低了运行成本,进而解决了相关技术中只能通过增加机器数量支持高并发的回测计算场景,导致运行成本增加的技术问题。
可选的,回测装置还包括:第一采集模块,用于在接收多个回测计算请求之前,采集金融产品在历史时间段中的交易数据,得到金融产品数据;第一处理模块,用于对金融产品数据进行预处理,得到处理后的金融产品数据;第一存储模块,用于若触发数据更新节点,则将金融产品数据以表格形式进行存储,得到产品数据表。
可选的,第一处理模块包括:第一补全子模块,用于若金融产品数据中的字段存在缺失,则对字段进行补全;第一去除子模块,用于若无法补全,则去除存在缺失的字段,并将缺失信息记录至回测报告中。
可选的,第一处理模块还包括:第一处理子模块,用于对金融产品数据进行格式处理、数据处理和逻辑处理,其中,格式处理为进行下述至少之一的处理:时间格式处理、日期格式处理、数值格式处理、半全角格式处理;数据处理为去除金融产品数据的字段中的错误字符以及去除与字段内容无关联关系的字符;逻辑处理为去除某一时间段内的重复数据。
可选的,接收单元包括:第一获取模块,用于响应于请求触发信号,调用请求接口,以获取目标终端的回测计算请求。
可选的,接收单元包括:第一增加模块,用于若回测计算请求的数量大于回测服务系统的函数线程的数量,则对回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过实例容器增加回测服务实例。
可选的,回测装置还包括:第一发送模块,用于在接收多个回测计算请求之后,接收目标终端的日志查询请求,并将日志查询结果发送给目标终端;第一监控模块,用于基于监控设置参数,对回测服务系统的系统性能进行监测,其中,系统性能包括:当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长;和/或,第一检测模块,用于检测回测服务系统的各线程运行状态,若线程运行状态为异常状态,发出报警信号。
可选的,发送单元包括:第一组装模块,用于将至少一个回测指标组装成HTTP返回包;第二发送模块,用于将HTTP返回包发送给目标终端。
可选的,回测装置还包括:第一展示模块,用于在将回测报告发送至目标终端之后,将回测报告展示在目标终端的金融产品组合回测页面上。
可选的,回测指标包括下述至少之一:金融产品组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率、前三个月收益率、前一个月度收益率。
上述的回测装置还可以包括处理器和存储器,上述接收单元30,提取单元32,计算单元34,发送单元36等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数将回测报告发送至目标终端。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收多个回测计算请求,若回测计算请求的数量大于预设阈值,则增加回测服务实例,基于回测计算请求中的请求参数,从产品数据表中提取与回测计算请求对应的金融产品数据,基于请求参数与金融产品数据,采用回测服务实例计算至少一个回测指标,得到回测报告,将回测报告发送至目标终端。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的金融产品的回测方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的金融产品的回测方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种金融产品的回测方法,其特征在于,包括:
接收多个回测计算请求,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,所述回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,所述预设阈值与处理线程的线程数量对应;
基于所述回测计算请求中的请求参数,从产品数据表中提取与所述回测计算请求对应的金融产品数据;
基于所述请求参数与所述金融产品数据,采用所述回测服务实例计算至少一个回测指标,得到回测报告;
将所述回测报告发送至目标终端。
2.根据权利要求1所述的回测方法,其特征在于,在接收多个回测计算请求之前,所述回测方法还包括:
采集金融产品在历史时间段中的交易数据,得到所述金融产品数据;
对所述金融产品数据进行预处理,得到处理后的金融产品数据;
若触发数据更新节点,则将所述金融产品数据以表格形式进行存储,得到所述产品数据表。
3.根据权利要求2所述的回测方法,其特征在于,对所述金融产品数据进行预处理,得到处理后的金融产品数据的步骤,包括:
若所述金融产品数据中的字段存在缺失,则对所述字段进行补全;
若无法补全,则去除存在缺失的所述字段,并将缺失信息记录至所述回测报告中。
4.根据权利要求2所述的回测方法,其特征在于,对所述金融产品数据进行预处理,得到处理后的金融产品数据的步骤,还包括:
对所述金融产品数据进行格式处理、数据处理和逻辑处理,其中,所述格式处理为进行下述至少之一的处理:时间格式处理、日期格式处理、数值格式处理、半全角格式处理;所述数据处理为去除所述金融产品数据的字段中的错误字符以及去除与字段内容无关联关系的字符;所述逻辑处理为去除某一时间段内的重复数据。
5.根据权利要求1所述的回测方法,其特征在于,接收多个回测计算请求的步骤,包括:
响应于请求触发信号,调用请求接口,以获取目标终端的回测计算请求。
6.根据权利要求1所述的回测方法,其特征在于,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例的步骤,包括:
若所述回测计算请求的数量大于回测服务系统的函数线程的数量,则对所述回测服务系统的云函数计算模式提供扩容功能,设置实例容器,通过所述实例容器增加所述回测服务实例。
7.根据权利要求1所述的回测方法,其特征在于,在接收多个回测计算请求之后,所述回测方法还包括:
接收目标终端的日志查询请求,并将日志查询结果发送给目标终端;
基于监控设置参数,对回测服务系统的系统性能进行监测,其中,所述系统性能包括:当前运行的线程的数量、当前运行的回测服务实例的数量、系统与终端的通讯响应时长;和/或,
检测所述回测服务系统的各线程运行状态,若所述线程运行状态为异常状态,发出报警信号。
8.根据权利要求1所述的回测方法,其特征在于,将所述回测报告发送至目标终端的步骤,包括:
将所述至少一个回测指标组装成HTTP返回包;
将所述HTTP返回包发送给目标终端。
9.根据权利要求1所述的回测方法,其特征在于,在将所述回测报告发送至目标终端之后,所述回测方法还包括:
将所述回测报告展示在目标终端的金融产品组合回测页面上。
10.根据权利要求1所述的回测方法,其特征在于,所述回测指标包括下述至少之一:金融产品组合夏普比率、阿尔法系数、贝塔系数、最大回撤、信息比率、前三个月收益率、前一个月度收益率。
11.一种金融产品的回测装置,其特征在于,包括:
接收单元,用于接收多个回测计算请求,若所述回测计算请求的数量大于预设阈值,则增加回测服务实例,其中,所述回测计算请求用于基于设定的金融产品指标组合,对历史时间段中的真实产品行情进行分析,以预估金融产品在未来某一时间段的交易数据,所述预设阈值与处理线程的线程数量对应;
提取单元,用于基于所述回测计算请求中的请求参数,从产品数据表中提取与所述回测计算请求对应的金融产品数据;
计算单元,用于基于所述请求参数与所述金融产品数据,采用所述回测服务实例计算至少一个回测指标,得到回测报告;
发送单元,用于将所述回测报告发送至目标终端。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至10中任意一项所述的金融产品的回测方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至10中任意一项所述的金融产品的回测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111137444.6A CN113962806A (zh) | 2021-09-27 | 2021-09-27 | 金融产品的回测方法及其回测装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111137444.6A CN113962806A (zh) | 2021-09-27 | 2021-09-27 | 金融产品的回测方法及其回测装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113962806A true CN113962806A (zh) | 2022-01-21 |
Family
ID=79462384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111137444.6A Pending CN113962806A (zh) | 2021-09-27 | 2021-09-27 | 金融产品的回测方法及其回测装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113962806A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723566A (zh) * | 2022-06-10 | 2022-07-08 | 高盈国际创新科技(深圳)有限公司 | 金融交易数据处理方法及系统 |
CN114844843A (zh) * | 2022-03-24 | 2022-08-02 | 清华大学 | 应用实例数量的调整方法及装置 |
-
2021
- 2021-09-27 CN CN202111137444.6A patent/CN113962806A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844843A (zh) * | 2022-03-24 | 2022-08-02 | 清华大学 | 应用实例数量的调整方法及装置 |
CN114723566A (zh) * | 2022-06-10 | 2022-07-08 | 高盈国际创新科技(深圳)有限公司 | 金融交易数据处理方法及系统 |
CN114723566B (zh) * | 2022-06-10 | 2022-09-02 | 高盈国际创新科技(深圳)有限公司 | 金融交易数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537544A (zh) | 一种交易系统实时监控方法及其监控系统 | |
CN107810500A (zh) | 数据质量分析 | |
CN110737591B (zh) | 网页性能评估方法、装置、服务器及存储介质 | |
CN113962806A (zh) | 金融产品的回测方法及其回测装置、电子设备 | |
CN108446210A (zh) | 系统性能的度量方法、存储介质和服务器 | |
CN110688106A (zh) | 基于可视化配置的量化交易策略编写方法及装置 | |
US20200074509A1 (en) | Business data promotion method, device, terminal and computer-readable storage medium | |
CN111210323A (zh) | 一种企业税务风险监控方法及系统 | |
CN111062799A (zh) | 家庭客户的管理方法、装置、电子设备及存储介质 | |
CN111127099A (zh) | 一种基于大数据的电商用户分析系统及其分析方法 | |
CN115829714A (zh) | 一种理财产品数据动态监测的方法及系统 | |
CN109711849B (zh) | 以太坊地址画像生成方法、装置、电子设备及存储介质 | |
CN111062602A (zh) | 企业信用风险评估的方法、装置及存储介质 | |
CN106919609B (zh) | 产品信息推送方法和装置 | |
KR101710649B1 (ko) | 네트워크 자동 추론을 통한 기업 가치 측정 서비스 시스템 | |
CN107844874A (zh) | 企业营运问题分析系统及其方法 | |
CN111046281A (zh) | 热点话题的构建方法及装置 | |
CN116303741A (zh) | 数据展示方法、设备及存储介质 | |
CN110895757B (zh) | 一种作弊数据识别方法、装置、设备及系统 | |
CN114429283A (zh) | 风险标签处理方法、装置、风控方法、设备及存储介质 | |
CN112799905A (zh) | 一种软件运行的监测方法、系统及相关装置 | |
CN111552814A (zh) | 基于考核指标图谱的考核方案生成方法及装置 | |
CN117573687B (zh) | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 | |
CN114036174B (zh) | 数据更新方法、装置、设备及存储介质 | |
CN114116781A (zh) | 一种资金账户收益分析的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |