当前位置: 首页 > 专利查询>中山大学专利>正文

一种面向微服务的金融回测容错系统及方法技术方案

技术编号:28501255 阅读:28 留言:0更新日期:2021-05-19 22:45
本发明专利技术提出一种面向微服务的金融回测容错系统及方法,涉及金融量化回测的技术领域,解决了当前金融回测出现错误时,仅以宏观的容器状态数据为判定标准,无法正确定位出错位置的问题,数据获取模块获取金融市场行情数据,数据库模块存储数据,回测模块运行回测任务,金融回测任务运行失败时容错模块采用宏观的容器状态信息和回测模块返回的错误代码相结合的办法,根据金融回测系统的数据链路来回推定位出错的位置,并输出错误恢复方法,并通过日志告警模块将容错模块不能恢复的金融回测任务运行错误信息录入日志,向管理人员发出告警通知,避免了多次无意义的重试,保证了金融回测容错系统的正确性。回测容错系统的正确性。回测容错系统的正确性。

【技术实现步骤摘要】
一种面向微服务的金融回测容错系统及方法


[0001]本专利技术涉及金融量化回测的
,更具体地,涉及一种面向微服务的金融回测容错系统及方法。

技术介绍

[0002]随着金融市场相关理论的不断完成,以及金融工程的发展初成体系,同时计算机技术得到了普及并飞速进步,大量利用计算机技术基于投资理论、统计学等设计的模型融入了金融投资市场。
[0003]金融量化是最近十年来在国际投资界兴起的一个新理念,发展势头迅猛,和基本面分析、技术面分析并称为三大主流方法,涉及数学、统计学、信息技术等诸多领域,运用多学科知识对投资全过程进行更好的管理。量化交易以数学模型为交易思维,以历史数据为基础,以数学建模、统计学分析、编程设计为工具,利用计算机技术从庞大的历史数据中海选出能带来超额收益的多种大概率获利事件以制定量化交易策略,而量化交易策略一般通过回测来确定策略的盈利能力。
[0004]回测在金融量化领域主要是指设定了某些股票指标组合后,基于历史已经发生过的真实行情数据,在历史上某一个时间点开始,严格按照设定的组合进行选股,并模拟真实金融市场交易的规则进行模型买入、模型卖出,得出一个时间段内的盈利率、最大回撤率等数据。
[0005]2018年11年06,中国专利(公开号:CN108765149A)中公开了一种基于集群的量化策略回测系统的回测方法,指出传统金融回测通常的流程是研究员将策略代码编写完毕后,通过本地服务器运行回测任务并等待结果输出,具有回测效率低的缺陷,该方案也解决了这个缺陷问题,但核心点集中在确保回测任务的结果,未考虑在回测任务出现错误时的应对,目前多数金融回测系统会将错误信息返回给用户或简单重新运行回测任务,实际上,在回测系统中,出错有多种原因,可能是程序错误故障,也可能是容器不可达故障,或者数据链路中其它模块出错导致的级联出错,然而不考虑错误的仔细分类,简单地以宏观的容器状态数据为判定标准,将不能正确判定出错位置,影响系统的正常运行,不符合金融回测高准确性,高可用性的要求。

技术实现思路

