查看原文
其他

量信精选技术指标系列(1):ADX

石川 川总写量化 2022-05-14



1

引言


技术分析(technical analysis)是指研究投资品已发生的量价信息来预测价格走势或者波动,从而决定投资策略。技术分析考虑市场的价格行为,假设“历史会不断重演”、试图借由大量的统计资料来预测行情走势。


在技术分析的发展中诞生了大量的技术指标,它们是通过价格和成交量按不同方法计算得到的,有的用来判断趋势有的用来度量波动;既有先行指标(leading indicators),又有滞后指标(lagging indicators)。打开任何一个主流的金融终端(比如Wind或者Choice),都可以方便的看到常见的技术指标。




本着科学的态度,我们对大量的技术指标做了定量的分析,希望验证它们在中国和美国股市的有效性。我们的研究表明,这些技术指标良莠不齐。因此,我们决定开设量信精选技术指标这个专栏,以宁缺毋滥为原则,为您去粗取精,甄选并介绍我们认为在中美股市都有较好效果的技术指标。


今天的第一期,我们就说说Average directional movement index,简称ADX,中文可译作平均方向性运动指标。


2

ADX的计算公式与含义


ADX由J. Welles Wilder在1978年提出,它是一个度量趋势强弱的滞后指标。换句话说,一旦当上涨或下跌的趋势形成后,ADX就会发出有意义的信号表明趋势正在发生。但需要说明的是,ADX不说明趋势的方向;即它仅仅描绘趋势的强弱,但并不指出该趋势是上涨的还是下跌的。ADX的取值在0到100之间;数值越大说明趋势越高。一般的,可以认为,当ADX大于40的时候,趋势强劲;当ADX小于20的时候,趋势微弱。

 

ADX的计算步骤需要用到J. Welles Wilder发明的另外两个指标,即positive directional indicator(正向方向性指标,缩写为DI_plus)和negative directional indicator(负向方向性指标,缩写为DI_minus)。为了计算DI_plus和DI_minus,我们首先要计算投资品价格的正向和负向移动距离,缩写为DM_plus和DM_minus。此外,在计算过程中,需要用到 true range(真实波动幅度,缩写为TR),它是衡量波动率的指标。


以(交易)日数据为例,根据J. Welles Wilder的原著《New concepts in technical trading systems》,ADX的计算过程如下(在下面求平滑移动数值时,默认的期数n=14):

ADX的计算过程

1 计算UpMove = 今天的最高价 – 昨天的最高价


2 计算DownMove = 昨天的最低价 – 今天的最低价


3 如果UpMove大于max(DownMove, 0),则DM_plus = UpMove,否则DM_plus = 0


4 如果DownMove大于max(UpMove, 0),则DM_minus = DownMove,否则DM_minus = 0


5 计算当日真实波动幅度(记为TR),它等于以下三者的最大值:今天最高价与今天最低价的差值,今天最高价与昨天收盘价差值的绝对值,今天最低价与昨天收盘价差值的绝对值

 

6 对于DM_plus,DM_minus,以及TR,使用平滑移动算法计算n期的总和,分别记为DM_plus_n,DM_minus_n,以及TR_n。以TR_n为例,它的计算方法为:

- TR_n的第一个值是过去n日(包括当日)TR的

- 从第二个值开始,当日的TR_n = 前一日的TR_n × (n - 1) / n + 当日TR

DM_plus_n和DM_minus_n可以按类似的方法得到。


7 计算DI_plus_n = 100×DM_plus_n / TR_n


8 计算DI_minus_n = 100×DM_minus_n / TR_n


9 计算方向运动指标DX,它等于100×(DI_plus_n – DI_minus_n) / (DI_plus_n + DI_minus_n)的绝对值

 

10 计算ADX。它是DX的n期平滑移动平均。它的计算方法为:

- ADX的第一个值是过去n日(包括当日)DX的均值

- 从第二个值开始,当日的ADX = (前一日的ADX×(n – 1) + 当日DX) / n


下面两图为原著中求解ADX时作者用到的工作表。我们也可以利用Excel,按照上述步骤计算出ADX。





值得一提的是,由于辅助参数较多,且同时涉及移动平滑求和以及移动平滑均值,ADX的计算过程比较繁琐。因此,像wikipedia这类第三方百科类网站上面的ADX计算公式介绍的比较模糊,不容易直接运用。一些金融网站上对ADX的计算方法更是与原著有一些差别。我们也尝试了那些方法,得到了和原著公式相似的数值。但是出于严谨的态度,我们仍然坚持为您呈现原著中的计算过程。在http://stockcharts.com/网站上的ADX专题也有符合原著的计算方法介绍。然而,我们遗憾的发现,在近期某著名券商的“实力”金工团队酝酿一年倾情奉献的技术指标系列中,在讲到ADX时,并没有试图使用原著中的计算方法、也没有给出其计算方法的出处。这是对读者极大的不负责任。


