【FX自動売買開発ログ #37】2023年で検証したら、100万円が70万円まで減った話

前回のおさらい

前回、DDが17.5%前後に達したらロングを削減し高ボラ反転ショートを追加するという設計で、2024年・2025年通しての成績を100万円→約440万8,000円・最大DD30.9%まで引き上げることができました。この設定は「Core v5暫定候補」として固定されています。今回は、この仕様を一切変更せずに、まだ一度も見ていない2023年のデータへ通す、という重要な検証です。

月別の安定性はまず確認できた

2023年に進む前に、Core v5候補の月別依存度を確認しました。2024年・2025年通しで100万円→約440万8,000円・最大DD30.9%、プラス18ヶ月・マイナス5ヶ月、最良月+35.5%・最悪月−15.6%です。最も貢献した2025年5月を除外しても概算で約325万円(+225%)、2024年10月を除外しても約338万円が残るため、特定の1ヶ月だけに依存した結果ではないことが確認できました。ただし、この2つの月の寄与自体は大きい、という留保もあります。

2023年と2026年、どちらを先に検証するか

ここで、2023年と2026年のどちらを先に検証すべきかという相談がありました。答えは明確で、2023年を先に、2026年はその後というものです。2023年は「Core v5のパラメータは変更しない・結果を見て最適化し直さない・原因分析だけ行う」という条件を守れば、準アウト・オブ・サンプル検証として使えます。一方2026年は、良くても悪くても無意識に戦略を調整したくなってしまうため、完全に最後まで残す必要がある、という位置づけの違いです。

「データは多いほど良いのか」という問いにも整理がありました。基本的には多い方が良いものの、重要なのはデータ量よりも使い方です。開発用・検証用・最終試験用を明確に分けることが良い使い方で、悪い使い方は複数年のデータを全部見ながら一番良いパラメータを探すことです。データが多いこと自体は過学習ではなく、同じデータを何度も見て条件を変え続けることが過学習である、という整理は、この検討全体を貫く重要な原則になっています。

2023年の結果は、事前基準を満たさなかった

Core v5の仕様を一切変えずに2023年データへ通した結果です。

  • 最終資産:約70万5,000円(収益率−29.5%)
  • 最大DD:52.2%
  • PF:0.912、取引数1,118
  • 最大連敗:16回、最長回復待ち:約254日
  • プラス月6・マイナス月5、最良月+9.8%・最悪月−17.3%

事前に決めていた2023年の合格基準(年間収益プラス・PF1超え・DD35%程度以内など)を、明確に下回る結果でした。

原因を切り分けると、防御なしのCore v4.1そのものを2023年で回しても収益率−22.1%・最大DD52.3%と、そもそも土台となる理論自体が2023年の相場ではうまく機能していなかったことが分かりました。さらに、2024年・2025年で有効だった高ボラ反転ショートは、2023年では逆に悪化要因になっていました(単独では収益率−30.5%・DD57.3%)。エンジン別に見ると、96本高値ブレイクだけが約+5.7万円・PF1.05とかろうじてプラスで、セッション引継ぎロング・低ボラ後ブレイクショート・スイングロング・高ボラ反転ショートはすべてマイナスという結果です。

防御モードの設計自体にも問題が見つかりました。DD18%で防御開始・DD10%で復帰という仕様のはずが、2023年では年間の約97%が防御モードのまま推移していたのです。年初に一度DD18%へ入った後ほとんど回復できず、ロングを常時30%以上削減し、機能していない反転ショートを追加し続ける、という状態が年間を通して続いていました。

防御モードが年間の約97%を占めた内訳ロング削減だけを残して反転ショートを外すと収益率−19.1%・DD45.4%と、防御なしよりは改善するため、「DD時にリスクを減らす」という考え方自体は無効ではないものの、「反転ショートを追加する」という部分は2023年では頑健でなかった、という切り分けができています。

この結果は残念なものですが、アウト・オブ・サンプル検証としてはむしろ大きな価値がありました。2024年・2025年だけを見ていた段階では、Core v5は非常に優秀な戦略に見えていましたが、2023年を加えることで、「特定の相場レジームでは強いが、すべての年で機能する普遍的な戦略ではない」ということが明らかになったからです。2023年の結果を見てパラメータを微調整すれば2023年もインサンプルに変わってしまうため、今のCore v5をそのまま2026年の最終検証へ進めるのは危険だ、という判断になりました。

