问答交流

【提交模拟与回测结果不一致】

由peng1960hong创建,最终由peng1960hong 被浏览 5 用户

一、关于策略回测与提交模拟方面的问题

策略回测与提交模拟重叠的时间段内交易的股票标的不一样,如何处理?

1 . 第一种情况

我在可视化编程状态下的线性或机器学习模型策略,或者纯代码状态下的策略,完成正常回测与参数优化,然后,在两个调仓周期之间的任何时间里提交模拟(提交日任意)该策略,实盘模拟给出交易信号,第二天开始交易,接着策略按照调仓周期的天数开始计时,到达下一个调仓周期则继续给出交易信号,在一段时间之后(N个调仓周期之后),再回测刚才的策略以策略之前的开始时间(与提交模拟的策略回测开始时间一样),结束时间到当下,在提交模拟期间的交易信号经常会不一样,当然,调仓日也是不一样的,这种情况可以理解;

  1. 第二种情况

我在可视化编程状态下的线性或机器学习模型策略,或者纯代码状态下的策略(平台提供的代码类策略模板),并完成正常回测与参数优化。然后,在调仓日(收盘后)提交模拟(调仓日提交),当天出现交易信号,第二天进行交易,第二天之后的某个时间(N个调仓日之后)再回测,然后去比较策略回测与提交模拟的股票标的交易信号还是不一样,但经常会前几个调仓日的交易信号是一样的,之后就不一样了,比较奇怪的是有的策略始终一样,但大多数不一样。

我仔细分析了这两种情况下的“股票标的”在调仓日及之后的表现,策略回测里罗列的“股票标的”大多优于提交模拟里的“股票标的”,实际上,这就是历史回测的相关结果与提交模拟的结果如何“对齐”与“衔接”的问题,尤其是相互之间有优劣的差异,这需要怎样处理比较利于实战?


二、知识库里面一个ETF深度学习策略模板存在bug

我用这个ETF策略模板生成了一个ETF的策略,并进行参数调优与回测,后来提交了模拟,并进行了实盘。

1. 表达式过滤条件

原来SQL表达式(bug)

m_avg (volume , 5) > 5000000 AND instrument LIKE '58%' OR instrument LIKE '56%' OR instrument LIKE '53%' OR instrument LIKE '52%' OR instrument LIKE '510%' OR instrument LIKE '512%' OR instrument LIKE '513%' OR instrument LIKE '515%' OR instrument LIKE '516%' OR instrument LIKE '517%' OR instrument LIKE '518%' OR instrument LIKE '15%'

这个过滤条件隐藏着一个bug,5日平均成交量>5000000这个条件只过滤了LIKE '58%'这部分ETF,其他ETF则没有被过滤。

我在实盘时,有一天实盘模拟给出了交易信号,选出了一只成交量“极少”的ETF,我以为所有ETF都经过了成交量过滤条件的过滤,完全没有去看前几日该ETF的成交量,第二天我在集合竞价阶段就挂涨停板以开盘价买这只ETF,结果直接拉到涨停开盘,我迅速撤单,失败,再撤单还是失败,于是,证监会侦测到交易异常(单个账户提交的交易量超过这只标的总成交量的1/3),上午10点证监会通过证券公司给我打电话,说我涉嫌操作股价,最后在电子承诺书上签字才平息了这次危险的操作,这只ETF涨停开盘,当天一路下跌,第二天,我将持仓拆分,逐笔卖出,最后以较大的亏损清仓成功。接下来,我仔细检查这个策略,发现过滤条件有bug,需要修改一下才可以保证对所有ETF完成成交量的过滤,这次教训深刻,希望其他小伙伴们不要再掉入这个陷阱,我大致看了看平台上存在的ETF类的策略,只要不是“ETF池”的策略大多有类似的过滤条件,而其他表达式基本都跟上面的一样,只有麻烦平台再检查一下,或者统一给一个修订说明,以免再次出现故障。

  1. 过滤条件修改

(m_avg (volume , 5) > 5000000) AND (instrument LIKE '58%' OR instrument LIKE '56%' OR instrument LIKE '53%' OR instrument LIKE '52%' OR instrument LIKE '510%' OR instrument LIKE '512%' OR instrument LIKE '513%' OR instrument LIKE '515%' OR instrument LIKE '516%' OR instrument LIKE '517%' OR instrument LIKE '518%' OR instrument LIKE '15%')

标签

策略回测交易信号模拟交易调仓周期
{link}