【从零开始vnpy量化投资】十八. 自动换月与模拟主力连续合约
概述
期货合约与股票有一个比较明显的差异,就是期货合约是有交割时间的,大部分品种是每个月都有一个到期交割的合约,但不是每个合约都有相同的交易量。所以一般我们将同一个品种成交量最大的那个合约叫做主力合约,这类合约由于成交量比较大,使用市价下单的时候买卖价差就会比较小,这样成交的价格会更划算。如果是成交量非常小的月份,比如新产生的最远月的合约,可能一天成交就几百手,买卖挂单的价差会高达几十甚至几百点。
当主力合约交割日越来越近,大部分交易者会将持仓转移到下一个主力合约,对于量化交易的我们来说,这也是需要考虑的事情。如果无法完成自动换月的工作,就需要每隔一段时间人工去调整策略配置同时迁移仓位,这将是一个非常繁琐且容易出错的工作。对开发者而言,正是这类工作,才是值得去开发流程的目标,将人从重复且琐碎的工作中解放出来。
策略换月配置
之前我们编写了两类策略,一类是交易周期非常短的DualThrust策略,一类是交易周期较长的海龟策略。这两种策略的换月步骤也略有区别。下面我们将分别讲解如何将合约切换到下个月。
短期策略
这里的短期策略并不简单指交易周期短的策略,笔者想要定义的短期策略,主要的特征是策略数据文件cta_str