[0006]为解决当前金融回测出现错误时,仅以宏观的容器状态数据为判定标准,无法正确定位出错位置的问题,本专利技术提出一种面向微服务的金融回测容错系统及方法,保证在金融回测出现故障时可自动或半自动地处理出现的错误,稳定地为用户提供服务,保证高准确性和高可用性。
[0007]为了达到上述技术效果,本专利技术的技术方案如下:
[0008]一种面向微服务的金融回测容错系统,所述金融回测容错系统用于运行量化策略的金融回测任务,系统包括:
[0009]数据获取模块,用于从金融数据提供方获取金融市场行情数据,并写入数据库模块中;
[0010]数据库模块,对金融市场行情数据进行持久化存储;
[0011]回测模块,从数据库模块中获取金融市场行情数据,运行金融回测任务,并在金融回测任务运行失败时,根据不同的错误现象返回不同的错误代码;
[0012]容错模块,包括恢复判断单元及日志告警模块,用于实时监控采集数据获取模块、数据库模块及回测模块的容器状态信息,在金融回测任务运行失败时,根据数据获取模块、数据库模块及回测模块的容器状态信息,及回测模块返回的错误代码,分层次定义分类金融回测任务中出现的错误,形成错误处理列表,定位出错的位置,并输出错误恢复方法,通过恢复判断单元判断金融回测任务运行错误是否恢复,通过日志告警模块记录不能恢复的金融回测任务运行错误信息,并向管理人员发出金融回测任务运行失败告警通知日志告警模块,用于记录容错模块不能恢复的金融回测任务运行错误信息,并向管理人员发出任金融回测任务运行失败告警通知。
[0013]在本技术方案中,数据获取模块获取金融市场行情数据,数据库模块持久化存储金融市场行情数据,回测模块运行金融回测任务,各大模块之间通过数据链路连接,金融回测任务运行失败时,回测模块返回错误代码,运行成功时,回测模块返回“成功”英文代码;容错模块采用宏观的数据获取模块、数据库模块及回测模块的容器状态信息和回测模块返回的错误代码相结合的办法,根据金融回测系统的数据链路来简单回推定位真正出错的模块位置,并输出对应的错误恢复方法,恢复判断单元判断出预期之外的错误或不可由容错模块自动解决恢复的错误之后,管理员人工干预,日志告警模块将容错模块不能恢复的金融回测任务运行错误信息录入日志,向管理人员发出任金融回测任务运行失败告警通知,避免了多次无意义的重试,保证了金融回测容错系统的正确性,提高了系统稳定性和可靠性。
[0014]优选地,数据获取模块、数据库模块、回测模块及容错模块均独立运行各自的微服务,所述数据获取模块、数据库模块、回测模块及容错模块在同一台设备或不同设备上,互相之间保持兼容性且低耦合连接,保证系统整体稳定高效的运行机制。
[0015]优选地,在数据获取模块从金融数据提供方获取金融市场行情数据时,金融数据提供方根据金融市场行情数据的实际情况,限制数据获取模块每秒调用金融数据提供方接口的次数,数据获取模块也能自动调整每秒调用金融数据提供方接口的次数,保证数据日常更新正确性的同时,防止更新失败或者部分金融市场行情数据缺失,尽可能保证数据获取模块运行的正确性。
[0016]优选地,所述金融市场行情数据包括实时金融市场行情数据及历史金融市场行情数据,数据库模块包括Redis数据库、时间序列数据库及关系型数据库,数据库模块将实时金融市场行情数据持久化存储于Redis数据库中,将历史金融市场行情数据持久化存储于时间序列数据库中,或采用分区的方式存储于关系型数据库中。
[0017]优选地,金融回测任务运行出现的错误包括机器错误、程序性错误和不可达错误。
[0018]优选地,容错模块实时监控采集的数据获取模块、数据库模块及回测模块的容器状态信息包括CPU占用率、内存使用量、接收请求字节总数、网络吞吐量和文件系统使用情况。
[0019]优选地,所述容错模块还能定时检测主机的连通性以及数据库模块中数据库是否正常连接,并采用小周期随机抽取比对、大周期全部数据比对的方法比对数据库模块中的金融市场行情数据。
[0020]优选地,所述回测模块包括回测任务失败统计模块及回测结果返回模块;
[0021]回测任务失败统计模块用于接收金融回测任务运行结果,并传输至回测结果返回模块,当金融回测任务运行成功时,回测结果返回模块输出金融回测运行任务的回测结果,包括量化策略收益率及回撤率,然后结束金融回测任务;
[0022]当金融回测任务运行失败时,回测任务失败统计模块统计金融回测任务运行失败的次数,若金融回测任务运行失败的次数超过3次,金融回测任务有错,结束金融回测任务;否则,回测结果返回模块返回金融回测任务运行失败的结果,且回测模块返回错误代码至容错模块。
[0023]本专利技术还提出一种面向微服务的金融回测容错方法,所述方法基于所述的面向微服务的金融回测容错系统实现,至少包括:
[0024]S1.利用数据获取模块从金融数据提供方获取金融市场行情本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向微服务的金融回测容错系统,其特征在于,所述金融回测容错系统用于运行量化策略的金融回测任务,系统包括:数据获取模块,用于从金融数据提供方获取金融市场行情数据,并写入数据库模块中;数据库模块,对金融市场行情数据进行持久化存储;回测模块,从数据库模块中获取金融市场行情数据,运行金融回测任务,并在金融回测任务运行失败时,根据不同的错误现象返回不同的错误代码;容错模块,包括恢复判断单元及日志告警模块,用于实时监控采集数据获取模块、数据库模块及回测模块的容器状态信息,在金融回测任务运行失败时,根据数据获取模块、数据库模块及回测模块的容器状态信息,及回测模块返回的错误代码,分层次定义分类金融回测任务中出现的错误,形成错误处理列表,定位出错的位置,并输出错误恢复方法,通过恢复判断单元判断金融回测任务运行错误是否恢复,通过日志告警模块记录不能恢复的金融回测任务运行错误信息,并向管理人员发出金融回测任务运行失败告警通知日志告警模块,用于记录容错模块不能恢复的金融回测任务运行错误信息,并向管理人员发出任金融回测任务运行失败告警通知。2.根据权利要求1所述的面向微服务的金融回测系统,其特征在于,数据获取模块、数据库模块、回测模块及容错模块均独立运行各自的微服务,所述数据获取模块、数据库模块、回测模块及容错模块在同一台设备或不同设备上,互相之间保持兼容性且低耦合连接。3.根据权利要求2所述的面向微服务的金融回测容错系统,其特征在于,在数据获取模块从金融数据提供方获取金融市场行情数据时,金融数据提供方根据金融市场行情数据的实际情况,限制数据获取模块每秒调用金融数据提供方接口的次数,数据获取模块也能自动调整每秒调用金融数据提供方接口的次数。4.根据权利要求3所述的面向微服务的金融回测容错系统,其特征在于,所述金融市场行情数据包括实时金融市场行情数据及历史金融市场行情数据,数据库模块包括Redis数据库、时间序列数据库及关系型数据库,数据库模块将实时金融市场行情数据持久化存储于Redis数据库中,将历史金融市场行情数据持久化存储于时间序列数据库中,或采用分区的方式存储于关系型数据库中。5.根据权利要求4所述的面向微服务的金融回测容错系统,其特征在于,金融回测任务运行出现的错误包括机器错误、程序性错误和不可达错误。6.根据权利要求5所述的面向微服务的金融回测容错系统,其特征在于,容错模块实时监控采集的数据获取模块、数据库模块及回测模块的容器状态信息包括CPU占用率、内存...

【专利技术属性】
技术研发人员:张益强袁均良骆伟祺叶玮材
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1