Maximum Drawdownの高度な考慮事項
定義とシンプルモデル
Maximum Drawdown (Max DD) は、アカウント価値の過去の高値から後の安値までの最大の下落を推定するものです。シンプルモデルでは、時間を追って「エクイティカーブ」を追跡し、各ポイントがタイムスタンプ時のアカウント価値を反映するようにします。ピークからトラフまでのドローダウンは、局所的な最大値(ピーク)から次の最小値(トラフ)までの下落を指します。
これを実践的に表現すると:
- 時刻 t の equity(t) をアカウントの資金として定義する。
- 時刻 t までの最大資金を running_peak(t) とする。
- 時刻 t のドローダウンは、通常次のようにモデル化される:
- Drawdown(t) = equity(t) / running_peak(t) − 1 (パーセント形式)、またはその等価な絶対的な下落。
- Maximum Drawdown は、選択された期間中に観測された最も負のドローダウンです。
この定義は安定していますが、高度な考慮事項は詳細にあります: どのようなものが equity とみなされるか、どのような時間点をサンプリングするか、そして非市場効果(手数料やキャッシュフローなど)がシリーズにどのように影響するかです。
高度な入力: 「equity」として測定するもの
高度な作業は、安定したメカニズムと変動する条件を分離することから始まります。
- Equity の定義(分子と基準) 「Equity」にはさまざまな意味があります:
- 開いているポジションと決済済みポジションの時価評価。
- 未実現利益、利息、または特定の手数料を含むかどうか。
- 同じタイムスタンプで実現済みと未実現の結果を反映しているかどうか。
Max DD は、equity(t) に含めるものによって非常に敏感です。Equity カーブにキャッシュの出し入れが含まれている場合、取引の結果が同じでもドローダウンの形状が変わることがあります。それらを除外する場合は、期間を比較するための別の規約が必要です。
-
コストと実行タイミング 取引コスト(スプレッド、手数料、ロールオーバー、スリッページ)は、equity(t) をマークする正確な時刻でequity(t) をシフトさせることがあります。同じ「シグナル」を持つ2つのデータセットは、1つのデータセットがコストをより忠実に反映しているか、タイムスタンプが異なる場合、異なるMax DD を生成することがあります。
-
サンプリング頻度とタイムスタンプの整列 Max DD は、エクイティカーブの経路を使用しますが、最終的なリターンだけではありません。エクイティを日次でサンプリングするか、イントラデイでサンプリングするかによって、トラフが見逃されたりシフトしたりすることがあります。
- 日次サンプリングは、真の最悪のイントラデイ下落を過小評価する可能性があります。
- プラットフォーム間のタイムスタンプの不整合(サーバー時間 vs ローカル時間)は、ピークとトラフの検出を変える可能性があります。
- 複利とスケーリングの仮定 ドローダウンの式は、通常パーセント形式で提示されますが、「分母が何を意味するか」が重要です。パーセントのMax DD はスケール一貫性がありますが、絶対値とパーセントの測定値の間の任意の変換は、エクイティレベルに依存します。エクイティカーブが正規化されている場合(例: 開始残高を使用)、正規化がピークを誤って削除または歪めないようにしてください。
例外とエッジケースが結果を変える
Max DD は直感的ですが、いくつかのエッジケースが一般的に混乱を招く結果を生み出します。
- 複数の等しいピークまたはプレートー Equity が同じピークレベルに複数回達した場合、「running_peak」は一定期間平坦になることがあります。異なる実装では:
- 最初のピークを次のトラフの開始点として選択するか、または
- 後続のピークを等価として扱うことがあります。 Max DD の大きさは同じかもしれませんが、関連するドローダウンウィンドウ(日付)は異なることがあります。
- データの欠落とギャップ Equity シリーズにギャップがある場合(例: 取引日が欠落している、またはプロバイダーのダウンタイム)、アルゴリズムは:
- 最後の知られているEquity を前方に持ち越す(トラフを隠す可能性がある)か、または
- インターポレーションを行う(仮定を追加する)ことがあります。 どちらのアプローチもMax DD を変える可能性があります。
-
キャッシュフローと預金/引き出し 下落中にキャッシュが追加されると、Equity カーブが上昇し、測定されたシリーズのドローダウン期間と深さが減少する可能性があります。キャッシュが引き出されると、測定されたドローダウンが増加する可能性があります。読者は、キャッシュを考慮したMax DD と「パフォーマンスのみ」のEquity から計算されたMax DD を異なる扱いをする必要があります。
-
極端なアウトライアと希少なイベント Equity の報告に1つのエラー(例: 間違った時価評価)があると、人工的なトラフが作成される可能性があります。高度なレビューでは、アウトライアをデータ品質のリスクとして扱い、投資の「真実」として扱いません。
-
ウィンドウ選択 Max DD は選択された測定期間に依存します。例えば、「12ヶ月間の最大値」は「歴史全体の最大値」と異なる可能性があります。ウィンドウを変更すると、観測された最大ドローダウンが変更されます。
制限とリスク: Max DD が保証できないこと
Max DD は説明的なメトリクスであり、将来の結果を保証するものではありません。
-
パス依存性と将来の不確実性 Max DD は観測された最悪のドローダウンを要約しますが、次に起こることを予測することはできません。市場、コスト、流動性、実行品質は変化する可能性があります。1つのレジムで計算されたMax DD は、別のレジムでのパフォーマンスを反映していない可能性があります。
-
為替条件の非定常性 為替やその他の市場では、条件が変化する可能性があります: ボラティリティレジム、スプレッド、フィナンシング、注文の実行品質。1つのレジムで計算されたMax DD は、別のレジムでのパフォーマンスを反映していない可能性があります。
-
サバイビアシップと選択効果 「生き残った」期間やポートフォリオのみを分析すると、報告された最大ドローダウンにバイアスがかかる可能性があります。不完全な歴史から計算されたメトリクスは、リスクを過小評価する可能性があります。
-
他のリスク測定値との関係 Max DD は最悪のピークからトラフまでの下落を捉えますが、次の点を無視します:
- 回復がどれだけ早く行われたか(回復時間は、別途計算しない限り、固有のものではありません)。
- ドローダウンの頻度。
- ピーク間のリターンの分布。
したがって、Max DD は他の診断(回復行動、変動性、テールアウトカムなど)とともに解釈する必要がありますが、完全なリスクモデルとして扱うべきではありません。
検証: Max DD の主張を独立して確認する方法
Max DD の数値を独立して確認するには、定義を反映した再現可能なチェックを使用できます。
- Equity シリーズとタイムフレームの確認
- equity(t) を定義するデータポイントを特定します。
- Equity にキャッシュフローが含まれているか、手数料とフィナンシングがどのように反映されているかを確認します。
- 正確な期間(開始/終了タイムスタンプ)とサンプリング頻度を記載します。
- 同じデータからドローダウンを再計算 一貫した手順は:
- 各サンプルで running_peak(t) を計算します。
- 示された式を使用して drawdown(t) を計算します。
- 期間中の最小 drawdown(t) を取得します。 別のソースが異なるMax DD を報告している場合、差異は通常、Equity の定義、サンプリング、またはウィンドウ選択に遡ることができます。
-
ピークからトラフまでの日付を調整 大きさが一致しても、等しいピークの処理やタイブレーキングルールの違いにより、ピークとトラフのタイムスタンプが異なることがあります。同じルールセット内でトラフが選択されたピークの後に発生することを確認します。
-
代替サンプリングによるストレステスト 可能であれば、次のように結果を比較します:
- 粗いサンプリング(例: 日次)
- 細かいサンプリング(例: