ウルサー指数(Ulcer Index)はどのように計算されますか?
直接の答え
ウルサー指数は、価格(または指数水準)が選択したルックバック期間においてランニング・マキシマム(直近の最高値)からどれだけ下落したかを測定し、そのドローダウンを1つの数値にまとめることで計算されます。一般的な形では、ドローダウンのパーセンテージを二乗し、それらを平均してから平方根を取ります。
メカニズムまたは定義
1) 入力系列と時間窓を選ぶ
まず、レベル変数の時系列を用意します。一般的には終値や指数水準が使われ、一定の頻度でサンプリングされます(例:日次、週次、あるいは日中のバー)。観測数がNになるようにルックバック期間を選びます。
2) ランニング・ピーク(これまでの最高値)を計算する
窓の中の各時点 t について、その時点までのレベルのランニング最大値を計算します:
- (\text{Peak}_t = \max(\text{Level}_1, \text{Level}_2, \dots, \text{Level}_t))
このランニング・ピークが、ドローダウンを定義するための基準になります。
3) ドローダウンをパーセンテージ(または相対的な下落)として計算する
各 t について、ランニング・ピークに対する割合としてドローダウン量を計算します:
- (\text{DD}_t = \frac{\text{Level}_t - \text{Peak}_t}{\text{Peak}_t})
この値は、現在の水準がピークと等しいとき 0 になり、下落局面では負になります。多くの説明では下落の大きさ(マグニチュード)を使うため、二乗するときに ( -\text{DD}_t)(非負の数)として扱うのが一般的です。
4) ウルサー指数の計算式を適用する
広く使われている定式化は次のとおりです:
- (\text{Ulcer Index} = \sqrt{\frac{1}{N}\sum_{t=1}^{N}(\text{DD}_t)^2})
(\text{DD}_t) を二乗するため、上昇途中か下落途中かにかかわらず、ドローダウンの大きさによってすべてを扱います。最後に平方根を取ることで、結果は元のドローダウンの「パーセンテージのような」単位にスケールし直されます。
5) 数値が要約する内容の解釈
ウルサー指数は、ドローダウンの経路を1つのボラティリティのような指標に凝縮し、下方向の深さに焦点を当てます。値が大きいほど、選択した窓の中でより深く、また/またはより長く続くドローダウンに対応します。
証拠または例
以下は、作り話の水準を使って計算手順を示す、小さく自己完結した例です。
N = 4 の観測で、水準が次のとします:
- (L = [100, 95, 90, 97])
ステップA:ランニング・ピーク
- t1: Peak = 100
- t2: Peak = 100
- t3: Peak = 100
- t4: Peak = 100
ステップB:ドローダウン(分数)
- t1: DD = (100−100)/100 = 0
- t2: DD = (95−100)/100 = −0.05
- t3: DD = (90−100)/100 = −0.10
- t4: DD = (97−100)/100 = −0.03
ステップC:二乗、平均、平方根
- 二乗: [0, 0.0025, 0.01, 0.0009]
- 平均: ( (0 + 0.0025 + 0.01 + 0.0009)/4 = 0.0036)
- ウルサー指数: (\sqrt{0.0036} = 0.06)
このおもちゃの例では、ウルサー指数は 0.06 であり、ドローダウンに用いたのと同じ単位で表すと「平均的な二乗ドローダウンの大きさ」が 6% に相当します。これは仕組みのデモであり、実データや窓の選び方によって結果は変わる点に注意してください。
制限とリスク
1) 結果は選択した窓とベースラインに依存する
ウルサー指数は、すべての設定に対して普遍的ではありません。ルックバックの長さ N と、ランニング・ピークを作るために用いるレベル系列を定義する必要があります。同じ基礎となる資産であっても、選択が異なればウルサー指数の値は変わります。
2) データ頻度とサンプリングの影響
日次と時間足のように異なるバー頻度で、あるいは欠損データの扱いが異なる形でウルサー指数を計算すると、検出されるドローダウンが変わり得ます。ドローダウンは経路依存(ランニング・ピークに依存)であるため、サンプリングによって真の最大下落が過小評価または過大評価される可能性があります。
3) 方向性や回復の質ではなく、ドローダウンの形状を要約する
ウルサー指数は、過去のピークに対して下落がどれほど深いかに焦点を当てます。価格がその後すぐに戻るのか、ゆっくり戻るのかといった情報は符号化しません(ただし、より長い下落は、窓の中でドローダウン観測をより多く含めるため、その限りでは影響します)。
4) 失敗モード:外れ値とピークのタイミングへの強い依存
計算ではドローダウンを二乗するため、異常に大きな下落が数値を支配しやすくなります。また、ピークのタイミングも重要です。短い新高値がランニング・ピークをリセットし、その後のドローダウンの大きさを変えてしまいます。
5) 将来のパフォーマンスを保証しない
ウルサー指数は、選択した期間の中での過去のドローダウン挙動を記述するものです。過去のドローダウン指標は、将来の結果がそれらと一致することを示すものではなく、取引コスト、スリッページ、執行の影響、または外部の制約を織り込みません。
検証または次の質問
報告されたウルサー指数の数値を独立に検証するには、その計算に使われた同じ材料が必要です:(1) 正確なレベル系列、(2) サンプリング頻度、(3) ルックバックの長さ N、(4) ランニング・ピークの方法、(5) 正確な計算式の慣習(特に、ドローダウンが ((Level-Peak)/Peak) として計算され、直接二乗されるかどうか)。
役に立つ次の確認は、2つの妥当だが明示的な定義のもとでウルサー指数を計算し、結果がそれらの選択にどれほど敏感かを比較することです。たとえば、終値の水準を使う場合と別の水準定義を使う場合などです。この感度分析により、その数値が頑健なのか、それとも特定のデータ処理の仮定に支配されているのかが分かります。