精選技術指标系列(1):ADX

發布時(shí)間:2016-09-28  |   來(lái)源: 川總寫量化(huà)

作者:石川

摘要:ADX 是個(gè)優秀的(de)趨勢強弱量化(huà)指标。


1 引言


技術分(fēn)析(technical analysis)是指研究投資品已發生的(de)量價信息來(lái)預測價格走勢或者波動,從而決定投資策略。技術分(fēn)析考慮市場(chǎng)的(de)價格行爲,假設“曆史會不斷重演”、試圖借由大(dà)量的(de)統計資料來(lái)預測行情走勢。


在技術分(fēn)析的(de)發展中誕生了(le)大(dà)量的(de)技術指标,它們是通(tōng)過價格和(hé)成交量按不同方法計算(suàn)得(de)到的(de),有的(de)用(yòng)來(lái)判斷趨勢有的(de)用(yòng)來(lái)度量波動;既有先行指标(leading indicators),又有滞後指标(lagging indicators)。打開任何一個(gè)主流的(de)金融終端(比如 Wind 或者 Choice),都可(kě)以方便的(de)看到常見的(de)技術指标。本著(zhe)科學的(de)态度,我們對(duì)大(dà)量的(de)技術指标做(zuò)了(le)定量的(de)分(fēn)析,希望驗證它們在中國和(hé)美(měi)國股市的(de)有效性。實證結果表明(míng),這(zhè)些技術指标良莠不齊因此,我們決定開設精選技術指标這(zhè)個(gè)專欄,以甯缺毋濫爲原則,爲您去粗取精,甄選并介紹我們認爲在中美(měi)股市都有較好效果的(de)技術指标。


今天的(de)第一期,我們就說說 Average directional movement index,簡稱 ADX,中文可(kě)譯作平均方向性運動指标


2 公式和(hé)含義


ADX 由 J. Welles Wilder 在 1978 年提出,它是一個(gè)度量趨勢強弱的(de)滞後指标。換句話(huà)說,一旦當上漲或下(xià)跌的(de)趨勢形成後,ADX 就會發出有意義的(de)信号表明(míng)趨勢正在發生。但需要說明(míng)的(de)是,ADX 不說明(míng)趨勢的(de)方向;即它僅僅描繪趨勢的(de)強弱,但并不指出該趨勢是上漲的(de)還(hái)是下(xià)跌的(de)。ADX 的(de)取值在 0 到 100 之間;數值越大(dà)說明(míng)趨勢越高(gāo)。一般的(de),可(kě)以認爲,當 ADX 大(dà)于 40 的(de)時(shí)候,趨勢強勁;當 ADX 小于 20 的(de)時(shí)候,趨勢微弱。


ADX 的(de)計算(suàn)步驟需要用(yòng)到 J. Welles Wilder 發明(míng)的(de)另外兩個(gè)指标,即 positive directional indicator(正向方向性指标,縮寫爲 DI_plus)和(hé) negative directional indicator(負向方向性指标,縮寫爲 DI_minus)。爲了(le)計算(suàn) DI_plus 和(hé) DI_minus,我們首先要計算(suàn)投資品價格的(de)正向和(hé)負向移動距離,縮寫爲 DM_plus 和(hé) DM_minus。此外,在計算(suàn)過程中,需要用(yòng)到 true range(真實波動幅度,縮寫爲 TR),它是衡量波動率的(de)指标。以(交易)日數據爲例,根據 J. Welles Wilder 的(de)原著《New concepts in technical trading systems》,ADX 的(de)計算(suàn)過程如下(xià)(在下(xià)面求平滑移動數值時(shí),默認的(de)期數 n=14):


1. 計算(suàn) UpMove = 今天的(de)最高(gāo)價 – 昨天的(de)最高(gāo)價


2. 計算(suàn) DownMove = 昨天的(de)最低價 – 今天的(de)最低價


3. 如果 UpMove 大(dà)于 max(DownMove, 0),則 DM_plus = UpMove,否則 DM_plus = 0


