金融交易回测穿越检测方法、设备及存储介质与流程

摘要: 本技术涉及算法交易,尤其涉及一种金融交易回测穿越检测方法、设备及存储介质。背景技术:1、在量化投资与算法交易领域,回测是评估交易策略有效性的核心手段,数据穿越也...
金融交易回测穿越检测方法、设备及存储介质与流程

本技术涉及算法交易,尤其涉及一种金融交易回测穿越检测方法、设备及存储介质。

背景技术:

1、在量化投资与算法交易领域,回测是评估交易策略有效性的核心手段,数据穿越也就是未来信息泄露是回测过程中一类隐蔽性极强的缺陷,会造成回测收益虚高,易误导研发人员将存在时序漏洞的策略认定为具备实盘价值的有效策略。现有的主流回测工具仅聚焦策略逻辑仿真执行与基础收益绩效计算,缺少完备的自动化检测手段。当前识别回测数据穿越主要依靠研究人员人工审查代码、核对数据时序,仅能依靠夏普比率等少数绩效指标开展事后评估,不存在将多种多维统计检测与包含自研特色指标的专项检测相结合的自动化检测方案。人工审查不仅检测效率低下,还容易受主观经验、人为疏忽影响,难以实现多维度交叉校验,无法自动输出包含风险等级、问题定位信息的结构化报告,不能自动区分收益虚高是否来源于数据穿越,难以高效完成回测数据穿越风险的系统性识别。

技术实现思路

1、本技术的主要目的在于提供一种金融交易回测穿越检测方法、设备及存储介质,旨在解决现有回测缺乏自动检测数据穿越能力,无法准确识别风险的技术问题。

2、为实现上述目的,本技术提出一种金融交易回测穿越检测方法,所述金融交易回测穿越检测方法包括:

3、获取待检测策略回测产生的回测数据,所述回测数据包括原始信号序列、收益率序列、仓位序列以及逐笔交易记录;

4、基于所述回测数据,执行包括信号滞后检测、首尾回报检测、数据镜像检测、相似度检测和信息熵检测的多维统计检测,得到各项统计检测对应的统计检测结果;

5、对所述回测数据执行至少一项专项检测,计算对应的金融统计指标,生成各所述专项检测对应的专项检测结果,所述金融统计指标包括在市时间占比、修正索提诺比率、回报成本比率、尾部比率、异常胜率和异常负率;

6、将所述统计检测结果与所述专项检测结果进行交叉验证,生成结构化检测报告,所述结构化检测报告包括数据穿越风险等级和问题定位信息。

7、在一实施例中,所述基于所述回测数据,执行包括信号滞后检测、首尾回报检测、数据镜像检测、相似度检测和信息熵检测的多维统计检测的步骤包括:

8、基于所述原始信号序列和所述收益率序列,执行信号滞后检测,得到滞后检测结果;

9、基于所述收益率序列和逐笔交易记录,执行收尾回报检测,得到收尾回报检测结果;

10、基于所述原始信号序列和所述收益率序列,执行数据镜像检测,得到镜像检测结果;

11、基于所述原始信号序列和所述收益率序列,执行相似度检测,得到相似度检测结果;

12、基于所述仓位序列和所述收益率序列,执行信息熵检测,得到信息熵检测结果;

13、将所述滞后检测结果、所述收尾回报检测结果、所述镜像检测结果、所述相似度检测结果和所述信息熵检测结果确定为所述统计检测结果。

14、在一实施例中,所述基于所述原始信号序列和所述收益率序列,执行信号滞后检测,得到滞后检测结果的步骤包括:

15、读取所述原始信号序列、所述收益率序列以及第一预设阈值,其中所述原始信号序列为每个交易日的信号值,所述收益率序列为每个交易日的收益率;

16、基于所述原始信号序列和所述收益率序列,将每个交易日的所述信号值与对应交易日的收益率相乘后累加求和,得到原始信号对应的第一总收益;

17、基于所述原始信号序列,构造滞后信号序列,其中所述滞后信号序列中除第一个位置取值为零以外,其他位置取值为所述原始信号序列中前一位置的取值;

18、根据所述滞后信号序列以及所述收益率序列计算滞后信号对应的第二总收益;

19、将所述第一总收益与所述第二总收益之间的差值除以所述第一总收益的绝对值,得到信号滞后怀疑得分;

20、若信号滞后怀疑得分大于所述第一预设阈值,且所述第二总收益小于所述第一总收益与预设衰减系数的乘积,判定所述待检测策略存在数据穿越嫌疑,生成嫌疑标记;

