量信精选技术指标系列(2):HMA
引言
今天的量信精选技术指标系列聊一聊赫尔移动平均Hull Moving Average,简称HMA。它是一种移动平均线。特别的,我们重点讲一讲它作为移动平均线的特点和优势。在作用方面,我们仅以两个非常简单的择时策略例子比较它和市场上最常用的简单移动平均线(Simple Moving Average,SMA)。我们并不对择时策略做过多的参数优化或分析。
HMA的计算公式与含义
赫尔移动平均是业界常用的一种高级移动平均算法,由Alan Hull发明,故由此得名。移动平均线最令人诟病的地方是以滞后性换取平滑的低频趋势。至于移动平均为什么会产生滞后性,感兴趣的读者请参阅量信的文章《移动平均:你知道的和你不知道的》。而赫尔移动平均的特点是在保证平滑程度的同时将移动平均带来的滞后性最小化,可谓一举两得。
下面这个例子解释了HMA的原理。假设最近的T(=10)个观测数据为0到9。如果我们按照简单移动平均计算的话,在当前时点得到的均值为4.5,它和当前时点的实际值9相差甚远(滞后性很大)。换句话说,4.5根本无法反映近期的变化。因此,Hull的做法是将这10期的数据一分为二,考虑最近的T/2(=5)个数据,即5,6,7,8,9。它们的简单平均为7,反映最近这T/2期数据的(滞后)趋势。
接下来的步骤最为关键:Hull用最近T/2期的均值7减去整个T期的均值4.5,并把它们的差2.5再加到最近T/2期的均值7上,得到最终的数据9.5。由《移动平均:你知道的和你不知道的》中的分析可知,用整个T期观测值计算出来的均值4.5近似为T/2时点(而非T时点)附近的低频趋势;同理,用最近T/2期的观测值计算出来的均值7为0.75T时点附近的低频趋势。因此,它们的差值(在本例中是2.5)反映了低频趋势在T/2时点到0.75T时点之间的变化;最后假设该趋势的变化会延续,从而将它的值(2.5)与最近T/2期的均值(7)相加,便得到了T时刻的低频趋势9.5。
用白话来说,Hull通过将T时刻的数据分解为长短两个部分,给近期的数据更高的“权重”,捕捉近期低频趋势的变化,从而减小移动平均算法固有的滞后性。在实际应用中,为了更有效的捕捉趋势变化,在计算长短两个不同时期的均值时,Hull更以加权移动平均(Weighted Moving Average)代替了简单移动平均。这样的结果是对滞后性降低的非常明显,但却牺牲了部分平滑性。为此,在HMA的算法中,Hull采用了最后一步,即将上面步骤得到的均值做了最后一次加权移动平均。这是为了确保在实际观测数据没有剧烈变化时,低频趋势也足够平滑。考虑到这个最后的平滑过程不应该破坏低滞后性,Hull采用的平滑窗口是T的开方sqrt(T)。
综上所述,对于给定的窗口T,HMA的计算步骤如下:
HMA的计算过程 1 计算最近T/2期数据的加权移动平均(如果T/2不是整数则取整),记为MA1
2 计算整个T期数据的加权移动平均,记为MA2
3 令MA3 = (MA1 – MA2) + MA1
4 以MA3这个时间序列为对象,计算sqrt(T)期的加权移动平均(如果根号T不是整数则取整),所得的结果就是HMA
下图中的蓝色曲线为上证指数在过去15年内周频数据。令T=52,绿色曲线为52周HMA线,而红色曲线为52周的SMA线。可以看到,相比于SMA,HMA大大的降低了滞后性。同时,无论在趋势明显的牛熊周期还是在趋势微弱的震荡市中,HMA都足够平滑。
如果我们想让SMA达到相同的滞后效果,那就必须使用更短的窗口来计算SMA(但更短的窗口会保留一定的高频误差)。下图为52周窗口计算的HMA和8周窗口计算的SMA的比较,可以看到在使用了更短的窗口之后,SMA的滞后性大大减弱,效果和HMA相似,但同时SMA变的不够平滑。无论在牛熊市还是在震荡市,SMA逗逼HMA展现出了更强的波动。
基于HMA的简单择时效果
由于移动均线捕捉低频趋势,因此我们可以基于此构建一个简单的择时策略:
1 当移动均线向上时,满仓
2 当移动均线向下时,空仓。
假设不考虑任何交易成本,取T=52,我们比较52周时间窗口下用HMA和SMA两个移动均线算法得到的策略在上证指数的择时效果:
图中,蓝色为HMA择时净值,而绿色为SMA择时净值。(为了突出它们的差距,我们特意没有将纵坐标对数化。)在过去15年里,HMA简单择时策略可以取得16.5%的年化收益;它的最大回撤为31.8%,平均回撤为14.1%(由于仅仅是一个简单的例子,我们并没有特别优化参数或者使用更复杂的择时策略来控制回撤);另一方面,因为计算均值的时间窗口较长(52期),SMA产生了巨大的滞后性,导致基于它的择时策略效果很差,其年化收益率仅为6.9%,最大回撤达到58.9%,平均回撤32.2%。
我们减少计算SMA的时间窗口来降低它的滞后性对择时的影响。以8周为窗口计算,得到的净值(绿色)和52期窗口的HMA净值(蓝色)比较如下:
在选择了短的时间窗口后,SMA的滞后性大大降低,与HMA近似,因此其净值大幅提高。但是,SMA表现出了比HMA更大的波动性,因此使其整体效果依然不及HMA。在回测的这段时间内,基于8周窗口的SMA择时策略取得14.7%的年化收益率,最大回撤和平均回撤分别为32.9%和12.8%。
本文的目的是为了说明HMA的特点以及它背后的道理。因此我们不会继续深入探讨基于HMA的择时策略。一般来说,基于HMA择时会用到长短时间窗口的两个不同的HMA均线,通过它们的走势的一致或背离做择时,有兴趣的读者可以查阅相关文献。
结语
移动平均线是技术分析中一种分析股票价格时间序列的常用工具。它可以过滤掉高频噪声,反映出低频趋势,辅助投资。一个好的移动平均算法应该在保证均线平滑性的同时尽可能的减少移动平均造成的滞后性。这样才能帮助投资者对趋势的变化做出及时的反应。从这个意义上说,HMA是一个优秀的技术指标。
无论是什么技术指标,若想通过它持续地赚到钱,必须充分理解该指标的原理和它们反映的本质、并坚持使用它。对于任何指标,必须判断它是否适合我们面对的市场。通过严格的历史回测和分析,可以计算出技术指标的有效性。此外,随着市场自身内在的变化,回测中有效的技术指标也许会在将来的某一天失效。因此我们应用动态和发展的眼光看问题,不断的检验指标是否持续有效。