【技術レポート】フォワードテスト乖離とPF悪化の真因 ── WFAを用いたロジック再構築と最大ドローダウンの制御事例
実運用に耐えうる堅牢なシステム開発を追求するSemura Lab.からの技術レポートです。
現在、当ラボでは複数のシステムについて長期のウォークフォワード分析(WFA)を実施した上で、実力計測および審査を進めています。本稿では、「なぜ高いプロフィットファクター(PF)のシステムがフォワードテストで悪化するのか?」「最大ドローダウンはどこまで許容すべきか?」という課題に対し、具体的な再構築事例(USDJPY v4)を交えてその構造的要因と解決策を解説します。
再構築事例001:USDJPY v4 ── 移動平均クロス一本の着眼点が、運用ロジックに育つまで
移動平均クロス一本の着眼点を、ラボの三軸で診断し、ウォークフォワード検証と実運用制約の内蔵を経て運用ロジックへ再構築した記録である。検証10年中8年がプラス、複利8.29倍。だが本稿で見てほしいのは、その数字そのものではない。「素のアイデア」と「再構築後」を同じデータ・同じ期間・同じ会計で並べたとき、両者の間にどれだけの差が生まれたか――その差こそが、再構築というプロセスの正体である。
1. 芽 ── 着眼点 USDJPYのトレンドに、移動平均を2本引いて、速い線が遅い線を上抜けたら買い・下抜けたら売り。それだけでついていけないか。 これが出発点である。サイジングは固定。エントリー後の確認手続きはなし。証拠金もスプレッドも、週末をまたぐリスクも考慮していない。動くかどうかすら分からない、ひとつの問いにすぎない。 まず、この着眼点を素のまま回してみる。確認待ちなし・ウォークフォワードなし・固定ロット・実スプレッド0.6pip込み。結果がこれである。
[図①:素のMAクロス4ペアの資産曲線。最も良かった固定ペアでも約1.8倍にとどまる。]
一見、右肩上がりに見える。ここが最初の落とし穴だ。バックテストが右肩上がりでも、それがそのままリアル口座の勝ちにはならない。この曲線が上を向いている理由の大半は、ロジックの優秀さではなく、USDJPYが2016年から2025年にかけて108円台から158円台へほぼ一方通行で上げた「地合い」にある。素朴なトレンド追随は、強いトレンドが出ている限り、トレンドに乗るだけで一応プラスになる。相場が味方したから上を向いた曲線を、ロジックの実力と読み違えること――これが、多くのEAが「バックテストは綺麗なのに実口座で崩れる」最初の入り口である。 Semura Lab. では、この段階のものを「ロジック」とは呼ばない。着眼点である。着眼点は、まず診断にかける。
2. 診断 ── 三軸による評価
着眼点を、検体診断と同一の三軸で評価する。
軸1 物理的実行可能性 ── 実口座の制約に耐えるか
図①の曲線には、証拠金・同時保有数・ロスカットの概念が無い。全建玉を無制限に持てる前提で描かれた曲線だ。実口座では、維持率が割れれば強制決済される。この曲線は、そもそもリアル口座で持ちきれる保証がない「机上の右肩上がり」である。
軸2 論理的整合性 ── 未来データを見ていないか
未確定の足でクロスを判定して約定すれば、それは未来参照になる。まだ確定していない情報で入った取引は、バックテストの中でだけ成立する。ロジックが破綻しているかどうかを確認する第一歩は、「その足の判定に、その足の未来が混ざっていないか」を疑うことだ。ここが曖昧なままだと、検証結果は上振れる。
軸3 実世界適応力 ── 期間を変えても崩れないか
そして最も見落とされやすいのがここである。図①の「約1.8倍」は、4つの候補ペアの中で最も良かった1組を、終わってから選んだ数字だ。どのペアが当たりかは、事前には分からない。外せば1.6倍・最大DD−13%に落ちる。 過去の全期間に合わせてパラメータを固定すること――それは、検証期間にだけ合った数字を作る行為であり、カーブフィッティングそのものである。カーブフィッティングの見分け方は難しくない。「そのパラメータは、検証期間を見ずに決められたか?」と問えばいい。答えが No なら、その綺麗な曲線は過去に合わせて描いた絵にすぎない。最適化しすぎた不自然な右肩上がりは、期間を前へずらした瞬間――フォワードに出た瞬間――に乖離し、崩れる。
外部から持ち込まれるEAの多くは、ロジックが開示されないブラックボックスのまま、この「不自然な右肩上がり」だけを見せてくる。中身が見えないから、それが実力なのか過学習なのかを買い手は判断できない。Semura Lab. が中身を機械的に説明するのは、この不安を根元から潰すためである。
診断結果:リデザイン可。
三軸すべてに穴がある。しかし、トレンドに追随するという核そのものは物理的に妥当だった。核は生きている。穴は、ラボ基準に沿って一つずつ塞げる。
3. 育成 ── 年輪
リデザイン可と判定された着眼点に、ラボ基準の年輪を一つずつ巻いていく。各工程は、三軸のいずれかに対応する。
確定待ち(軸2): クロスが出ても即座には入らない。一定本数、クロス条件が保持されることを確認してから、確認に使った足より後の足で約定する。確認足は約定足より過去に置く。これで未来参照の余地を構造から排除した。
ウォークフォワード検証(軸3): パラメータを決め打ちにせず、各検証年について「直前3年の学習期間で最も成績の良かった上位3組」を選び、その3組を翌1年に適用する。これを年単位でスライドさせる。すべてのパラメータは過去のデータだけで決まり、検証期間は一切見ない。これが、フォワードで乖離しない――過学習を構造的に断つ――ための背骨である。 図①の「後から選んだ1.8倍」に対し、こちらは「実時間で選べた手だけ」で成績を積む。
適応サイジング(軸3/軸1): ロットを固定しない。直近のボラティリティを長期基準と比較して張りを調整し(いずれも過去足のみ=因果的)、値動きの素直さに応じて厚みを変える。
ドローダウンの止め方(軸1): 「最大ドローダウンが更新し続けるのを、どこで止めるか」。ここに明確な基準を持たないロジックは、いつか口座を溶かす。本ロジックは、含み損が深くなる局面で張りを段階的に抑え、さらに複利運用時の最大ドローダウンが−20%に収まるよう全体の張りを最初から設計している。DDは「祈って耐える」ものではなく、設計で天井を決めるものだ。
実運用制約の内蔵(軸1): 後付けではなく、設計の最初から実弾の条件を組み込む。利益は決済時にのみ計上する。証拠金は全建玉を合算して評価する。維持率が50%を割れば強制決済として扱う。ドローダウンは足内の最悪値で測る。週末をまたぐ建玉は持たない。スプレッドは実値0.6pipを控除する。
ひとつ、あえて逆張りしない設計についても記しておく。本ロジックの勝率は低い。高勝率で「コツコツ勝って一度にドカンと失う」構造――勝率だけ高く見せて、負け1回で利益を吐き出す典型――を、本ロジックは採らない。勝つ回数より、勝ったときの伸びで資産曲線を押し上げる。勝率の低さは欠陥ではなく、この性格の裏返しである。
4. 結実 ── 検証結果