CTA策略因为对象是期货合约,因此,不可避免地会遇上迁月的问题。因此,做CTA策略回测往往有两种跑法,一种是用主力连续数据,一种是用全部合约数据。
一、合约迁月:问题和算法
1、主力合约
比如针对IC, 2017年5月6日 就有IC1705, IC1706,IC1709,IC1512四个合约,其中IC1705,其持仓量最大(1.8万手),我们往往把它做为IC的主力合约来看待。如果我们把IC每天的主力合约串起来,也就构成了时间序列的连续数据。
2、一个重要的问题:迁月如何处理?
当IC交易日向当月的第三周五(结算日为2017年5月19日)靠近时,比如,假定在2017年5月17日左右,这时可能会发生迁月,迁到IC1706。
这个期间,由IC1705和IC1706产生的价格跳跃,可以用“分红”复权的思路进行处理。这样,尽量避免简单的价格迁月跳跃。
3、迁月的算法
一般情况下,迁月是会进行类似的复权处理的。只不过,存在“向前”还是“向后”复权两种不同处理的方式。这里暂不详述。
我一般用这种复权方式:
即若IC1705由主力变非主力时价格3000点,而IC1706由非主力变主力价格3020点,即IC连续合约的价格是仍是3000点,即IC1706后面的价格要同比例(不是直接减,而是按比例折算)归一化到3000点开始,这种方式进行平滑处理。
4、主力合约数据:衍生的特质
通过以上的算法,我们就可以得到IC连续主力合约数据,这个数据并不是真实的某个合约的数据,更准确地说,是一种衍生的数据,专门为策略回测的便利进行”定制“的数据。
把主力合约数据用于策略回测的模式,可以叫主力连续模式。这是一种简化和近似的分析模式。
这种模式的优势在于,回测策略不需要专门考虑合约迁月的问题,比较简单,方便,另外,运行速度比较快,特别适合于CTA隔夜策略。
二、全部合约数据
这种情况是全合约模式:
即策略回测时,把全部合约放在策略中,模拟真实交易的情况,需要IC1705就用IC1705,价格也是真实的价格。
此外,在策略中需真实考虑迁月。
三、两种模式的区别、回测结果差异
1、两种模式的区别
由此可见,全合约模式和主力连续模式区别有:
(1)、全合约模式是在策略内考虑迁月问题,而主力连续模式是在策略外前置考虑。
(2)、全合约模式是更加仿真的状况,而主力连续模式是近似仿真的模式。
(3)、相比于主力连续模式,全合约模式逻辑更复杂、运算时间更长,但回测的结果更加真实;
(4)、全合约模式更适于回测日内模型,主力连续模式特别适合于隔夜策略。
问题是:这两者有多大的区别?会不会影响回测的真实性,精度如何?
2、回测的差异分析
我选取了一个CTA的日内策略,经分析,这个策略在两种模式下,其开仓和平仓时间、次数都是完全一样的,因此,完全隔离了信号带来的差异。
只是由于数据不同,导致了开仓价和平仓价在第一次迁月后就不一样。
1、IC和cu两个品种的分析
(1)对IC实际分析:
数据段:【2015年4月16日至2016年3月31日】 IC
主力合约模式:
2015 年 收益金额 : 1269172 交易次数: 322 平均单笔收益率:0.00204
2016 年 收益金额 : -188954 交易次数: 118 平均单笔收益率:-0.00128
全数据模式:
2015 年 收益金额 : 1286375 交易次数: 322 平均单笔收益率:0.00205
2016 年 收益金额 : -192062 交易次数: 118 平均单笔收益率:-0.00125
需要说明的是,由于2015年9月12日起,重新设置了冲击成本和交易费用(量级你懂的,日内策略不亏死才怪呢)。
(2) cu的分析
数据段:【2010年1月1日至2014年12月31日】 cu
全数据模式:
2010 年 收益金额 : 121399 交易次数: 79 平均单笔收益率:0.00092
2011 年 收益金额 : -21440 交易次数: 80 平均单笔收益率:-0.00012
2012 年 收益金额 : -53475 交易次数: 91 平均单笔收益率:-0.00033
2013 年 收益金额 : 86324 交易次数: 93 平均单笔收益率:0.00056
2014 年 收益金额 : -218825 交易次数: 447 平均单笔收益率:-0.00034
主力合约模式:
2010 年 收益金额 : 120829 交易次数: 79 平均单笔收益率:0.00092
2011 年 收益金额 : -21236 交易次数: 80 平均单笔收益率:-0.00012
2012 年 收益金额 : -53538 交易次数: 91 平均单笔收益率:-0.00033
2013 年 收益金额 : 86531 交易次数: 93 平均单笔收益率:0.00056
2014 年 收益金额 : -219262 交易次数: 447 平均单笔收益率:-0.00033
可见,总体上,如果时间不长,这种影响在1%以内的水平。如果是期间较长,总体偏差会更小。
结论:用主力合约来进行简化策略分析框架是可以接受的,基本不会影响策略的结果。
2、影响差异的因素
总体上,不同合约的价差、不同的时间段、不同的品种在以上两种模式应用中,都有可能有不同程度的影响。