21、将所述信号滞后怀疑得分和所述嫌疑标记作为所述滞后检测结果。

22、在一实施例中,所述基于所述收益率序列和逐笔交易记录,执行收尾回报检测,得到收尾回报检测结果的步骤包括:

23、读取所述逐笔交易记录,从所述逐笔交易记录中提取全部交易对应的首日回报序列以及尾日回报序列,其中所述首日回报序列为每笔交易第一个交易日的收益率,所述尾日回报序列为每笔交易最后一个交易日的收益率;

24、从所述收益率序列中剔除所述首日回报序列和所述尾日回报序列,将剩余交易日的收益率汇集形成正常回报序列;

25、分别计算所述首日回报序列的第一均值和第一方差、所述尾日回报序列的第二均值和第二方差、以及所述正常回报序列的第三均值和第三方差;

26、将所述首日回报序列作为待检验样本、所述正常回报序列作为对照样本,基于所述第一均值、所述第一方差、所述第三均值和所述第三方差,执行双样本均值差异检验,得到首日检验统计量和对应的第一概率值;

27、将所述尾日回报序列作为待检验样本,所述正常回报序列作为对照样本,基于所述第二均值、所述第二方差、所述第三均值和所述第三方差,执行双样本均值差异检验,得到尾日检验统计量和对应的第二概率值;

28、确定疑似穿越天数,所述疑似穿越天数为所述第二均值减去所述第三均值的差值除以所述第三均值后的平方值;

29、基于所述第一概率值和所述第二概率值,通过预先设置的概率值与怀疑等级之间的映射关系,确定对应的风险等级;

30、将所述疑似穿越天数和所述风险等级作为所述收尾回报检测结果。

31、在一实施例中,所述基于所述原始信号序列和所述收益率序列,执行数据镜像检测,得到镜像检测结果的步骤包括:

32、基于所述原始信号序列和所述收益率序列,执行所述待检测策略的回测运算,得到所述待检测策略在原始数据上的累积收益值;

33、对所述收益率序列中的每个收益率取相反数,生成镜像收益率序列;

34、计算所述待检测策略对应的镜像收益边界,所述镜像收益边界值为所述累积收益值的相反数;

35、基于所述原始信号序列和所述镜像收益率序列,执行所述待检测策略的回测运算,得到所述待检测策略在镜像数据上的实际收益值;

36、基于所述镜像收益边界和所述实际收益值,得到所述待检测策略的策略偏离度指标,所述策略偏离度指标为每个交易日的镜像收益边界减去实际收益值后的差值除以镜像收益边界的绝对值,并对所有交易日求和后除以交易日总数;

37、若所述策略偏离度指标大于预设第二阈值,判定所述待检测策略存在数据穿越嫌疑,生成嫌疑标记;

38、将所述策略偏离度指标和所述嫌疑标记作为所述镜像检测结果。

39、在一实施例中,所述基于所述原始信号序列和所述收益率序列,执行相似度检测,得到相似度检测结果的步骤包括:

40、获取相似行情组数和噪声水平;

41、对于每一组相似行情序列,在所述收益率序列的每个收益率值上叠加随机噪声,生成对应的相似行情收益率序列,所述随机噪声服从均值为0、方差为所述噪声水平的平方的正态分布;

42、分别在每组相似行情收益率序列上运行待检测策略,计算各组所述相似行情序列的总收益;

43、计算各组总收益的均值和标准差,并基于所述总收益的均值和标准差,计算对应的变异系数,所述变异系数为所有组总收益的标准差除以所有组总收益的均值的绝对值;

44、若所述变异系数大于第三预设阈值,判定所述待检测策略存在数据穿越嫌疑,生成嫌疑标记;

45、将所述变异系数和所述嫌疑标记作为所述相似度检测结果。

46、在一实施例中,所述基于所述仓位序列和所述收益率序列,执行信息熵检测,得到信息熵检测结果的步骤包括:

47、依据所述仓位序列,拆分所述收益率序列,得到有信号条件下的有信号收益序列、无信号条件下的无信号收益序列;

48、分别对所述有信号收益序列、所述无信号收益序列执行分箱统计处理,得到有信号频率分布和无信号频率分布;

49、对所述有信号频率分布中每个区间的占比乘以对应仓位权重后,计算有信号条件下的加权信息熵,以及对所述无信号频率分布中每个区间的占比乘以对应仓位权重后,计算无信号条件下的加权信息熵,并将所述有信号条件下的加权信息熵除以所述无信号信息熵,得到信息熵比率;