4. 如果 DownMove 大(dà)于 max(UpMove, 0),則 DM_minus = DownMove,否則 DM_minus = 0


5. 計算(suàn)當日真實波動幅度(記爲 TR),它等于以下(xià)三者的(de)最大(dà)值:今天最高(gāo)價與今天最低價的(de)差值,今天最高(gāo)價與昨天收盤價差值的(de)絕對(duì)值,今天最低價與昨天收盤價差值的(de)絕對(duì)值

 

6. 對(duì)于 DM_plus,DM_minus,以及 TR,使用(yòng)平滑移動算(suàn)法計算(suàn) n 期的(de)總和(hé),分(fēn)别記爲 DM_plus_n,DM_minus_n,以及 TR_n。以 TR_n 爲例,它的(de)計算(suàn)方法爲:

    - TR_n 的(de)第一個(gè)值是過去 n 日(包括當日)TR 的(de)和(hé)

    - 從第二個(gè)值開始,當日的(de) TR_n = 前一日的(de) TR_n × (n - 1) / n + 當日 TR

DM_plus_n 和(hé) DM_minus_n 可(kě)以按類似的(de)方法得(de)到。


7. 計算(suàn) DI_plus_n = 100×DM_plus_n / TR_n


8. 計算(suàn) DI_minus_n = 100×DM_minus_n / TR_n


9. 計算(suàn)方向運動指标 DX,它等于 100×(DI_plus_n – DI_minus_n) / (DI_plus_n + DI_minus_n) 的(de)絕對(duì)值


10. 計算(suàn) ADX。它是 DX 的(de) n 期平滑移動平均。它的(de)計算(suàn)方法爲:

    - ADX 的(de)第一個(gè)值是過去 n 日(包括當日)DX 的(de)均值

   - 從第二個(gè)值開始,當日的(de) ADX = (前一日的(de) ADX×(n – 1) + 當日 DX) / n


下(xià)面兩圖爲原著中求解 ADX 時(shí)作者用(yòng)到的(de)工作表。我們也(yě)可(kě)以利用(yòng) Excel,按照(zhào)上述步驟計算(suàn)出 ADX。


yz1.png


yz2.png


值得(de)一提的(de)是,由于輔助參數較多(duō),且同時(shí)涉及移動平滑求和(hé)以及移動平滑均值,ADX 的(de)計算(suàn)過程比較繁瑣。因此,像 wikipedia 這(zhè)類第三方百科類網站上面的(de) ADX 計算(suàn)公式介紹的(de)比較模糊,不容易直接運用(yòng)。一些金融網站上對(duì) ADX 的(de)計算(suàn)方法更是與原著有一些差别。出于嚴謹的(de)态度,本文堅持呈現原著中的(de)計算(suàn)過程。在 http://stockcharts.com/  網站上的(de)  ADX  專題也(yě)有符合原著的(de)計算(suàn)方法介紹。


計算(suàn)過程雖然繁瑣,但 ADX 背後蘊含的(de)意義十分(fēn)清晰。DI_plus_n 和(hé) DI_minus_n 分(fēn)别描述用(yòng)波動率修正後的(de)近期上漲和(hé)下(xià)跌趨勢。無論是在上漲或者下(xià)跌,隻要趨勢顯著,則 DI_plus_n 和(hé) DI_minus_n 之中總會有一個(gè)較大(dà),因此 DX = 100 × abs((DI_plus_n – DI_minus_n) / (DI_plus_n + DI_minus_n)) 的(de)取值會随著(zhe)趨勢的(de)強弱從 0 向 100 逼近。由于 ADX 是 DX 的(de)平滑均值,因此 ADX 可(kě)以描述近期趨勢的(de)強弱。因爲在計算(suàn) DX 的(de)時(shí)候取了(le)絕對(duì)值,這(zhè)導緻 ADX 的(de)取值在 0 到 100 之間,因此 ADX 本身僅描述趨勢的(de)強弱,并不說明(míng)趨勢的(de)方向。但仍然可(kě)以通(tōng)過 DI_plus_n 和(hé) DI_minus_n 的(de)大(dà)小(或其他(tā)方法)來(lái)判斷趨勢的(de)方向。


