精选技术指标系列(2):HMA

发布时间:2016-10-19  |   来源: 川总写量化

作者:石川

摘要:HMA 在保证平滑的前提下将滞后性降到最低,是一个优秀的移动平均线算法。


1 引言


本期精选技术指标系列聊一聊赫尔移动平均 Hull Moving Average,简称 HMA。它是一种移动平均线。特别的,我们重点讲一讲它作为移动平均线的特点和优势。在作用方面,我们仅以两个非常简单的择时策略例子比较它和市场上最常用的简单移动平均线(Simple Moving Average,SMA)。我们并不对择时策略做过多的参数优化或分析。


2 公式与含义


赫尔移动平均是业界常用的一种高级移动平均算法,由 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 期数据的(滞后)趋势。


f1.png


接下来的步骤最为关键: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 的计算步骤如下:


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 都足够平滑。


f2.png


如果我们想让 SMA 达到相同的滞后效果,那就必须使用更短的窗口来计算 SMA(但更短的窗口会保留一定的高频误差)。下图为 52 周窗口计算的 HMA 和 8 周窗口计算的 SMA 的比较,可以看到在使用了更短的窗口之后,SMA 的滞后性大大减弱,效果和 HMA 相似,但同时 SMA 变的不够平滑。无论在牛熊市还是在震荡市,SMA 都比 HMA 展现出了更强的波动。


f3.png


3 基于 HMA 的简单择时


由于移动均线捕捉低频趋势,因此我们可以基于此构建一个简单的择时策略:


1. 当移动均线向上时,满仓


2. 当移动均线向下时,空仓。


假设不考虑任何交易成本,取 T = 52,我们比较 52 周时间窗口下用 HMA 和 SMA 两个移动均线算法得到的策略在上证指数的择时效果:


f4.png


图中,蓝色为 HMA 择时净值,而绿色为 SMA 择时净值。(为了突出它们的差距,我们特意没有将纵坐标对数化。)在过去 15 年里,HMA 简单择时策略可以取得 16.5% 的年化收益;它的最大回撤为 31.8%,平均回撤为 14.1%(由于仅仅是一个简单的例子,我们并没有特别优化参数或者使用更复杂的择时策略来控制回撤);另一方面,因为计算均值的时间窗口较长(52 期),SMA 产生了巨大的滞后性,导致基于它的择时策略效果很差,其年化收益率仅为 6.9%,最大回撤达到 58.9%,平均回撤 32.2%。

 

我们减少计算SMA的时间窗口来降低它的滞后性对择时的影响。以 8 周为窗口计算,得到的净值(绿色)和 52 期窗口的HMA净值(蓝色)比较如下:


f5.png


在选择了短的时间窗口后,SMA 的滞后性大大降低,与 HMA 近似,因此其净值大幅提高。但是,SMA 表现出了比 HMA 更大的波动性,因此使其整体效果依然不及 HMA。在回测的这段时间内,基于 8 周窗口的 SMA 择时策略取得 14.7% 的年化收益率,最大回撤和平均回撤分别为 32.9% 和 12.8%。


本文的目的是为了说明 HMA 的特点以及它背后的道理。因此我们不会继续深入探讨基于 HMA 的择时策略。一般来说,基于 HMA 择时会用到长短时间窗口的两个不同的 HMA 均线,通过它们的走势的一致或背离做择时,有兴趣的读者可以查阅相关文献。


4 结语


移动平均线是技术分析中一种分析股票价格时间序列的常用工具。它可以过滤掉高频噪声,反映出低频趋势,辅助投资。一个好的移动平均算法应该在保证均线平滑性的同时尽可能的减少移动平均造成的滞后性。这样才能帮助投资者对趋势的变化做出及时的反应。从这个意义上说,HMA 是一个优秀的技术指标。


无论是什么技术指标,若想通过它持续地赚到钱,必须充分理解该指标的原理和它们反映的本质、并坚持使用它。对于任何指标,必须判断它是否适合我们面对的市场。通过严格的历史回测和分析,可以计算出技术指标的有效性。此外,随着市场自身内在的变化,回测中有效的技术指标也许会在将来的某一天失效。因此我们应用动态和发展的眼光看问题,不断的检验指标是否持续有效。



免责声明:入市有风险,投资需谨慎。在任何情况下,本文的内容、信息及数据或所表述的意见并不构成对任何人的投资建议。在任何情况下,本文作者及所属机构不对任何人因使用本文的任何内容所引致的任何损失负任何责任。除特别说明外,文中图表均直接或间接来自于相应论文,仅为介绍之用,版权归原作者和期刊所有。