您现在的位置:程序化交易>> 程序化交易>> 程序化老手>>正文内容

回测前确认你所使用的资料是可以信任的[程序化老手]

对于实际交易美国商品期货的朋友来说,其中一个很重要的课题是要找到正确的资料序列来作回测。因为在美国商品期货的历史裡面,最早的交易型态是由一堆交易员,在交易所裡面用人工喊价的方式来作价格的搓合的,那时候还没有电子型态的交易,所以没有电子盘的资料。所以对于历史比较悠久的商品来说,比较久远前的资料(以黄金为例,是约略在2002年以前)都是只有人工盘的资料。

 

 

后来等到约在2002年开始,美国交易所开始引进的电子搓合的交易方式,但是限制电子盘的交易时间只有在人工盘以外的时间才有,所以约略在2002年到2006年12月的这段时间,是属于美国时间8:20am-1:30pm採人工盘交易,其馀时间採电子盘交易的型态。

 

 

等到2006年12月开始,电子盘的交易时间延长到包含到人工盘的交易时间了。所以从这时候开始,电子盘的成交量开始大增,虽然人工盘的交易还是存在,但是大家渐渐的把战场移转到了电子盘上面。

 

 

因为有这样的历史典故,所以美国期货商品的历史资料也有分为1.人工盘 2.电子盘的资料。

 

 

所以如果我们只用人工盘的资料来回测的话,虽然在2006年以前的资料很完整,但是在2006年以后的资料型态,其实跟现在市场的型态已经有很大的不同了(因为大家都跑来电子盘交易)。

 

 

而如果只用电子盘的资料来交易的话,那也只能适用于2006年12月以后的资料,这样对于回测的时间长度来说,实在是太短了。因为在2006年12月以前的资料,会发现每天中间空了很大一块(像黄色圆圈所示)。

 

 

那如果我们直接把电子盘和人工盘的资料拼在一起的话,是不是就可以代表完整的资料了呢?

 

 

其实这样做也不行,因为在8:30am-1:30pm的这段时间,虽然人工盘和电子盘同时交易,理论上两者的价格会相近(因为有人套利),但是实际上还是会有些许的差异。再加上如果我们的资料採用了back adjust的方式去调整的话,因为人工盘和电子盘每次换仓所调整的值,都会有一点点的差距。所以累积下来,就会发现如果直接把这两种资料拼在一起的话,会有K线连不起来的情形(蓝色圆圈所示)。

 


在Tradestation裡面,电子盘的资料就用@GC来表示(图片裡最上面那一列的资料序列),人工盘的资料就用 @GC.P表示(第二列的资料序列)。把人工盘和电子盘用暴力法拼凑起来的资料则是第三列的资料序列。最后下方把人工盘和电子盘巧妙的连结在一起,不要产生莫名其妙的跳空or K线的话,就用 @GC.C来表示(第四列的资料序列)。

 


所以像黄金这样状况的商品,还包含了白银,天然气,原油,黄豆,玉米,小麦,大SP500,大道琼,大Nasdaq等。在回测这些商品的时候,应该要用@GC.C , @CL.C , @SI.C, @S.C, @C.C, @W.C, @SP.C 这些符号才好。如果单纯只用@GC来回测的话(没有加上.C的话),会发现这个资料在2006年12月以前和以后的个性完全不一样。如果有人是用IB的历史资料,或是证券商的历史资料的话,则需要先确定他们的资料是属于哪一种。( www.cxh99.com )

 

 

 

但是至于e-mini S&P500的资料(),因为这个商品一开始就是直接用电子盘交易了,所以没有@ES.P和@ES.C的问题,直接用@ES来测试就可以了。

 


以前我念计算机概论的时候,老师讲电脑处理资料的特性是, Garbage In, Garbage Out。所以想要信任回测出来的绩效,请先确认你所使用的资料是可以信任的。谢谢。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198   点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容