下(xià)圖中的(de)藍色曲線爲上證指數在過去 12 年内周頻(pín)數據的(de) ADX 數值(在計算(suàn)平滑均值時(shí)取 n = 8)。不難看出 2016 年以來(lái),市場(chǎng)的(de)趨勢是非常微弱的(de),這(zhè)也(yě)解釋了(le)爲什(shén)麽這(zhè)段時(shí)間的(de)賺錢效應非常差。當然,我們更從圖中可(kě)喜的(de)看到該指标對(duì)大(dà)趨勢的(de)精準刻畫(huà)。在下(xià)一節中,我們基于 ADX 構建擇時(shí)策略。


f2.png


3 基于 ADX 擇時(shí)


從上圖可(kě)以清晰的(de)看到:


1. 在大(dà)牛和(hé)大(dà)熊市,ADX 的(de)數值非常高(gāo);


2. 在牛熊轉換時(shí),ADX 數值有所減弱;


3. 在震蕩市中,ADX 數值基本在低位區(qū)間波動。


根據這(zhè)些特點,構建一個(gè)基于 ADX 擇時(shí)的(de)投資策略。由于 ADX 不描繪趨勢的(de)方向,因此需要其他(tā)輔助指标來(lái)說明(míng)上漲趨勢。本節使用(yòng)周收益率的(de) m 周指數平滑均值爲趨勢方向判斷指标。具體的(de),投則策略如下(xià):


如果 m 期的(de)周收益率指數平滑均值爲正, ADX 不小于 35,我們選擇買入并持有該投資品;


如果 m 期的(de)周收益率指數平滑均值爲負, ADX 小于 35,我們選擇賣出該投資品并空倉。


假設不考慮交易成本,取 m = 6,則該策略在上證指數的(de)擇時(shí)效果如下(xià)。


f3.png


圖中,藍色爲策略淨值。該策略沒有錯過兩波大(dà)牛市,且在熊市的(de)時(shí)候非常有效的(de)清倉止損;在震蕩市中,其抗擊打能力也(yě)較好,沒有随著(zhe)指數的(de)慢(màn)熊而逐漸下(xià)滑。在過去 12 年裏,這(zhè)個(gè)簡單的(de)擇時(shí)策略可(kě)以取得(de)年化(huà)收益率 19.2% 的(de)成績;它的(de)最大(dà)回撤爲 21.8%,平均回撤爲 8.8%。


4 ADX 在美(měi)股表現如何


上述策略對(duì)美(měi)股表現如何呢(ne)?我們将上證指數換成标普 500 指數的(de)周頻(pín)數據。在不改變策略參數的(de)情況下(xià),該策略的(de)淨值曲線爲:


f4.png


在過去 8 年,該策略在标普 500 指數上卻無法取得(de)正收益。其年化(huà)收益率爲 -2.1%,最大(dà)回撤爲 25.5%,平均回撤爲 17.0%。這(zhè)是爲什(shén)麽呢(ne)?标普 500 周頻(pín)數據的(de) ADX 曲線可(kě)以告訴我們答(dá)案。


f5.png


從上圖不難看出,美(měi)國股市在金融危機後呈現出了(le)典型的(de)慢(màn)牛走勢(從 2009 年到 2016 年這(zhè)近 8 年的(de)時(shí)間晃晃悠悠的(de)上漲了(le)近 3 倍)。然而,從周頻(pín)的(de)角度來(lái)說,走勢的(de)波動性仍然很大(dà),沒有形成有效的(de)周頻(pín)趨勢,這(zhè)體現在 ADX 持續的(de)在 20 到 40 的(de)範圍内震蕩。由于沒有趨勢,因此我們基于周頻(pín)數據構建的(de)策略就自然失效了(le)。


