「過去の実績は将来の成果を保証しない」——投資の世界でよく聞く言葉だ。しかし過去のデータから「将来起きうる範囲」を予測することは可能だ。それを実現するのがモンテカルロシミュレーションだ。
この記事では、モンテカルロシミュレーションの考え方をFXトレーダー向けに分かりやすく解説し、自分の手法の堅牢性を検証する方法を紹介する。
モンテカルロシミュレーションとは何か
モンテカルロシミュレーションとは、ランダムな試行を大量に繰り返して、結果の確率分布を求める手法だ。名前の由来はモナコのカジノで有名なモンテカルロ地区。カジノのルーレットのように、ランダムな結果を何度も繰り返して全体の傾向を把握する。
FXトレードに応用する場合、やることはシンプルだ。
1. 過去のトレード結果(各トレードの損益)を集める
2. その結果をランダムに並べ替える
3. 並べ替えた順で損益を累積し、エクイティカーブを作る
4. これを1,000回(またはそれ以上)繰り返す
5. 1,000本のエクイティカーブから、最良ケース・最悪ケース・中央値を把握する
実際のトレードでは、勝ちと負けがどの順番で来るかは予測できない。モンテカルロシミュレーションは、「順番が変わるとどれだけ結果が変わるか」を可視化してくれる。
なぜ順番が重要なのか
同じ50件のトレード結果でも、その順番によって途中の最大ドローダウンは大きく変わる。
パターンA:最初に10連勝、その後20勝20敗
→ 最大ドローダウン:-30,000円
パターンB:最初に10連敗、その後30勝10敗
→ 最大ドローダウン:-80,000円
最終損益はどちらも同じ +100,000円
最終的な利益は同じでも、途中経過が大きく異なる。パターンBでは最大ドローダウンが-80,000円に達しており、資金管理が不十分であればこの時点で退場していた可能性がある。
モンテカルロシミュレーションは、あらゆる順番の可能性を試すことで、「最悪の場合、どの程度のドローダウンが起きうるか」を事前に知ることができる。
シミュレーション結果の読み方
1,000回のシミュレーションを行うと、以下のような結果が得られる。
エクイティカーブの分布
最良ケース(上位5%):+250,000円
上位25%:+180,000円
中央値(50%):+120,000円
下位25%:+65,000円
最悪ケース(下位5%):+8,000円
この例では、95%の確率で最終的にプラスになることが分かる。ただし、最悪ケースでは+8,000円とほぼブレイクイーブンだ。
最大ドローダウンの分布
最良ケース(上位5%):-15,000円
中央値:-45,000円
最悪ケース(下位5%):-95,000円
中央値が-45,000円ということは、半分の確率で45,000円以上のドローダウンを経験するということだ。この金額に耐えられる資金管理をしているかどうかを事前に確認できる。
破産確率
シミュレーション中に資金がゼロ(または設定した下限)に到達したケースの割合が破産確率だ。
初期資金100万円、1トレードリスク1%の場合:破産確率 0.1%
初期資金100万円、1トレードリスク5%の場合:破産確率 8.5%
破産確率が1%以下であれば、その資金管理は十分に安全だと判断できる。
手法の堅牢性を評価する
モンテカルロシミュレーションが最も力を発揮するのは、手法の堅牢性(ロバストネス)の評価だ。
堅牢な手法の特徴
- エクイティカーブの幅が狭い:最良ケースと最悪ケースの差が小さいほど、結果が安定している
- 最悪ケースでもプラス:下位5%でも利益が出ているなら、手法の優位性は高い
- 破産確率が極めて低い:0.5%以下が理想
脆弱な手法の特徴
- エクイティカーブの幅が広い:結果が大きくバラつく。少数の大勝ちに依存している可能性
- 最悪ケースで大幅マイナス:運が悪いだけで大きな損失を被る
- 破産確率が1%以上:資金管理の見直しが必要
モンテカルロシミュレーションの限界
強力なツールだが、万能ではない。以下の限界を理解しておく必要がある。
- 過去のデータに基づく:将来の相場環境が過去と大きく異なれば、シミュレーション結果も当てにならない
- 各トレードが独立であるという仮定:実際のトレードでは、連敗後にメンタルが崩れてさらに負けやすくなるなど、トレード間に依存関係がある場合がある
- サンプルサイズの影響:元のトレードデータが少なすぎると(30件未満)、シミュレーションの信頼性が低い
- 外れ値の影響:1件だけの大勝ちがあると、それがランダムに選ばれるかどうかで結果が大きく変わる
モンテカルロシミュレーションを使うべきタイミング
すべてのトレーダーが日常的にシミュレーションを行う必要はない。特に有効なタイミングは以下だ。
- 新しい手法をリアルマネーで使い始める前:バックテスト結果を使ってシミュレーションし、最悪ケースのドローダウンと破産確率を確認する
- ロットサイズを上げる前:現在のトレードデータを使い、新しいロットサイズでの破産確率を検証する
- 四半期ごとのレビュー:3ヶ月分のデータを使ってシミュレーションし、手法の堅牢性が維持されているか確認する
- 大きなドローダウンの後:ドローダウンが「想定範囲内」かどうかをシミュレーションで確認し、手法を続けるかの判断材料にする
簡易シミュレーションを手動でやってみる
本格的なシミュレーションにはツールが必要だが、考え方を理解するために簡易的な手動シミュレーションを試してみよう。
- 直近30件のトレード結果を紙に書く
- 紙を切り分けて袋に入れ、ランダムに1枚ずつ引く
- 引いた順番で損益を累積し、エクイティカーブを描く
- これを5回繰り返す
- 5本のエクイティカーブの中で、最大ドローダウンが最も大きいケースを確認する
5回だけでも、「同じトレード結果でも順番が変わると途中経過がまったく違う」ことを体感できるはずだ。
まとめ:将来のリスクを「事前に」把握する
モンテカルロシミュレーションのポイントをまとめる。
- 過去のトレード結果をランダムに並べ替え、大量にシミュレーションすることで、将来起きうる範囲を予測する
- 最悪ケースの最大ドローダウンと破産確率を事前に把握できる
- 手法の堅牢性(エクイティカーブの幅の狭さ)を評価できる
- 新しい手法の採用やロットサイズの変更前に行うのが最も効果的
TradeJournalでトレード記録を蓄積しておけば、シミュレーションに必要なデータがいつでも揃っている状態を維持できる。手法の堅牢性を定期的に検証するための基盤として活用してほしい。