モンテカルロ分析で戦略耐久性を確認する方法

システムトレード
スポンサーリンク
【DMM FX】入金

モンテカルロ分析とは何か

トレード戦略を検証するとき、多くの人はバックテストの損益曲線を見て「右肩上がりだから使える」「最終利益が大きいから優秀」と判断しがちです。しかし、これはかなり危険です。なぜなら、バックテストで表示されている損益曲線は、過去に起きた売買の順番がたまたまその並びだっただけだからです。同じ勝率、同じ平均利益、同じ平均損失を持つ戦略でも、勝ち負けの順番が変わるだけで、資金曲線の形、最大ドローダウン、メンタル負荷、破産確率は大きく変わります。

モンテカルロ分析は、この「順番の偶然」を検証するための手法です。過去のトレード結果を何度もランダムに並べ替えたり、利益幅や損失幅に揺らぎを加えたりして、もし違う順番で勝ち負けが発生していたら資金はどう推移したのかを大量にシミュレーションします。つまり、バックテスト1本のきれいな損益曲線ではなく、何千本、何万本もの仮想的な損益曲線を作り、戦略がどれくらいの悪条件に耐えられるかを調べる方法です。

ここで重要なのは、モンテカルロ分析は利益を増やす魔法ではないという点です。むしろ逆で、過去の成績を冷静に疑うための検査装置です。バックテストでは最大ドローダウンが10%だったとしても、売買順序を変えると25%まで悪化する可能性がある。バックテストでは10連敗がなかったとしても、確率的には15連敗程度が普通に起こり得る。こうした不都合な事実を事前に把握するために使います。

なぜ通常のバックテストだけでは不十分なのか

バックテストは戦略開発に不可欠ですが、弱点もあります。最大の問題は、1つの歴史しか見ていないことです。過去の相場は一度しか起きていません。たとえば、ある移動平均クロス戦略を2014年から2025年まで検証したとします。その結果、年率12%、最大ドローダウン18%、勝率43%、プロフィットファクター1.35だったとします。一見すると悪くありません。しかし、その12年間における勝ちトレードと負けトレードの発生順序は、たまたまその順番だっただけです。

もし大きな負けが序盤に集中していたら、資金は早期に大きく減っていたかもしれません。逆に、最初に大きな勝ちが続いたからこそ、その後の損失に耐えられただけかもしれません。通常のバックテストは、この順序リスクを見落とします。資金管理において本当に重要なのは「最終的に儲かったか」だけではありません。「途中で退場せずに継続できたか」「精神的に耐えられる下落幅だったか」「証拠金維持率や余力に問題がなかったか」も同じくらい重要です。

特にレバレッジを使うFX、先物、CFD、信用取引、オプション戦略では、順序リスクは致命的になります。期待値がプラスの戦略でも、ロットが大きすぎると、たった一度の悪い連敗局面で資金を大きく毀損します。逆に、期待値はそこまで高くなくても、ドローダウンが安定して小さい戦略は長く運用しやすい場合があります。モンテカルロ分析は、こうした「実際に運用できるか」という観点を数値化するための実践的な検証手段です。

モンテカルロ分析で確認すべき4つの指標

最大ドローダウンの悪化幅

最も重要なのは最大ドローダウンです。通常のバックテストで最大ドローダウンが15%だったとしても、モンテカルロ分析で下位5%のシナリオを見ると30%になることがあります。この場合、実戦では30%前後の資金減少を想定しておくべきです。バックテスト上の最大値だけを見てロットを決めると、想定外の下落に耐えられなくなります。

実践では、単純な平均値ではなく、パーセンタイルで見るのが有効です。たとえば、10,000回のシミュレーションを行い、最大ドローダウンの中央値が18%、95パーセンタイルが34%、99パーセンタイルが46%だったとします。この場合、普通の悪化では18%程度、かなり悪い局面では34%、極端な局面では46%まで資金が落ちる可能性があると考えます。個人投資家が実運用に使うなら、少なくとも95パーセンタイルのドローダウンに耐えられるロットに抑えるべきです。

連敗回数

次に見るべきなのは最大連敗回数です。勝率55%の戦略でも、長期で運用すれば10連敗以上は起こり得ます。勝率が40%台のトレンドフォロー戦略なら、15連敗や20連敗が起きても不思議ではありません。多くの投資家は「過去検証で最大7連敗だから、今後もそれくらい」と考えますが、それは甘い見積もりです。トレード回数が増えれば、過去に出なかった極端な連敗が将来出る可能性は高まります。

連敗回数はメンタルだけでなく、ロット管理にも直結します。たとえば1回の損失を資金の2%に設定している場合、10連敗で単純計算20%近い損失になります。複利計算なら少し変わりますが、精神的にはかなり重い下落です。もしモンテカルロ分析で95%のケースにおける最大連敗が14回と出るなら、1回あたり2%リスクは大きすぎる可能性があります。1%以下に落とす、あるいは連敗時にロットを縮小するルールを組み込むべきです。

最終損益の分布

モンテカルロ分析では、最終損益の分布も確認します。バックテスト上では最終利益が+120%だったとしても、シミュレーション結果では+20%から+220%まで大きく分散することがあります。これは、戦略の成果がどれだけ順序に依存しているかを示します。分布が狭い戦略は安定性が高く、分布が広い戦略は運用タイミングによって結果が大きくブレる戦略です。

ここで見るべきなのは、平均利益ではなく、下位シナリオです。たとえば10,000回のシミュレーションで平均最終利益が+80%でも、下位10%ではマイナスになるなら、実運用では開始タイミング次第で長期間報われない可能性があります。個人投資家にとっては、平均値よりも「悪いケースでどこまで耐えられるか」の方が重要です。特に資金を一気に投入する場合、開始直後の悪化シナリオを必ず確認する必要があります。

破産リスク

破産リスクとは、一定の資金毀損ラインを下回る確率です。ここでいう破産は、口座残高がゼロになるという意味だけではありません。実際には、資金が30%減ったら運用を止める、50%減ったら心理的に継続不能になる、証拠金維持率が危険水準に入る、といったラインも破産ラインとして扱います。

たとえば、初期資金100万円、1回あたりのリスク3%、勝率45%、平均利益1.8R、平均損失1Rの戦略を考えます。期待値はプラスですが、ロットが大きすぎるとシミュレーションの一部で50%以上のドローダウンが発生します。もし10,000回中400回で資金が半減するなら、破産確率は4%です。この4%を高いと見るか低いと見るかは投資家の許容度次第ですが、個人が長く続ける戦略としてはかなり重い数字です。

モンテカルロ分析の基本手順

ステップ1:トレードごとの損益データを用意する

最初に必要なのは、1回ごとのトレード損益です。日次損益でも分析はできますが、戦略の売買単位で見る方が精度は上がります。必要な項目は、エントリー日、決済日、損益額、損益率、R倍率、銘柄または通貨ペア、売買方向です。特に重要なのはR倍率です。R倍率とは、1回の想定リスクに対して何倍の利益または損失が出たかを示す数値です。

たとえば、1回の許容損失を10,000円に設定し、利益が25,000円なら+2.5R、損失が10,000円なら-1Rです。R倍率で管理すると、銘柄価格やロットサイズが違っても戦略の性能を比較しやすくなります。モンテカルロ分析でも、損益額そのものよりR倍率を使った方が、将来の資金管理に応用しやすくなります。

ステップ2:売買結果をランダムに並べ替える

最もシンプルな方法は、過去のトレード結果をランダムに並べ替えることです。たとえば過去に300回の売買があり、それぞれのR倍率が記録されているとします。この300個の結果をシャッフルして、仮想的な損益曲線を作ります。これを1回だけでなく、5,000回、10,000回と繰り返します。

この方法の利点は、過去の勝率や利益分布を保ったまま、順序だけを変えられる点です。つまり、「この戦略の勝ち負けが別の順番で発生していたらどうなったか」を調べられます。欠点は、過去に存在しなかった極端な利益や損失は再現されないことです。そのため、後述するように損益幅にランダムな揺らぎを加える方法も併用すると、より保守的な検証になります。

ステップ3:資金曲線を再計算する

ランダムに並べ替えた損益列に対して、初期資金とロットルールを設定し、資金曲線を再計算します。固定ロットで運用するのか、資金に対して一定割合をリスクにするのかで結果は大きく変わります。固定ロットは資金が増えても減っても1回の損益額が同じです。一方、割合リスクは資金が増えるとロットも増え、資金が減るとロットも減ります。

