上一章介绍了量化择时策略进行仓位决策的具体模型和方法。在本章中,作者将基于第7章所介绍的推进的择时策略,进一步构造合理的仓位决策,将买卖和仓位两者相结合,使之成为更加完善的量化交易策略。
首先论述的是第7章7.1节所述的均线趋势策略。推进分析的框架依然保留,额外要做的就是在推进分析下加入仓位决策的部分。
双均线趋势策略的具体定义依然和第4章4.2节中的保持一致。在交易决策的时点需要根据已知数据计算短期均线和长期均线两个值。当短期均线高于长期均线时,判断交易决策时刻的趋势为上涨趋势,认为后市会继续上涨,因此看多。而当短期均线低于长期均线时,判断交易决策时刻的趋势为下跌趋势,后市继续下跌,因此看空。具体可参见图4-5和相关叙述。
数据方面也和前面所选取的数据一致,交易资产是以中证指数公司编制的沪深300指数为标的物的沪深300股指期货主力合约,收集得到从2010年4月19日到2015年6月30日的日收盘价数据。
依照样本时间段内的期货市场情况,将股指期货的交易保证金设为15%。由于样本期到2015年6月30日结束,此时股指期货非套期保直持仓交易的新规还未发布,因此将保证金设为15%是一个与实际情况出入不大的处理。
大的推进分析框架也仍然维持了第7章7.1节中的设定。图11-1 展示了均线趋势策略的推进分析在这段时间的样本下是如何进行的。2010年4月19日到2010年12月308的日收盘价数据作为备用数据用来计算短期均线和长期均线,数据长度为172日,也就是说只要长期均线的长度在173日以下,备用数据都可以支持整个推进分析的计算顺利完成。需要注意的是,这部分数据的使用在图7-1中没有具体显示出来。
与第7章7.1节中研发过程不同的地方在于,在每一行的白色框优 化期计算中,不仅要计算出最优的均线组合,还要基于该均线组合所形成的买卖决策,计算得到相应的最优仓位设置,并将均线组合设置和仓位设置同时应用于对应的灰色框上。
基于这样的目的,我们在白色框的优化过程中,不再依照习惯将一次趋势变化视作一次交易,每-次由涨变跌或者由跌变涨时进行一定数额的买卖操作,而是将每一日都看作一次交易,在每一日都变更具体的仓位设置。
这一设定的主要原因在于,推进分析中灰色框的步长为一日,也就是检验期仓位变更的频率是一日一次,为了保证优化与检验两个步骤在仓位逻辑上的一致性,就依此设定优化期的仓位变更也是一日一次。
以第一行操作为例,第7章只是使用网格搜索优化出了盈利能力最好的长短均线组合,就直接将其用来计算2011年12月30日收盘时刻下的短期均线值和长期均线值。当短期均线值大于长期均线值时,就对2011年12月30日收盘到2012年1月4日收盘的走势看多;当短期均线值小于等于长期均线值时,就对2011年12月30日收盘到2012年1月4日收盘的走势看空。买卖交易的杠杆率设为100%不变。
而在本节中,由于在均线趋势策略中增加了仓位决策的部分,因此在优化搜索出盈利能力最好的长短均线组合之后,还需要再一次使用白色框的数据,优化出相应的仓位设置。
具体而言,针对2010年12月31日到2011年12月30日的日收盘数据,首先通过搜索不同均线组合的交易情况来寻找最优的均线趋势策略参数,这与第7章的做法是一样的。然后,将2010年12月31日到2011年12月30日设想为策略交易期,得到最优均线组合下每一日的持仓方向。这样,在白色框的时间段上,可以获得244个交易日的日度收益率。
我们将每一日都看作一次交易,套用第10章所述的仓位决策方法,基于这个长度为244的收益率序列,就可以得出策略在优化期内的最优仓位设置了。得到最优的长短均线组合以及仓位设置之后,再将这一套设置应用到对应的灰色框中,进行检验。
灰色框中,涨跌判断与第7章相同,基于优化得到的长短均线组合,直接将其用来计算2011年12月30日收盘时刻下的短期均线值和长期均线值。当短期均线值大于长期均线值时,就对2011年12月30日收盘到2012年1月4日收盘的走势看涨;当短期均线值小于等于长期均线值时,就对2011年12月30日收盘到2012年I月4日收盘的走势看跌。
2011年12月30日收盘到2012年1月4日收盘期间的仓位,则直接使用前面优化得到的仓位比例设置,看涨时仓位为多,看跌时仓位为空。也就是说,仓位的方向和仓位的比例,共同构成了整体的仓位决策结果。
在灰色框的建仓时点,也就是2011年12月30日收盘时,根据上一个交易日的仓位情况,计算其与目前的仓位决策的差值,就是当前所需要进行的具体交易数额。例如,检验期从2011年12月30日收盘时开始,那么之前的仓位为0,如果计算得到的仓位按比例计算为多10手,那么对应的交易操作就是买入10手。假设之前的仓位为9手,那交易操作则应该是买入1手,依此类推。
具体说明了推进分析第一行包括怎样的流程之后,我们再回到图11-1所示;的推进分析整体流程中。在进行完一行的操作之后, 将白色框和灰色框都分别向后推进一日,重复这种样本外检验的过程,直到最后一行为止。每一个灰色框也就是每一个交易日之间,都存在着重新计算仓位决策、进行买卖操作从而满足新的仓位要求的过程。图11-2给出了推进分析中每一行的流程示意, 以供参考。
最后一行中被检验的灰色框为2015年6月29日收盘到2015年6月30日收盘,也就是触及样本数据的最后一个数据。总的来看,在推进分析的过程中,模拟买卖的行为从2011年12月30日收盘时开始,到2015年6月30日收盘时结束,一共交易三年半的时间,也就是所有灰色框所覆盖的区间。
之前曾提到,在决定了最优的长短均线长度之后,不同的风险控制程度会导致不同的仓位设置结果。这里我们使用第10章10.2节介绍过的仓位决策方法,通过使用凯利公式与风险度量指标这两种方法得到各自的仓位设置结果,再取较小的那个结果作为最后的仓位决策。
f=min{凯利,f风险}
在凯利公式的设计中,其所控制的风险是一次性损失掉所有资金的可能性,这是一个相对较为固定的风险控制水平。由于涨跌判断已经固定,收益率序列也就固定了,因此最大化收益的目标也会使得凯利公式的仓位结果相对固定。在这种情况下,导致仓位结果不同的主要原因就是风险度量指标的设置及其阈值的选取。
首先对凯利公式所导出的仓位结果做统一观察。图11-3描述了基于推进分析中每一行的白色框数据,分别使用凯利公式计算得到的最优的仓位比例设置,即f创利。推进分析一共进行了845行,图11-3所展示的也就是一个长度为845的时间序列。而前文描述数据时已经说明了,股指期货的交易保证金设为15%,因此仓位比例的可选择范围就是0~6.6667。
可以看到,大部分情况下,凯利公式计算得出的仓位比例都达到了上限6.6667。在部分时期,仓位结果经历了快速下降然后又快速回升的过程,表现在图形中就是一个个的V字形态。凯利公式下的仓位比例在2012年10月12日达到最低,为3.0379。虽然是全局的低点,但是这一仓位设置为0 ~ 6.6667的取值范围仍然不低。
然后,我们进一步加入风险度量指标的限定。为了所举的案例简便起见,将风险度量指标设定为标准差,阈值水平则分别设为三个不同的数值,0.08、 0.04和0.02。在后面的内容中,作者将分别讨论这三种风险控制水平下均线趋势策略的仓位决策,以及相应的推进分析结果。