カーブフィッティングとは
カーブフィッティングとは、モデルやルールが特定のデータに合わせ込まれすぎて、そのデータでは高い精度が出るのに、別のデータでは精度が出ない状態を指します。バックテストで言えば、「この 1 年間だけで見ると勝率が高い設定」を探し当てても、その設定がたまたまその期間の値動きに合っていただけで、別の期間や将来では機能しないことがあります。
なぜ起きるのか
- パラメーター(移動平均の期間、SL/TP の幅など)を調整できる自由度が高いほど、過去データに偶然フィットする組み合わせが見つかりやすくなる
- 条件を追加すればするほど(「この時間帯だけ」「このインジケーターがこの値のときだけ」)、対象となるトレード数が絞られ、少ないサンプルでの偶然の結果を「効く条件」と誤認しやすくなる
- 成績が悪い設定を捨てて良い設定だけを採用する、という試行錯誤自体が、その期間に対する最適化そのものである
気づくための具体的なチェック
- トレード数は十分か — 数十件未満の結果は、勝率や損益率のブレが大きく、結論を出すには心もとない数です
- パラメーターへの感度 — 移動平均の期間を 20 から 19 や 21 に変えただけで成績が大きく崩れるなら、その 20 という数字自体に根拠が薄い可能性があります
- 期間を分けて検証したか — 条件を決めた期間と、成績を評価する期間が同じ(in-sample)になっていないか。異なる期間に分けて検証する考え方をウォークフォワード分析と呼びます
- 条件に後付けの説明をしていないか — 「なぜこの条件が機能するはずなのか」を先に説明できず、成績を見てから理由を考えているとしたら、その理由づけ自体が結果への後付けである可能性を疑う価値があります
逆算分析との関係
正直に書くと、「指定した期間の理想トレードから条件を逆算する」というアプローチは、性質上カーブフィッティングと同じ方向のリスクを持ちます。理想トレードに近い条件ほど、その期間では高い成績を示すのは当然だからです。
AIトレードナビの逆算分析は、この点を隠さずに扱っています。各シグナルについて「後知恵(理想トレードでの点灯率)」だけでなく「実際に機械的にエントリー・決済した場合の期待値」も併記し、効きは高いのに実トレードの期待値がマイナスなシグナルは「後知恵かも」として区別します。画面にも、これが同期間の評価(in-sample)であることを明示しています。
完全には避けられないこと
カーブフィッティングを完全にゼロにする方法はありません。過去データを見て条件を作る以上、多少なりとも過去に適応した結果になります。だからこそ、バックテストの成績だけで判断を終えず、条件を変えても崩れにくいか、異なる期間でも同じ傾向が出るかを確認し、実際の相場で運用しながら検証を続ける姿勢(フォワードテスト)が補完的に必要になります。
本記事は一般的な検証方法の解説であり、特定の手法や相場観を推奨するものではありません。バックテストは過去データによるシミュレーションであり、将来の成果を保証するものではありません。詳しくは免責事項・リスク開示をご覧ください。