初心者が検証するなら、まずは1回あたり資金の0.5%、1%、2%をリスクにした3パターンを比較すると分かりやすいです。同じ戦略でも、0.5%リスクなら最大ドローダウンが15%以内に収まり、2%リスクでは50%近くまで悪化することがあります。戦略の良し悪しだけでなく、ロット設定が結果を大きく左右することが分かります。

ステップ4:結果を集計する

最後に、各シミュレーションの最終損益、最大ドローダウン、最大連敗、最低資金、最高資金、破産判定を集計します。重要なのは、1つの代表値だけを見ないことです。平均、中央値、下位10%、下位5%、下位1%を確認します。実運用で問題になるのは、平均的なシナリオではなく、悪いシナリオです。

たとえば、10,000回の結果が次のようになったとします。最終利益の中央値は+65%、下位10%は+18%、下位5%は-5%、下位1%は-28%。最大ドローダウンの中央値は17%、95パーセンタイルは32%、99パーセンタイルは45%。この場合、戦略自体はプラス期待値でも、悪い開始タイミングでは損失で終わる可能性があります。運用するなら、資金の全額投入ではなく、複数戦略への分散やロット縮小を検討すべきです。

具体例:勝率45%のトレンドフォロー戦略を検証する

ここでは、架空のトレンドフォロー戦略を例にします。条件は、勝率45%、平均利益+2.0R、平均損失-1.0R、トレード回数300回です。単純な期待値は、0.45×2.0R + 0.55×-1.0R = +0.35Rです。1回あたりの期待値はプラスで、かなり優秀に見えます。しかし、勝率は半分未満なので連敗が発生しやすく、資金曲線は滑らかではありません。

この戦略を1回あたり資金の1%リスクで運用するとします。バックテストでは最終利益が+170%、最大ドローダウンが22%だったとします。ここでモンテカルロ分析を10,000回行うと、中央値の最終利益は+150%前後でも、下位5%では+40%程度、下位1%ではほぼ横ばい、最大ドローダウンは95パーセンタイルで38%、99パーセンタイルで50%近くになる可能性があります。

この結果から分かるのは、期待値が高い戦略でも、勝率が低く利益が偏るタイプはドローダウンが深くなりやすいということです。もし投資家が30%のドローダウンで運用を止めてしまうなら、この戦略を1%リスクで回すのは危険です。0.5%リスクに落とす、または逆張り系や高勝率系の別戦略と組み合わせる必要があります。

ロットサイズを決める実践的な考え方

モンテカルロ分析の最大の使い道は、ロットサイズの決定です。多くの個人投資家は「いくら儲かるか」から逆算してロットを決めます。しかし、本来は「どれだけ負けても継続できるか」から逆算するべきです。たとえば、最大許容ドローダウンを20%に設定するなら、モンテカルロ分析の95パーセンタイル最大ドローダウンが20%以下になるようにロットを調整します。

具体的には、同じ戦略を0.5%、1.0%、1.5%、2.0%リスクでシミュレーションします。その結果、95パーセンタイル最大ドローダウンがそれぞれ18%、33%、47%、61%だったとします。この場合、心理的に20%までしか耐えられない投資家は0.5%リスクが上限です。30%程度まで許容できる投資家でも、1.0%リスクはやや攻めた設定です。2.0%リスクは、期待値がプラスでも実運用ではかなり危険です。

ここで重要なのは、ロットを下げることは臆病ではないということです。ロットを下げると短期的な利益は小さくなりますが、戦略を長く継続できます。投資で大きく失敗する人の多くは、戦略が悪いから負けるのではなく、戦略に対してロットが大きすぎるから負けます。モンテカルロ分析は、自分の許容リスクに対してロットが適正かどうかを確認するための現実的な道具です。

モンテカルロ分析でよくある失敗

バックテストのトレード数が少なすぎる

トレード数が30回や50回しかない状態でモンテカルロ分析をしても、結果の信頼性は限定的です。サンプルが少ないと、たまたま大きな勝ちが入っていただけ、たまたま悪い相場を避けられていただけ、という可能性が高くなります。最低でも100回以上、できれば300回以上のトレードデータが欲しいところです。低頻度の長期投資戦略では回数を増やしにくいため、複数銘柄、複数期間、類似条件を使ってサンプルを補う必要があります。

過去の損益分布をそのまま信じすぎる

