FXにおけるADXの仕組みは?メカニズム、入力、出力、限界
端的な答え
ADX(Average Directional Index:平均方向性指数)は、方向性のある価格変動と全体の価格レンジが時間とともにどう振る舞うかに基づいて、トレンドの強さを測ろうとするテクニカル指標です。FXでは、手順は通常、固定された順序に従います。すなわち、高値と安値から方向性の動きを計算し、トゥルーレンジ(true range)を算出し、方向性とレンジの両方の成分を平滑化し、その後、非負の単一の値にまとめます。その結果は、将来の価格方向を直接予測するものではなく、トレンドの強さの「強度(intensity)」を示す指標です。
メカニズムまたは定義
ADXは、次の2つの関連する考え方から構築されます。
-
方向性の動き(Directional movement):一定期間に市場がどれだけ上向きに動いたか、どれだけ下向きに動いたかです。これは +DM(上方向の動き)と -DM(下方向の動き)で表されます。
-
トゥルーレンジ(True range):ギャップや期間間の大きな値動きを捉える、ボラティリティを意識した価格レンジの測定です。これは TR で表されます。
多くの指標式に共通する解釈モデルは次のとおりです。
- 上方向の動きが優勢なら、 +DM は -DM に比べて大きくなります。
- 下方向の動きが優勢なら、 -DM は +DM に比べて大きくなります。
- TRは、方向に関係なく、価格変動が全体としてどれほど「広い」かを反映します。
入力
ADXを計算するには、選択した時間足の OHLC価格データ(始値、高値、安値、終値)が必要です。この指標は、TRと方向性の動きを導くために 高値、安値、そして前の終値 を使います。
メカニクスに影響する実務上の選択肢は次のとおりです。
- 時間期間/参照期間(lookback length)(しばしば n と表記される)で、計算と平滑化に使うウィンドウが決まります。
- プラットフォームが用いる 平滑化手法(正確な手法は実装によって異なり得ます)。多くのプラットフォームでは、元の方向性の動きよりも指標が不規則になりにくいような形の平滑化が使われます。
手順(典型例)
プラットフォームによって細部は少し異なる場合がありますが、概念的な順序は通常次のとおりです。
- 各期間について +DM と -DM を計算します。現在の高値/安値と前の高値/安値から求めます。
- 各期間について TR を計算します。現在の高値/安値と前の終値を使います。
- 選択した長さに対して +DM、-DM、TR を平滑化します。平滑化により安定した中間値が得られます。
- 平滑化されたDMを 方向性の指標(+DI と -DI) に変換します。これはTRを通じてボラティリティで方向性の動きをスケールします。
- +DI と -DI の方向性の差を求め、その差を使って中間値の 「DX」 を作ります(しばしば、和に対する絶対差の割合に比例します)。
- DXを平滑化してADXを得ます。
ADX出力が意味するもの
ADXの出力は、トレンドの強さを表そうとする 単一の値の系列です。この指標は本質的に「強気(bullish)」や「弱気(bearish)」を示すものではありません。+DI と -DI も同時に観察すれば、その時点でどちらの方向が優勢かを別途推測できますが、ADX単体は方向ではなく強さに焦点を当てます。
証拠または例(明示的な前提つき)
実装の詳細はプラットフォームによって異なり得るため、独立した検証は、チャートで使っているのと同じOHLC系列から計算を再現するのが最善です。
例のセットアップ(前提)
次のように仮定します。
- 固定された時間足(たとえば1時間足のローソク)
- 固定された期間長 n
- ADXに特定の平滑化手法を適用するプラットフォーム
同じローソク足データを使えば、プラットフォームのADXが典型的な式のシーケンスと一致するかを検証できます。
検証ワークフロー(概念)
- 平滑化のウォームアップを考慮するため、少なくとも n に加えていくつかの追加期間分の OHLCを抽出します。
- 高値と安値から +DM と -DM を再計算します。
- 高値/安値と前の終値を使って TRを再計算します。
- プラットフォームが使う 同じ平滑化アプローチを適用します(ここで多くの不一致が起きます)。
- +DI と -DI を計算し、次に DX、さらにDXを平滑化して ADX を得ます。
- 得られたADX系列を、チャート上のADX値と 点ごとに比較します。
計算したADXがチャートとかなり一致するなら、次のことが言えます。
- 入力データの整合(時間とローソク足の境界)が正しい。
- 平滑化/パラメータ設定が一致している。
一致しない場合、不一致の原因は通常、次のいずれかです。
- 異なる平滑化の定義
- エッジケースの扱いの違い(たとえば、DMが競合したときにどう設定されるか)
- 異なるパラメータのデフォルト
限界とリスク
ADXは歴史的な意味でトレンドの強さを説明するのに役立つことがありますが、重要な制限があります。
-
遅れと平滑化の影響 ADXは平滑化された成分に依存するため、市場がレジームを切り替えるときに反応が遅くなる可能性があります。平滑化ステップはノイズを減らしますが、その分レスポンスも遅らせます。
-
パラメータ選択への依存 参照期間の長さや平滑化の定義が異なると、指標の挙動が変わります。異なる設定を使った2つのチャートでは、ADXの経路が意味のある形で異なるものになり得ます。
-
ボラティリティ変化への感度 TRは方向性の動きをスケールするために使われます。そのため、ボラティリティの急騰やレンジの急拡大は、「方向性の性格」が安定していなくても、ADXの読み取りに影響を与え得ます。
-
データのサンプリングとローソク足の構築 ADXは選択した時間足と、OHLC系列の構築に依存します。FXでは、「同じ」市場イベントでも時間足によって見え方が変わり得るため、+DM、-DM、TRが変わります。
-
結果のための単独シグナルではない ADXの出力は強さの測定であり、方向性や将来の値動きを保証するものではありません。ADX水準とその後の価格行動の間にある過去の関係は、特にコスト、執行、レジームの特性が異なる場合には、将来で同様の結果が得られることを保証しません。
注意して見たい失敗パターン
よくある失敗パターンは、「高いADX、または上昇するADX=自動的に予測可能な結果」と決めつけることです。実際には、ADXはどちらの方向でもより強い動きによって上昇し得ます。また、流動性、スプレッド、急なリバーサルなどの要因が取引結果に影響する局面では、ADXが高止まりすることもあります。ADXは、実現された結果を左右する外部条件ではなく、価格変動の性質を表します。
検証と次の質問
自分のFXチャートでADXがどのように機能するかを独立して検証するには:
- プラットフォームが使っている パラメータ値(参照期間の長さと平滑化手法)を確認します。
- 同じ時間足を使い、OHLCデータがチャートと整合していることを確認します。
- 基になる高値/安値/終値からADXを再計算する(または利用可能ならプラットフォームのドキュメント上の式と比較する)ようにします。
さらに一歩進めたい場合、次の確認はしばしば:プラットフォームが方向性の動きの構成要素(+DM と -DM)をどう定義しているか、そして 平滑化をどう実行しているか です。これらの実装上の選択は、ADXを手計算で再現しようとするときに生じる差の頻出原因です。
また、ADXが方向ではなく強さを測るものであることを念頭に置きつつ、自分の文脈でのADX値の解釈アプローチも確認できます。