计算过程虽然繁琐,但ADX背后蕴含的意义十分清晰。DI_plus_n和DI_minus_n分别描述用波动率修正后的近期上涨和下跌趋势。无论是在上涨或者下跌,只要趋势显著,则DI_plus_nDI_minus_n之中总会有一个较大,因此DX = 100×abs((DI_plus_n – DI_minus_n) / (DI_plus_n + DI_minus_n)) 的取值会随着趋势的强弱从0向100逼近。由于ADXDX的平滑均值,因此ADX可以描述近期趋势的强弱。因为在计算DX的时候取了绝对值,这导致ADX的取值在0到100之间,因此ADX本身仅描述趋势的强弱,并不说明趋势的方向。但仍然可以通过DI_plus_nDI_minus_n的大小(或其他方法)来判断趋势的方向。

 

下图中的蓝色曲线为上证指数在过去12年内周频数据的ADX数值(在计算平滑均值时取n=8)。不难看出2016年以来,市场的趋势是非常微弱的,这也解释了为什么这段时间的赚钱效应非常差。当然,我们更从图中可喜的看到该指标对大趋势的精准刻画。在下一节中,我们基于ADX构建择时策略。




3

基于ADX择时的投资策略


从上图可以清晰的看到:


1 在大牛和大熊市,ADX的数值非常高;

2 在牛熊转换时,ADX数值有所减弱;

3 在震荡市中,ADX数值基本在低位区间波动。


根据这些特点,我们可以构建一个基于ADX择时的投资策略。由于ADX不描绘趋势的方向,因此我们需要其他辅助指标来说明上涨趋势。在这里,我们使用周收益率的m周指数平滑均值为趋势方向判断指标。具体的,投则策略如下:


如果m期的周收益率指数平滑均值为正,且ADX不小于35,我们选择买入并持有该投资品;


如果m期的周收益率指数平滑均值为负,或ADX小于35,我们选择卖出该投资品并空仓。



假设不考虑交易成本,取m=6,则该策略在上证指数的择时效果如下。




图中,蓝色为策略净值。该策略没有错过两波大牛市,且在熊市的时候非常有效的清仓止损;在震荡市中,其抗击打能力也很好,没有随着指数的慢熊而逐渐下滑。在过去12年里,这个简单的择时策略可以取得年化收益率19.2%的成绩;它的最大回撤为21.8%,平均回撤为8.8%。


4

ADX在美股表现如何?


上述策略对美股表现如何呢?我们将上证指数换成标普500指数的周频数据。在不改变策略参数的情况下,该策略的净值曲线为:




在过去8年,该策略在标普500指数上却无法取得正收益。其年化收益率为-2.1%,最大回撤为25.5%,平均回撤为17.0%。

 

这是为什么呢?标普500周频数据的ADX曲线可以告诉我们答案。




从上图不难看出,美国股市在金融危机后呈现出了典型的慢牛走势(从09年到16年这近8年的时间晃晃悠悠的上涨了近3倍)。然而,从周频的角度来说,走势的波动性仍然很大,没有形成有效的周频趋势,这体现在ADX持续的在20到40的范围内震荡。由于没有趋势,因此我们基于周频数据构建的策略就自然失效了。


这启发我们在别的频率上寻找操作的空间。而ADX的大小可以帮助我们确定正确的投资频率。下图为标普500同期月频数据的ADX曲线。ADX表明标普500的月频数据显示出了非常强的趋势。这源于在金融危机过后,美联储宽松的货币政策加上经济恢复,使得美股呈现出慢牛的走势。此外,由于美股多为机构投资者,更看重价值投资且投资行为更加市场化,这些都使得标普500的月频数据波动性较低。




由此,我们可将上述策略运用于标普500的月频数据。在计算ADX和收益率平滑时,取期数为3,并取ADX的阈值为30,得到的策略净值曲线如下。




在过去12年里,该策略成功躲过了金融危机时美股的腰斩;在股市恢复的时候又能很好的在趋势建立起来之后即使抓住上涨趋势。相比于使用周频数据的碌碌无为,该策略取得了5.6%的年化收益率,其最大回撤为12.5%、平均回撤为3.7%。


5

结语


要想挣大钱,就一定不要与趋势为敌!


投资品的价格走势变化莫测,因此与其想找到有效的先行指标来预判走势,还不如充分利用可以描绘趋势强弱的滞后指标。当趋势发生后,ADX辅助我们在有效控制风险的前提下,充分的利用趋势。此外,对于不同的市场,趋势可能存在于不同频率的数据之中。ADX可以帮助我们判断股票在哪种频率上存在趋势。这些都使得ADX成为一个优秀的技术指标。


最后,我们想在量信精选指标这个系列中强调的是,无论是什么技术指标,若想通过它持续地赚到钱,必须充分理解该指标的原理和它们反映的本质、并坚持使用它。对于任何指标,必须判断它是否适合我们面对的市场。


通过严格的历史回测和分析,计算出技术指标的有效性。随着市场自身内在的变化,回测中有效的技术指标也许会在将来的某一天失效。因此我们应用动态和发展的眼光看问题,不断的检验指标是否持续有效。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存