精选技术指标系列(3):FRAMA

发布时间:2016-11-02  |   来源: 川总写量化

作者:石川

摘要:FRAMA 利用分形原理计算时间序列的统计相似性,从而确定平滑参数,是一个优秀的移动平均算法。


1 引言


本期精选技术指标系列的主角是分形自适应移动平均 FRactal Adaptive Moving Average,简称 FRAMA。它是一种高级移动均线算法。与上期的 HMA 一样,我们重点讲一讲 FRAMA 作为移动平均线的特点和优势;仅以两个非常简单的择时策略例子说明它在择时方面的作用,但并不对择时策略做过多的参数优化或分析。


2 含义和计算公式


顾名思义,分形自适应移动平均利用了投资品价格序列的分形特征(对于不熟悉分形的读者,请参考《分形市场假说》)。简单地说,FRAMA 是一个动态的指数移动平均。它的算法通过一个简单但有效的公式计算从当前时刻往前的长度为 2T 的时间窗口内时间序列的分形维数 D,并利用分形维数进一步求解指数移动平均的衰减参数 alpha。这使得 FRAMA 均线在保证移动平均线平滑的同时,大大降低了移动平均线的滞后性。(对于移动平均的详细介绍见《移动平均:你知道的与你不知道的》。)


分形维数描述时间序列的趋势,其取值在 1 到 2 之间,越大说明趋势越明显,越小说明时间序列越随机。通过连续的计算时间序列局部的分形维数,该算法根据时间序列自身的统计相似性特征,动态、自适应地计算平滑所用的参数。由于 alpha 是 D 的减函数,因此 D 越大(趋势越明显),alpha 越小,即指数平滑时对过去的数值衰减的越慢;D 越小(随机性越强),alpha 越大,即指数平滑时对过去的数值衰减的越快、对最新数据的变化越敏感。


具体的,对于当前时点 t 和给定的窗口 2T,该方法用到了三个时间窗口,即 t 到 t-T+1(记为窗口 W1,长度为 T),t-T 到 t-2T+1(记为窗口 W2,长度为 T),以及 t 到 t-2T+1(记为窗口 W,长度为 2T)。不难看出,W = W1 + W2。FRAMA 的计算过程如下:


1. 用窗口 W1 内的最高价和最低价计算 N1 = (最高价 – 最低价) / T;


2. 用窗口 W2 内的最高价和最低价计算 N2 = (最高价 – 最低价) / T;


3. 用窗口 T 内的最高价和最低价计算 N3 = (最高价 – 最低价) / (2T);


4. 计算分形维数 D = [log(N1+N2) – log(N3)] / log(2);


5. 计算指数移动平均的参数 alpha = exp(-4.6*(D-1)),并使其满足在 0.01 和 1 之间*;


* 随着 alpha 向 1 逼近,指数平滑的衰减加剧,造成移动平均的平滑度大幅下降。因此如果将 alpha 的上限定为 1 可能带来不必要的高频扰动。在实际使用时,可以根据希望达到的最低平滑度来调整 alpha 的上限。在本文后续例子和实验中,如无特殊声明,我们将 alpha 的上限设为 0.2。


6. 将 alpha 带入指数移动平均的公式求解 t 时刻的 FRAMA 移动平均值。



以上证指数周频交易数据为例,下图比较了计算窗口为 52 周时分形自适应移动平均和简单移动平均线(Simple Moving Average,或 SMA)的平滑效果。由于利用了时间序列自身的分形特征,FRAMA 均线对滞后性的提高非常明显,这意味着在价格趋势发生变化的时候它捕捉的更加及时。相比较而言,SMA 的滞后性相当显著。



f1.png


如果想让 SMA 达到相同的滞后效果,就必须使用更短的窗口来计算(但更短的窗口会保留一定的高频误差)。下图为 52 周窗口计算的 FRAMA 和 8 周窗口计算的 SMA 的比较。在使用了更短的窗口之后,SMA 的滞后性大大减弱,效果和 FRAMA 相似,但同时 SMA 变的不够平滑、展现出了比 FRAMA 更大的波动。可见,SMA 减小滞后性是以牺牲移动均线的平滑性为前提的。


f2.png


3 基于 FRAMA 的简单择时


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


当移动均线向上时,满仓

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


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


f3.png


图中,蓝色为 FRAMA 择时净值,而绿色为 SMA 择时净值。(为了突出它们的差距,我们特意没有将纵坐标对数化。)在过去 15 年里,FRAMA 简单择时策略可以取得 16.1% 的年化收益;它的最大回撤为 32.3%,平均回撤为 13.6%;另一方面,因为计算均值的时间窗口较长(52 期),SMA 产生了巨大的滞后性,导致基于它的择时策略效果很差,其年化收益率仅为 7.4%,最大回撤达到 58.9%,平均回撤 32.1%。


我们减少计算 SMA 的时间窗口,以 8 周为窗口计算,从而降低它的滞后性,得到的净值和 52 期窗口的 FRAMA 净值比较如下:


f4.png


在选择了短的时间窗口后,SMA 的滞后性大大降低,因此其净值大幅提高,达到了与 FRAMA 接近的收益率和回撤水平。在回测期内,基于 8 周窗口的 SMA 择时策略取得 15.9% 的年化收益率,最大回撤和平均回撤分别为 32.9% 和 12.7%。


本文的目的是为了说明 FRAMA 的原理和特点。我们不继续深入探讨基于 FRAMA 的择时策略。


4 结语


移动平均线是技术分析中一种分析股票价格时间序列的常用工具。移动平均可抚平短期波动(高频噪声),反映出中长期趋势,辅助投资者做出投资判断。FRAMA 是一个优秀的移动平均算法,它利用时间序列本身的分形特征,在保证均线平滑性的同时降低了移动平均的滞后性。这有助于投资者对趋势的变化做出及时的判断。


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



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