中国期货市场量化交易(R与C++版)
上QQ阅读APP看书,第一时间看更新

1.5 未来展望

在写作本书的时候我主要交易的是商品趋势策略,商品日内策略也刚刚完成,目前正在研究其他的一些策略,这些策略留在以后有机会再写。

1.5.1 跨期、跨品种套利策略

跟趋势策略相对应的是跨期、跨品种的套利策略。所谓“套利”,并不是指赚取无风险的利润,而是指做多一个品种的同时做空另一个品种,然后通过赚取价差的变化来盈利。因此,这种策略跟趋势策略有相似的地方,只不过从预测单品种的趋势变成预测品种价差的趋势,从买卖期货变成买卖价差。大商所有专门的组合合约,但这里我们并没有交易那种合约,而是自己构造合约。一般原品种的流动性会比组合合约好很多。

构造价差合约的K线时也有需要注意的地方,比如两个合约的时间戳(time stamp)不一定完全对应,在计算价差时要先把时间对齐了才能计算。不同交易所的时间也不一样,因此跨品种的时候最好是同一个交易所的,当然跨期处理可以更容易一些。另外如果是合成5分钟K线,计算高低价格的时候,也需要从分笔数据的价差合约来计算,不能用已经合成的各个合约的5分钟数据相减计算,因为各自的最高价相减是没有什么意义的,跟价差的最高价没有关系。

构造好价差的5分钟K线后,还有一个需要注意的问题是价差可能是负数,负数不存在对数,没法计算对数收益,因此只能用实际价格的变化作为因变量。另外价差合约的成交量也需要处理,可以是两个合约成交量较少的那个,因为整体价差合约的流动性由较小的那个决定。另外价差合约的持仓量似乎很难定义,因此研究策略的时候可以忽略跟持仓量有关的指标。

跨期、跨品种套利的思路大致如此,本书不做深入展开,以后有机会再写。

1.5.2 商品市场中性策略

另外一种策略叫作商品市场中性策略,也有人称为宏观对冲策略。套利策略一般是买一个卖一个进行配对交易,而市场中性策略则只需要保持多空市值相等即可,然后每隔一段时间调整一次。这属于配置型策略,而不是择时策略。一般来说基于机器学习预测模型的策略都是择时策略,而这种配置型的策略由于时刻保持多空仓位平衡,比如多空各一个亿的合约价值,因此并不是择时的。

有一个可行的办法是选一些技术指标,然后每个技术指标都可以作为排序的依据,各个品种按强弱排序,强的一半做多,弱的一半做空。如果市场出现整体上涨或下跌,其实对组合是没有太大影响的,因此这也是“市场中性”一词的含义。然后再把各个因子得到的多空组合汇总起来,得到整体的组合。

另外一种方法也可以用回归的方法来做,此时因变量不再是某个品种自身的价格变化,而是该品种相对于市场整体的价格变化。至于市场整体的价格变化如何加权计算,即商品指数如何加权计算,也是一个复杂的问题。无论如何,相对于指数的价格变化,肯定一部分是正的,一部分是负的,只需每次做多正的做空负的即可。调仓频率可以比较低,比如一个星期乃至一个月调整一次,预测的频率也比较低,触发交易的阈值不必敏感。

国内一些基于基本面的商品私募基金就是这么做的,比如在2016年年底做多黑色系做空农产品,虽然农产品亏了一点钱,但黑色系的收入远远超过农产品亏的钱,总体而言表现也不错。

1.5.3 基于基本面数据的策略

之前的数据都是基于行情数据的,这对于比较短线的策略来说还是可以的,但对于持仓时间比较长,比如一个月以上的策略,或许就不大合适了。为此,可以考虑基于基本面数据的策略。

基本面数据的获得是一个问题。每个品种每个版块在网上都可以找到相关的基本面数据,但过于分散,可以借助万德等第三方平台。比如万德里面每个商品都有几百甚至几千个基本面指标,频率从日到年都有。考虑到国内商品上市时间很多都不长,用日频数据比较好,这样也有数百个指标。

然后可以构建简单的线性回归模型,利用这些因子来预测价格未来的变化,由于因子数目较多,可以运用lasso等稀疏模型来求解,筛选其中重要的因子。当然,最好有基本面方面的知识,防止选择很多意义不大但恰好很有预测力的因子,这是由于因子数目太多因此选择了噪音部分。

选择好基本面因子,之后的交易过程就跟基于5分钟K线的策略差不多了。对冲策略也可以用基本面因子来建模。

1.5.4 算法交易

算法交易是量化交易的另外一块内容,一般指把一个大单分拆下单从而减少交易成本。比如一个1万手的买单,由于市场上买一价挂单一般只有几百手,而且超出5档的挂单会非常稀薄,因此1万手一次性下单可能会把价格推到涨停,俗称“乌龙指”,产生巨大的买入成本,这是流动性风险。而如果把单子分拆得很细的话,比如每次只下1手,需要一万次,假设每1秒下一次,也需要近3个小时,可能价格变化也非常厉害了,因此这有价格波动的风险;那么,如何在流动性风险与价格波动之间实现平衡也是一个问题。另外,如果下单过于有规律,会被市场察觉,这会带来逆向选择的风险,总的来说整套体系也是挺复杂的。

一般衡量执行效果的指标有成交量加权平均价(Volume Weighted Average Price,VWAP),即这段时间交易1万手买单的平均价格跟这段时间市场的VWAP对比,如果低于VWAP则是比较好的。事实上,如果买入的时候一直是对手价抢单,成交量跟当前成交量相当,那么最终的平均价会比VWAP略高一些。但如果买入的时候一直挂单,虽然成交价格更优,但也存在不能成交的风险。因此,如何用挂单与抢单结合的方法来降低平均成交价,也是一门学问。

国外这方面技术在股票用得比较多,比如把要交易的量分到一天内的各个时段来成交,每分钟成交多少,每秒钟成交多少都有对应的任务,时间快到了就抢单,时间没到就挂单等待,然后挂单成交的概率也需要利用实际成交情况来估计。

一般规模比较大的私募需要这些方法,规模小的私募还是以预测模型为主。