【量化交易策略研究】均值回归入门
均值回归
均值回归,是在价格震荡中博取反弹的交易思路,它是基于Poterba和Summers(1987)首先提出的一种现象,如果要用一句话总结,那就是“跌下去的迟早要涨上来”。想理解均值回归,我们要先讲一下价格的波动性。
看过K线图的话,我们都知道股票的价格从来都不会平滑地上涨或下跌,而总是在移动的过程中上下波动,画出一些波浪。
如果市场满足Fama提出的市场有效性假说,那么这种波动现象应该是不存在的,然而现实中的市场并不是完全有效的。有许多研究尝试解释价格波动的现象,专家们普遍认为是诸如投资热点、对新闻的过度反应以及投资者的投机心态等非有效因素致使价格偏离了合理定价,从而造成了价格的波动。
均值回归的理论基于以下观测:价格的波动一般会以它的均线为中心。也就是说,当标的价格由于波动而偏离移动均线时,它将调整并重新归于均线。那么如果我们如果能捕捉偏离股价的回归,就可以从此获利。
举例来说,下图是一支股票的日线图,其中紫色曲线是20日均线,黄色箭头为在股价大幅度偏离时买入股票可以获得的收益。
根据均值回归的思路,我们认为一支股票的价格低于其均线越多的时候,它回归的可能性就越大。因此,我们可以以一支股票的价格与其均线的偏离程度作为评估标准,并选择买入该偏离度最高的股票。
那么偏离度该如何计算呢?如果用P代表现在的股价,用MA代表均线的价格,那么这个度量是 (MA-P)/MA。
好了,你也许有两个问题:
1. 为什么是均线减价格?
因为我们认为价格低于均线越多越值得买,因此用均线减去价格算出的差率越高我们认为越值得买。
2. 为什么要除以均线?
因为价格和均线的差的单位是元,需要除以均线才可以在股票之间相互对比。比如股票A的价格是1,均线是2,股票B的价格是99,均线是100;它们的均线和价格差都是1,但很明显按照我们的思路,股票A更值得买,这要除以均线才能体现出来。
那么策略如下:
· 先决定好参数:选定股票池,以N日移动均线作为比价基准,按每B天为周期调换仓位,以及仓内持有的股票数S。
· 在每个调仓日进行以下操作:
1. 计算池内所有股票价格与均线的偏离度;
自定义指标:(20日复权均价-后复权收盘价)/20日复权均价
2. 选取偏离度最高的S支股票并进行调仓;
按股票池为沪深a股(排除ST股),取20日均线,1日调仓,持股数为10只,回测时间从(07年1月7日-至今)回测结果如下图
按股票池为沪深a股(排除ST股),取20日均线,5日调仓,持股数为10只,回测时间从(07年1月7日-至今),回测结果如下图
我们发现只调整调仓周期,其他设置不变的情况下,1日调仓比5日调仓的收益表现更好,但总体都是能跑赢沪深300。
策略的难点
从上面的回测可以看出,以均值回归的思路做出的简单策略虽然收益可观,但实则回撤猛烈,很不稳定。通过分析不难看出,主要的问题就是,买在半山腰了。(如下图所示)
既然是博取反弹,那么难免会买在半山腰,比如在下图K线的情况中。假设我们在那根大阴棒的底部判断“哦,这个价格与均线偏差够大了”,然后买了进去,那就会接着吃跌。最后价格虽然又触碰到均线,但其实是价格在低位停留太久把均线拉了下来,实际上没有给我们什么收益。
在这里探讨的主要是给大家一个思路,有兴趣的同学,可以在这个基础上进一步的去研究。