50、若所述信息熵比率小于第四预设阈值,判定所述待检测策略存在数据穿越嫌疑,生成嫌疑标记;

51、将所述信息熵比率和所述嫌疑标记作为所述信息熵检测结果。

52、在一实施例中,所述对所述回测数据执行至少一项专项检测,计算对应的金融统计指标,生成各所述专项检测对应的专项检测结果的步骤包括:

53、遍历所述仓位序列,统计仓位值不为零的交易日数量,除以总交易日数量,得到在市时间占比;

54、从所述收益率序列中提取负收益序列,并计算所述负收益序列的标准差,得到下行偏差;

55、获取策略年化收益和无风险利率,将所述策略年化收益减去所述无风险利率得到超额收益,并将所述超额收益除以所述下行偏差的两倍,并对所得商值乘以年化调整因子,得到所述修正索提诺比率;

56、从所述逐笔交易记录中提取所有盈利交易的盈利收益序列和所有亏损交易的亏损收益序列,以及提取总交易笔数和盈利笔数;

57、根据所述盈利收益序列、所述亏损收益序列、所述总交易笔数和所述盈利笔数,分别统计所有盈利交易的收益总和、所有亏损交易的亏损总和的绝对值、盈利交易平均收益和亏损交易平均亏损的绝对值;

58、将所述盈利笔数除以所述总交易笔数,得到胜率,以及将收益总和除以所述亏损总和的绝对值,得到收益风险因子,以及将所述盈利交易平均收益除以亏损交易平均亏损的绝对值,得到平均盈亏比;

59、将所述收益风险因子、所述胜率以及所述平均盈亏比相乘,得到所述回报成本比率;

60、将所述收益率序列按升序排列,提取位于上侧第一预设分位以上的收益率计算均值得到上尾均值,以及提取位于下侧第二预设分位以下的收益率计算均值得到下尾均值,并将所述上尾均值的绝对值除以所述下尾均值的绝对值,得到所述尾部比率;

61、将所述上尾均值除以所述盈利交易平均收益,得到所述异常胜率;

62、将所述下尾均值除以所述亏损交易平均亏损的绝对值,得到所述异常负率。

63、此外,为实现上述目的,本技术还提出一种金融交易回测穿越检测装置,所述金融交易回测穿越检测装置包括:

64、前置数据获取模块,用于获取待检测策略回测产生的回测数据,所述回测数据包括原始信号序列、收益率序列、仓位序列以及逐笔交易记录;

65、多维统计检测模块,用于基于所述回测数据,执行包括信号滞后检测、首尾回报检测、数据镜像检测、相似度检测和信息熵检测的多维统计检测,得到各项统计检测对应的统计检测结果;

66、专项检测模块,用于对所述回测数据执行至少一项专项检测,计算对应的金融统计指标,生成各所述专项检测对应的专项检测结果,所述金融统计指标包括在市时间占比、修正索提诺比率、回报成本比率、尾部比率、异常胜率和异常负率;

67、融合判定与结果生成模块,用于将所述统计检测结果与所述专项检测结果进行交叉验证,生成结构化检测报告,所述结构化检测报告包括数据穿越风险等级和问题定位信息。

68、此外,为实现上述目的,本技术还提出一种金融交易回测穿越检测设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的金融交易回测穿越检测方法的步骤。

69、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的金融交易回测穿越检测方法的步骤。

70、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的金融交易回测穿越检测方法的步骤。

71、本技术提出的一个或多个技术方案,至少具有以下技术效果:获取待检测策略回测产生的回测数据,回测数据包括原始信号序列、收益率序列、仓位序列以及逐笔交易记录。基于回测数据,执行包括信号滞后检测、首尾回报检测、数据镜像检测、相似度检测和信息熵检测的多维统计检测,从不同统计视角自动挖掘数据穿越带来的统计异常特征,得到各项统计检测对应的统计检测结果。同时,对回测数据执行至少一项专项检测,计算对应的金融统计指标,生成各专项检测对应的专项检测结果,避免仅凭统计检测单方面下结论,减少误判,金融统计指标包括在市时间占比、修正索提诺比率、回报成本比率、尾部比率、异常胜率和异常负率。最后,将统计检测结果与专项检测结果进行交叉验证,综合判定风险等级,输出包含定位信息的结构化检测报告,解决现有回测缺少自动检测数据穿越能力、风险识别不准确的技术问题,整体实现自动化、准确识别回测数据穿越风险。