FXにおけるウルサー指数(Ulcer Index)の仕組み
直接の答え
ウルサー指数(Ulcer Index)は、選択した期間におけるドローダウンの深刻度を要約するテクニカル指標です。FXでは、為替レートの価格系列から計算し、まずランニングの最高値(running highest level)を追跡し、その後各時点で価格がそのピークからどれだけ下がっているかを測定します。この指標は、それらのドローダウンの深さを1つの数値にまとめるため、方向性や直近の売買タイミングではなく、その系列における「過去の下落によるリスクのパターン」を表します。
仕組みと定義
「ドローダウンの深刻度(drawdown severity)」とは
ドローダウンは、価格がそれまでに観測されたピークから下落し、より低い水準に到達したときに発生します。ある時系列に対して、ウルサー指数(Ulcer Index)はこれらの下落の大きさに注目し、より深いドローダウンほど重要だと扱います。
計算するには通常、次を選びます:
- データ系列:FXでは、特定の通貨ペアの為替レート水準(たとえば、選んだレート表示の慣行に基づくもの)です。
- 開始日と終了日:測定ウィンドウ(期間)を定義します。
- サンプリング頻度:たとえば時間足、日足、または別の一定の間隔です。
手順ごとの計算(概念的な手順)
一般的なメカニズムは、次の一連の流れとして表せます:
- 期間内の各時点でランニング・ピークを特定します。ランニング・ピークは、その時点までに観測された最高の価格水準です。
- 各時点でドローダウンを計算します。ドローダウンは、ランニング・ピークからの下落量です。概念的には、ドローダウンの深さは、ピークと現在の水準の差(たとえば価格単位または正規化した値として一貫して表現)です。
- ドローダウンの深さを二乗して深刻度の指標に変換します(大きな下落を強調します)。
- 期間内で二乗した深刻度の平均を取る。
- 平方根を取ることで、ドローダウンに関連するスケールへ戻します。
この結果が、その期間のウルサー指数(Ulcer Index)値です。つまり、系列がピークからどれほど深く落ちたかを反映する「1つの数値」です。
入力と「変数」とは
ウルサー指数(Ulcer Index)は普遍的な定数ではありません。次の入力が変わると値が変化します:
- どの価格系列を使うか(異なるレート表示の慣行やデータフィードは異なる水準を生みます)。
- ウィンドウの長さ(長いウィンドウほど、より極端な下落を捉えやすくなります)。
- 時間ステップ(日次のドローダウンは、時間足のドローダウンと異なることがあります)。
- ギャップの扱い(欠けたティックやバーは、ピークやドローダウンの経路に影響します)。
これらは市場データと処理の選択です。指標の内部メカニズムは同じままでも、数値出力はそれらの選択に依存します。
確認できる証拠または例
ここではリアルタイムデータを前提にしないため、すでに手元にある小さな過去サンプルを使ってメカニズムを検証できます。
実際のミニ例(前提を明記)
短い一連の為替レート水準があり、一定間隔でサンプルされ、期間が5ポイントだとします:
- P1, P2, P3, P4, P5
計算では次を使うとします:
- 期間内のランニング・ピーク。
- ドローダウンの深さを次のように計算:drawdown = peak_so_far − current_price(同じ単位で一貫して使う)。
- 平均化ステップで二乗したドローダウンを使用。
では、手順を追います:
- 各ポイントでランニング・ピークを決めます。
- ドローダウンの深さを計算します(価格がピークと一致するときはゼロ)。
- 各ドローダウンの深さを二乗します。
- 二乗値の平均を取ります。
- 平方根を取ります。
5ポイントしかなくても、系列がピークからより深く下落したときに指標が増える様子が分かります。もし系列がピークを下回ることがなければ、ドローダウンの深さの多くはゼロになり、ウルサー指数(Ulcer Index)値は低くなります。
「ボラティリティ」との違い
従来のボラティリティ指標は、平均の周りのばらつきを測ります。ウルサー指数(Ulcer Index)は、ピークからのドローダウンに変動を明確に結びつける点で異なります。2つの価格系列が平均的な動きとしては似ていても、ピークからボトムまでの挙動が大きく異なることがあります。ウルサー指数(Ulcer Index)は、そのドローダウンの形に注目します。
実践的な出力の解釈(シグナルの枠組みではない)
ウルサー指数(Ulcer Index)は、選択した期間におけるドローダウンがどれほど深刻だったかを示す指標として解釈されることが一般的です。ただし、それ自体はイベント予測の手法ではありません。ある値は過去の不安定さを反映している可能性はありますが、次に何が起きるかを確定するものではありません。
制限と失敗パターン
1) 結果は計算の選択に依存する
ウルサー指数(Ulcer Index)は、次によって大きく変わり得ます:
- 見ている期間(lookback window)の長さ
- サンプリング頻度
- レート表示の慣行/データフィード
- データクリーニングのルール
そのため、この値は「市場そのもの」の性質であるだけでなく、「あなたが構築した系列」の性質でもあります。
2) 外れ値と経路依存性
ドローダウンは平均化の前に二乗されるため、大きなドローダウンが最終的な数値を支配しやすくなります。また、この指標は**経路依存(path dependent)**です。同じ最終価格でも、ピークとボトムがいつ発生したかによって、ドローダウンの系列(シーケンス)が変わり得ます。
3) データ品質の問題
FXデータセットには次のようなものが含まれる場合があります:
- 欠けたバー、または不規則なタイムスタンプ
- プラットフォームで使われるビッド/アスクの差
- データが保存または集計される方法の調整
これらの問題が起きると、ランニング・ピークやドローダウンの深さが変わり、それによってウルサー指数(Ulcer Index)も変わります。
4) 将来の挙動を保証しない
ウルサー指数(Ulcer Index)は、選択した期間における過去のドローダウンを要約します。過去のドローダウンのパターンは、将来のドローダウンが同様になることを保証しません。この制限は構造的です。指標は、前向きのリスクモデルというより、過去データの記述です。
検証と次の質問
理解を独立に確認する方法
どのプラットフォームにも頼らずに概念を検証するには:
- 小さなサンプルに対してランニング・ピークを計算する。
- 各ステップでドローダウンの深さを計算する。
- 二乗、平均化、平方根のステップを適用する。 -(もしあれば)あなたが使っているツールが出した値と比較する。
結果が異なる場合、最も可能性が高い原因は、前提の不一致(期間の境界、サンプリング頻度、またはドローダウンの深さの定義)です。
ソースを比較する前に明確化すべき質問
- **価格水準(price levels)**を使っていますか、それとも別の変換(正規化されたドローダウンなど)ですか?
- どの**見ている期間(lookback window)**が適用されていますか?
- どの時間間隔が使われていますか?
- 欠損データポイントはどのように扱われますか?
これらに答えることで、指標を比較可能にし、「りんごとみかん」の比較を減らせます。