champion-challenger方式というアイデア

ここで、「メインの理論で実際の取引をしつつ、他の複数理論もバックグラウンドで検証しておき、メインが不調なときだけ短期的に成績の良い理論へ臨時採用する」というアイデアが出されました。これは実務で言うchampion-challenger方式、あるいは戦略ローテーション型のメタ戦略に近い考え方です。

ただし、単純に「直近で一番儲かっている理論に乗り換える」というルールにすると、ピーク直後の理論をつかんでしまう、いわゆる成績追随のリスクが大きいという指摘がありました。そこで提案されたのが、現在実際に発注するChampion(メインのCore)と、本番では発注せずリアルタイムで仮想売買だけを行う複数のChallenger(トレンドフォロー・短期ブレイク・平均回帰・高ボラ反転・セッション特化・ロング抑制型など)を並行して走らせる構成です。Championが直近30〜60営業日でマイナス、PFが一定以下、高値から15〜20%のDD、といった条件が重なったときだけ、直近60日・120日リターン、最大DD、PF、Coreとの相関、取引数、スプレッド耐性といった複数指標から算出したスコアで最良のChallengerを選び、段階的に配分を移していく、という設計です。最低採用期間を20〜40営業日に設定する、スコア差が小さければ現状維持する、乗り換えコストも考慮する、といった歯止めも同時に提案されています。

この方式は2023年の状況にも合っていたはずだ、という振り返りもありました。2023年はCore全体が不調で、低ボラ後ブレイクショートも高ボラ反転ショートも悪く、96本ブレイクだけが比較的マシという状態です。champion-challenger方式があれば、途中でCoreの信頼度低下・96本ブレイク系の相対優位・不調エンジンの停止、という判断ができた可能性があります。ただし、これを今回の2023年の結果を見てから設計すると、それ自体が後知恵になってしまいます。最大のリスクは、この「戦略選択ルール」自体が過学習することです。何日で評価するか、どの指標を重視するか、いつ交代するか、何%配分するか、というメタ戦略側にも大量のパラメータが生まれるため、単体のCoreより過学習しやすい、という自己言及的な注意点が添えられました。対策として、候補戦略は少数に絞る、評価期間は固定する、指標は3〜5個に限定する、頻繁に再最適化しないといった原則が確認されています。

3年間を通して見た場合の首位は?

2023年をインサンプルとして含めた場合、3年間で最も成績の良い理論の探索も行われました。

3年間の総合首位は、96本高値ブレイク65%・セッション引継ぎロング35%という、squeeze_short(低ボラ後ブレイクショート)もswing_long(スイングロング)もDD防御も含まないシンプルな組み合わせでした。結果は100万円→約353万円(3年累積+253.0%)・PF1.12・最大DD47.1%です。年別では2023年−6.4%・2024年+94.2%・2025年+94.2%と、2023年こそマイナスながら、3年間を通した最終資産では比較した理論の中で最も高い数字でした。ただし最大DD47%はさすがに荒く、そのまま本番のメインにするには扱いにくい水準です。

一方、安定性を重視した候補として、Coreから低ボラ後ブレイクショートを除き、DD時にロングを30%削減する型も検証されました。結果は100万円→約286万9,000円(累積+186.9%)・最大DD40.1%・PF1.11で、年別では2023年−4.6%・2024年+62.9%・2025年+84.6%です。収益は先ほどの首位より低いものの、最大DDは40%まで抑えられています。

次回予告

次回は、この3年間インサンプル比較をさらに掘り下げ、2023年という「不調な年」の性質そのものを事前に見分けられないか、市場のレジームを判定する仕組みの検討に入ります。

※本シリーズは個人の技術検証・学習を目的とした開発記録であり、特定の投資手法や金融商品を推奨するものではありません。自動売買には元本割れのリスクがあり、掲載する内容を参考にした取引の結果について一切の責任を負いかねます。投資判断はご自身の責任で行ってください。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です