過去データをシャッフルするだけのモンテカルロ分析は、過去に出た損益しか再現しません。しかし将来は、過去にない大きな損失が起こることがあります。特に個別株のストップ安、流動性低下、急な材料悪化、決算ギャップ、為替急変などは、過去検証だけでは十分に反映されないことがあります。そのため、実践では損失側に少し厳しめの補正を入れるとよいです。

たとえば、負けトレードの一部を1.2倍から1.5倍に悪化させる、スリッページを広めに見る、一定確率で想定外の大損失を入れる、といった保守的な設定です。これは悲観的すぎるように見えるかもしれませんが、実運用では悲観的な検証の方が役に立ちます。楽観的な検証で作った戦略は、最初の想定外で崩れます。

平均値だけで判断する

モンテカルロ分析の結果を見るとき、平均最終利益だけで判断するのは危険です。平均値は一部の大きな成功シナリオに引っ張られます。個人投資家が見るべきなのは、中央値、下位10%、下位5%、下位1%です。特に資金管理では、下位5%の最大ドローダウンを重視するべきです。平均的には儲かるが、悪いケースで大きく沈む戦略は、実際には続けにくいからです。

Excelやスプレッドシートで簡易的に行う方法

高度なプログラミングを使わなくても、簡易的なモンテカルロ分析はExcelやGoogleスプレッドシートでできます。まず、過去トレードのR倍率を1列に並べます。次に、別列でRAND関数を使って乱数を作り、その乱数順にトレード結果を並べ替えます。並べ替えたR倍率に対して、初期資金と1回あたりリスクを掛けて資金推移を計算します。

これを手動で何度も繰り返すのは大変ですが、簡易版なら100回程度でも十分に気づきがあります。重要なのは、バックテストの1本線だけを見ないことです。何度か並べ替えるだけでも、損益曲線がかなり違う形になることが分かります。特に、序盤に負けが集中するパターンを見れば、実運用開始直後の苦しさを想像できます。

Excelで見るべき項目は、各シナリオの最終資金、最大資金からの下落率、最低資金、最大連敗です。条件付き書式を使ってドローダウンが20%を超えた箇所を赤く表示すると、戦略の危険地帯が視覚的に分かります。厳密な分析にはPythonなどが便利ですが、最初の理解には表計算でも十分です。

Pythonで行う場合の考え方

Pythonを使うと、10,000回以上のシミュレーションを短時間で実行できます。基本的な流れは、過去トレードのR倍率リストを読み込み、ランダムにシャッフルし、資金曲線を計算し、最大ドローダウンや最終損益を保存するだけです。難しい数式よりも、検証条件を正しく設計することの方が重要です。

個人投資家がPythonで実装する場合、最初から複雑なモデルにする必要はありません。まずは「過去のR倍率をランダムに並べ替える」「1回あたりリスクを0.5%、1%、2%で比較する」「最大ドローダウンの95パーセンタイルを見る」という3点だけで十分です。その後、スリッページ、手数料、急変時の損失拡大、複数戦略の同時運用などを追加していけばよいです。

注意点として、Pythonで出た数値を過信してはいけません。シミュレーションは入力データの質に依存します。過去データが偏っていれば、出力も偏ります。相場環境が大きく変われば、過去の勝率や損益分布は崩れます。したがって、モンテカルロ分析は将来を予言するものではなく、「この戦略を運用するなら、少なくともこれくらいの悪化は覚悟すべき」という耐久検査として使うのが正しい姿勢です。

複数戦略を組み合わせるときの使い方

モンテカルロ分析は、単体戦略だけでなく、複数戦略の組み合わせにも有効です。たとえば、トレンドフォロー、逆張り、ブレイクアウト、高配当株の押し目買い、指数ETF積立など、性質の違う戦略を組み合わせた場合、全体のドローダウンがどう変わるかを確認できます。

重要なのは、相関です。単体では優秀な戦略でも、同じ局面で同時に負ける戦略を複数持っていると、分散効果は弱くなります。たとえば、小型グロース株のブレイクアウト戦略とNASDAQレバレッジETFの押し目買い戦略は、どちらもリスクオン相場に強く、金利上昇やグロース株売りには同時に弱くなりやすいです。見た目は別戦略でも、実質的には同じリスクを取っている可能性があります。