這(zhè)啓發我們在别的(de)頻(pín)率上尋找操作的(de)空間。而 ADX 的(de)大(dà)小可(kě)以幫助我們确定正确的(de)投資頻(pín)率。下(xià)圖爲标普 500 同期月(yuè)頻(pín)數據的(de) ADX 曲線。ADX 表明(míng)标普 500 的(de)月(yuè)頻(pín)數據顯示出了(le)非常強的(de)趨勢。這(zhè)源于在金融危機過後,美(měi)聯儲寬松的(de)貨币政策加上經濟恢複,使得(de)美(měi)股呈現出慢(màn)牛的(de)走勢。此外,由于美(měi)股多(duō)爲機構投資者,更看重價值投資且投資行爲更加市場(chǎng)化(huà),這(zhè)些都使得(de)标普 500 的(de)月(yuè)頻(pín)數據波動性較低。


f6.png


由此,可(kě)将上述策略運用(yòng)于标普 500 的(de)月(yuè)頻(pín)數據。在計算(suàn) ADX 和(hé)收益率平滑時(shí),取期數爲 3,并取 ADX 的(de)阈值爲 30,得(de)到的(de)策略淨值曲線如下(xià)。


f7.png


在過去 12 年裏,該策略成功躲過了(le)金融危機時(shí)美(měi)股的(de)腰斬;在股市恢複的(de)時(shí)候又能很好的(de)在趨勢建立起來(lái)之後即使抓住上漲趨勢。相比于使用(yòng)周頻(pín)數據的(de)碌碌無爲,該策略取得(de)了(le) 5.6% 的(de)年化(huà)收益率,其最大(dà)回撤爲 12.5%、平均回撤爲 3.7%。


5 結語


要想掙大(dà)錢,就一定不要與趨勢爲敵。


投資品的(de)價格走勢變化(huà)莫測,因此與其想找到有效的(de)先行指标來(lái)預判走勢,還(hái)不如充分(fēn)利用(yòng)可(kě)以描繪趨勢強弱的(de)滞後指标。當趨勢發生後,ADX 輔助我們在有效控制風險的(de)前提下(xià),充分(fēn)的(de)利用(yòng)趨勢。此外,對(duì)于不同的(de)市場(chǎng),趨勢可(kě)能存在于不同頻(pín)率的(de)數據之中。ADX 可(kě)以幫助我們判斷股票(piào)在哪種頻(pín)率上存在趨勢。這(zhè)些都使得(de) ADX 成爲一個(gè)優秀的(de)技術指标。


最後想強調的(de)是,無論是什(shén)麽技術指标,若想通(tōng)過它持續地賺到錢,必須充分(fēn)理(lǐ)解該指标的(de)原理(lǐ)和(hé)它們反映的(de)本質、并堅持使用(yòng)它。對(duì)于任何指标,必須判斷它是否适合我們面對(duì)的(de)市場(chǎng)。通(tōng)過嚴格的(de)曆史回測和(hé)分(fēn)析,計算(suàn)出技術指标的(de)有效性。随著(zhe)市場(chǎng)自身内在的(de)變化(huà),回測中有效的(de)技術指标也(yě)許會在将來(lái)的(de)某一天失效。因此我們應用(yòng)動态和(hé)發展的(de)眼光(guāng)看問題,不斷的(de)檢驗指标是否持續有效。



免責聲明(míng):入市有風險,投資需謹慎。在任何情況下(xià),本文的(de)内容、信息及數據或所表述的(de)意見并不構成對(duì)任何人(rén)的(de)投資建議(yì)。在任何情況下(xià),本文作者及所屬機構不對(duì)任何人(rén)因使用(yòng)本文的(de)任何内容所引緻的(de)任何損失負任何責任。除特别說明(míng)外,文中圖表均直接或間接來(lái)自于相應論文,僅爲介紹之用(yòng),版權歸原作者和(hé)期刊所有。