程序化回测的误区:只测试1手

在程序化交易中,一个策略首先要经过历史测试,通过考察测试的结果来对这个策略做进一步的评估。在测试当中,有一些程序化交易新手可能会把手续费设置得偏低、不加滑点,或者直接用主力连续合约进行测试,这些都是刚开始学习程序化时比较容易犯的错误。还有一些程序化交易者,刚学习程序化的时候,在测试的时候,习惯每个品种只用1手去测试,笔者个人认为,这也是程序化交易中的一大误区。

我们知道,由于期货的价格会不断变化,同一个品种、不同价格,每一手所代表的价值量也不同。比如在2015年底的时候,螺纹钢主力合约曾经达到过1618的相对低价,近期,螺纹钢主力合约曾经达到过4016的相对高价,很明显,价格在1618时的1手螺纹钢和价格在4016时的1手螺纹钢,对应的价值量相差非常大,如果在1618的价格附近出现交易信号时交易1手,在4016的价格附近出现交易信号时也交易1手,带来的账户权益波动相差是非常大的。

在不同期货品种之间,比如每一手的保证金相对较低的玉米,当前主力合约的价格在1700元左右,如果按10%的保证金比例,每一手需要1700元的保证金。每一手的保证金相对较高的焦炭,近期主力合约曾经达到2500的相对高价,如果按10%的保证金比例,每一手需要25000元的保证金。很多程序化交易者做多品种组合交易,其中的一个目的是为了对冲风险,如果每个品种都只交易1手,不同价值量的品种之间是不能达到对冲的效果的。

按照同等的价值量计算每次开仓的手数,以此来初步测试某个策略,是相对比较合理的方式。

多品种组合交易时,按照等价值量计算开仓手数的资金曲线,比每个品种每次只开仓1手的资金曲线要明显平滑不少,因为各个品种之间能较好地形成组合、对冲的效果。对于单个品种而言,单个资金曲线的差异直观上看并不大,如果按照同等价值量计算开仓手数,在品种价格上涨时,手数会减少,在品种价格下跌时,手数会增加,因此品种价格波动相同的幅度时,两者的账户权益波动也是基本相同的。因此,笔者个人认为,按照同等的价值量计算每次开仓的手数,以此来初步测试某个策略,是相对比较合理的方式。

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线