複数戦略のモンテカルロ分析では、各戦略の損益を単純にバラバラにシャッフルするだけでなく、同じ相場局面で同時に悪化する可能性も考慮する必要があります。簡易的には、保守的なケースとして複数戦略の悪い期間が重なるシナリオを作ってみるとよいです。もしその状態でも資金が耐えられるなら、ポートフォリオとしての安定性は高いと判断できます。

裁量トレードにも使える理由

モンテカルロ分析はシステムトレード専用ではありません。裁量トレードでも、売買記録をきちんと残していれば使えます。むしろ裁量トレーダーほど、自分の成績を過大評価しやすいため有効です。過去3カ月で利益が出ていても、それが実力なのか、たまたま相場環境が合っていただけなのかは分かりません。売買記録をR倍率で整理し、順番を入れ替えてみることで、成績のブレを確認できます。

裁量トレードで特に見たいのは、連敗時の行動です。モンテカルロ分析で「この手法なら12連敗程度はあり得る」と分かっていれば、5連敗でルールを壊す必要はありません。逆に、想定最大連敗を超えて明らかに成績が悪化しているなら、相場環境が変わったか、判断精度が落ちている可能性があります。感情ではなく、統計的な基準で手法を止めるか続けるかを判断できます。

実運用に落とし込むチェックリスト

モンテカルロ分析を実運用に使うなら、次のチェックが有効です。第一に、トレード数は十分か。第二に、手数料とスリッページを保守的に入れているか。第三に、最大ドローダウンの95パーセンタイルを見ているか。第四に、許容ドローダウンから逆算してロットを決めているか。第五に、連敗回数を事前に把握しているか。第六に、下位シナリオでも運用継続できるか。第七に、複数戦略の相関を考慮しているか。

このチェックを通すだけで、戦略運用の質は大きく変わります。特に重要なのは、ロットを利益目標から決めないことです。「毎月10万円欲しいから、このロットにする」という決め方は危険です。正しい順番は、「この戦略の悪いケースでは最大ドローダウンがこれくらいになる」「自分はここまでなら耐えられる」「だからロットはこの水準まで」という流れです。

モンテカルロ分析で戦略を改善する視点

モンテカルロ分析は、単に危険性を測るだけでなく、戦略改善にも使えます。たとえば、最大ドローダウンが深すぎる場合、損切り幅を狭くするより、エントリー回数を減らして質を上げる方が有効な場合があります。連敗が長すぎる場合は、相場環境フィルターを追加して、勝率が極端に落ちる局面を避けることが考えられます。最終損益の分布が広すぎる場合は、利確ルールを一部固定化して、成果のブレを抑える方法があります。

ただし、改善のやりすぎには注意が必要です。モンテカルロ分析の結果を見ながら条件を細かく調整しすぎると、カーブフィッティングになります。過去データに最適化された戦略は、将来に弱くなります。改善は、論理的な理由がある場合に限定するべきです。たとえば「決算前後はギャップリスクが大きいから除外する」「流動性が低い銘柄はスリッページが大きいから除外する」といった、相場構造に基づく改善は有効です。

投資家が最終的に見るべき結論

モンテカルロ分析で最終的に判断すべきことは、「この戦略は儲かるか」ではなく、「この戦略を自分の資金量と精神状態で継続できるか」です。どれほど期待値が高くても、途中で耐えられずに停止すれば意味がありません。逆に、派手な利益は出なくても、悪いケースを把握したうえで淡々と続けられる戦略は、長期的に強い武器になります。

実践的には、バックテストで良さそうな戦略を見つけたら、すぐに実運用へ移るのではなく、モンテカルロ分析で耐久性を確認します。最大ドローダウン、最大連敗、下位シナリオの最終損益、破産確率を見ます。そのうえで、許容できるロットまで下げ、少額でフォワードテストを行い、実際の約定、スリッページ、心理的負荷を確認します。この順番を守るだけで、無謀な戦略運用はかなり減らせます。

投資で生き残るために必要なのは、完璧な予測ではありません。悪い展開を事前に想定し、それでも破綻しない設計にしておくことです。モンテカルロ分析は、そのための現実的な検査手段です。バックテストの美しい右肩上がりに安心するのではなく、何千通りもの悪い未来を先に見て、それでも続けられる戦略だけを選ぶ。この姿勢が、長期的な資産形成とトレード成績の安定につながります。

コメント

タイトルとURLをコピーしました