カーブフィッティングを回避する戦略検証の実践手順:個人投資家がバックテストで騙されない方法

システムトレード

バックテストで右肩上がりの資産曲線が出ると、多くの投資家は「これは使える」と感じます。しかし、実際に運用を始めるとすぐに負け始める戦略は珍しくありません。その最大の原因の一つが、カーブフィッティングです。カーブフィッティングとは、過去データに合わせすぎた結果、将来の相場では通用しない売買ルールを作ってしまうことです。

投資戦略の検証では、過去の成績を確認すること自体は重要です。ただし、過去に最もよく見える条件を探す作業と、将来も機能しやすい優位性を見つける作業はまったく別物です。個人投資家がシステムトレード、株式スクリーニング、ETF積立ルール、FX自動売買、暗号資産の売買ロジックを作る場合、この違いを理解していないと、見た目だけ美しい戦略に資金を投入してしまいます。

この記事では、カーブフィッティングを単なる理論ではなく、実際の投資判断でどう避けるかに絞って解説します。パラメータの増やしすぎ、検証期間の切り取り、銘柄選定の後出し、損切り幅の過剰最適化、指標の組み合わせ過多など、個人投資家がやりがちな失敗を具体例で整理します。そのうえで、実運用に耐えやすい戦略検証の手順を、初歩から実践レベルまで段階的に説明します。

スポンサーリンク
【DMM FX】入金

カーブフィッティングとは何か

カーブフィッティングは、過去の値動きに売買ルールを過度に合わせ込むことです。たとえば、過去10年のある銘柄で「移動平均線17日と43日のクロスが最も利益率が高かった」とします。この数字だけを見ると、17日と43日の組み合わせに特別な意味があるように感じます。しかし、実際にはたまたま過去の値動きに合っただけかもしれません。

投資戦略で重要なのは、過去に儲かったかではなく、なぜ儲かったのかです。理由が説明できない数字の組み合わせは、将来に再現する根拠が弱くなります。移動平均線であれば、「短期トレンドが中期トレンドを上回る局面で上昇モメンタムに乗る」という考え方には意味があります。しかし、「17日と43日でなければならない」という主張には、通常それほど強い合理性はありません。

カーブフィッティングが厄介なのは、結果だけを見ると非常に魅力的に見える点です。勝率が高く、最大ドローダウンが小さく、利益曲線が滑らかに見える戦略ほど、過去データへの過剰適合で作られている可能性があります。特に、何百通りもの条件を試して最も成績が良いものだけを採用した場合、その成績は実力ではなく偶然の産物である可能性が高くなります。

なぜ個人投資家ほどカーブフィッティングに陥りやすいのか

個人投資家は、機関投資家に比べて検証環境が自由です。これは強みでもありますが、同時に危険でもあります。自由に条件を変えられるため、「勝てる条件が見つかるまで探す」という作業になりやすいからです。検証ツール、TradingView、Python、Excel、MQL4などを使えば、パラメータの変更は簡単です。簡単だからこそ、気づかないうちに過去データへ合わせ込みすぎます。

典型的なのは、最初に仮説を持たずに検証を始めるケースです。「何か勝てるルールはないか」と考え、RSI、MACD、移動平均線、ボリンジャーバンド、出来高、曜日、時間帯、決算日、信用倍率などを次々に組み合わせます。すると、どこかで非常に良い結果が出ます。しかし、それは膨大な試行回数の中で偶然当たっただけかもしれません。

もう一つの原因は、損失を避けたい心理です。バックテスト上の損失期間を見ると、投資家はその期間を回避する条件を追加したくなります。「この年だけ負けているから除外しよう」「この銘柄群は悪いから対象外にしよう」「この時間帯は成績が悪いから取引しないようにしよう」と条件を足していくと、過去の欠点は消えます。しかし、将来の相場では別の欠点が出てきます。

投資戦略は、多少の負けを含んでいる方が自然です。負けがほとんどない戦略は魅力的ですが、現実の市場ではスリッページ、手数料、流動性、急変動、約定遅延、心理的なミスが発生します。バックテスト上で完璧に近い戦略ほど、むしろ疑って見るべきです。

カーブフィッティングが起きる代表的なパターン

パラメータを細かく最適化しすぎる

最も多いのは、パラメータを細かく調整しすぎるパターンです。たとえば、RSIの買い条件を20、21、22、23、24、25と細かく試し、最も成績が良かった23を採用するような検証です。さらに利確幅を4.5%、損切り幅を3.2%、保有日数を7日、出来高倍率を1.8倍などと細かく決めると、戦略は過去データ専用の形になっていきます。

実運用で使いやすいルールは、多少パラメータを変えても成績が大きく崩れにくいものです。RSIが23なら勝てるが22や24では急に負けるという戦略は、優位性が弱いと考えるべきです。反対に、RSI20から30の範囲で似たような成績が出るなら、その戦略には一定の頑健性があります。

検証期間を都合よく切り取る

相場にはトレンド相場、レンジ相場、金融緩和局面、金融引き締め局面、暴落局面、低ボラティリティ局面があります。特定の期間だけに強い戦略を、すべての相場で通用するかのように扱うと危険です。たとえば、強い上昇相場だけで検証した順張り戦略は、横ばい相場や下落相場で急に機能しなくなる可能性があります。

検証期間を選ぶときは、戦略に都合の良い期間だけを使わないことが重要です。過去の暴落期、急騰期、金融政策の転換期、ボラティリティが低い時期をできるだけ含めます。データが少ない場合でも、最低限「上昇相場だけで勝っているのか」「下落相場でも損失が制御されているのか」を分けて確認する必要があります。

銘柄を後出しで選んでしまう

株式投資のバックテストでは、銘柄選定の後出しが大きな問題になります。現在まで生き残っている優良企業だけを使って過去検証すると、当然ながら良い結果が出やすくなります。これはサバイバーシップバイアスと呼ばれる問題です。実際の投資では、当時は将来の勝ち組がどの銘柄なのか分かりません。

たとえば、現在の大型成長株だけを対象に「長期移動平均線を上回ったら買う」という検証をすれば、見事な成績になるかもしれません。しかし、その裏には上場廃止、業績悪化、長期低迷した銘柄が除外されている可能性があります。個別株戦略では、当時存在した銘柄群をできるだけ再現し、現在の勝ち組だけを使わないことが重要です。

手数料・スリッページ・税金を軽視する

短期売買ほど、取引コストの影響は大きくなります。バックテストで年利20%に見える戦略でも、売買回数が多い場合、手数料やスリッページを考慮すると成績が大きく低下します。特に小型株、流動性の低いETF、暗号資産のアルトコイン、FXの早朝時間帯などでは、表示価格どおりに約定できるとは限りません。

カーブフィッティングされた戦略は、わずかなコスト増加で利益が消えることがあります。これは優位性が薄い証拠です。検証時には、実際より少し厳しめのコストを入れるべきです。たとえば、売買代金が少ない銘柄を扱うなら、想定スリッページを大きめに置きます。FXやCFDであれば、スプレッド拡大時の影響も考えます。

条件を追加しすぎる

条件を増やすほど、過去の成績は改善しやすくなります。たとえば「株価が25日移動平均線を上回る」「RSIが40以上」「出来高が20日平均の1.5倍以上」「日経平均が上昇」「ドル円が円安」「決算発表から5営業日以内ではない」「月曜日は取引しない」といった条件を重ねると、バックテストの悪い取引をかなり消せます。

しかし、条件が増えるほど取引回数は減り、偶然の影響が大きくなります。取引回数が30回しかない戦略で勝率70%と表示されても、統計的な信頼性は高くありません。実際には、数回の勝ちトレードが成績を押し上げているだけかもしれません。条件は少なく、意味が説明できるものに限定するべきです。

カーブフィッティングを見抜くためのチェックポイント

カーブフィッティングを完全にゼロにすることは困難です。しかし、危険な戦略を見抜くためのチェックポイントはあります。まず確認すべきは、パラメータを少し変えても成績が維持されるかです。たとえば、移動平均線の期間を20日から25日、30日に変えたとき、すべて大きく崩れるなら注意が必要です。

次に、利益が特定の期間に集中していないかを見ます。10年分のバックテストで総利益が大きくても、その大半が1年だけで発生しているなら、再現性は疑わしくなります。理想は、相場環境によって波はありつつも、複数の期間で一定の優位性が確認できることです。

さらに、特定の銘柄や特定のイベントだけに依存していないかも重要です。たとえば、ある一つの急騰銘柄を取れたことで全体成績が良く見える戦略は、次に同じことが起きる保証がありません。個別株戦略では、銘柄別損益、業種別損益、時価総額別損益を分けて確認すると、どこに依存しているかが見えてきます。

最後に、説明できないルールが多くないかを見ます。「水曜日だけ買う」「RSIが37.5以上なら買う」「移動平均線13日と47日だけが良い」など、合理的な説明が難しい条件が多い戦略は危険です。曜日効果のように市場構造で説明できる場合もありますが、説明できないなら偶然の可能性を疑うべきです。

実運用に耐える検証手順

最初に仮説を文章で書く

検証を始める前に、売買ルールの仮説を文章で書きます。これは非常に重要です。たとえば、「決算後に上方修正を発表し、出来高を伴って高値を更新した銘柄は、機関投資家の買いが継続しやすいため、短期から中期で上昇しやすい」というように、なぜ利益が出るのかを先に説明します。

仮説がないまま検証すると、結果に合わせて理由を後付けしてしまいます。これがカーブフィッティングの入口です。仮説を先に書いておけば、あとから都合よく条件を追加することを防ぎやすくなります。検証ノートには、検証前の仮説、採用する条件、除外する条件、見る指標を記録しておくとよいです。

データを学習期間と検証期間に分ける

次に、データを二つに分けます。一つは戦略を作るための期間、もう一つは完成した戦略を確認するための期間です。前者をインサンプル、後者をアウトオブサンプルと呼びます。たとえば2015年から2021年までを戦略作成に使い、2022年から2025年までを最終確認に使うイメージです。

重要なのは、アウトオブサンプル期間を何度も見ながら調整しないことです。最終確認用の期間を見てから条件を変更すると、その期間も事実上、戦略作成に使ったことになります。これでは意味がありません。アウトオブサンプルは、完成したルールを一度だけ試す試験会場のように扱うべきです。

パラメータは点ではなく範囲で見る

パラメータ最適化では、最も良い一点を探すのではなく、良い成績が広い範囲で出ているかを確認します。たとえば、移動平均線の短期を10日から30日、長期を40日から100日で試したとします。このとき、17日と68日だけが突出して良いなら危険です。20日前後と60日前後の広い範囲で安定していれば、優位性がある可能性が高まります。

この考え方をパラメータの島と呼ぶと分かりやすいです。安定した戦略は、利益が出るパラメータ領域が島のように広がっています。一方、カーブフィッティングされた戦略は、利益が出る場所が針の先のように一点だけです。個人投資家は、最高利益の数字ではなく、利益が出る範囲の広さを見るべきです。

取引回数を必ず確認する

バックテストの勝率や利益率だけを見るのは危険です。必ず取引回数を確認します。取引回数が少なすぎると、数回の偶然で結果が大きく変わります。たとえば、10回の取引で8勝2敗の勝率80%は見栄えが良いですが、次の10回で逆転する可能性があります。

必要な取引回数は戦略の種類によって異なります。長期投資なら取引回数が少なくても仕方ありませんが、短期売買であれば最低でも数百回単位の検証が欲しいところです。個別株のスクリーニング戦略なら、銘柄数と期間を増やして、できるだけ多くのサンプルで確認します。

ウォークフォワード分析を使う

より実践的な検証方法として、ウォークフォワード分析があります。これは、一定期間でルールを調整し、その後の期間で運用したと仮定して検証する方法です。たとえば、最初の3年でパラメータを決め、次の1年で成績を確認します。次に期間を1年ずらして、また3年で調整し、次の1年で確認します。

この方法は、実際の投資に近い検証になります。投資家は常に過去の情報だけを使って将来に臨むからです。ウォークフォワードで安定している戦略は、単一期間のバックテストより信頼度が高くなります。ただし、ここでも調整しすぎるとカーブフィッティングになるため、パラメータの候補は事前に絞っておく必要があります。

具体例:移動平均線戦略で考えるカーブフィッティング

ここで、簡単な例を考えます。ある投資家が日本株の上昇トレンドを狙うために、「終値が移動平均線を上回ったら買い、下回ったら売る」という戦略を検証したとします。最初に25日移動平均線で検証すると、年率8%、最大ドローダウン20%でした。そこで、10日から200日まで移動平均線の期間をすべて試したところ、73日移動平均線が年率18%、最大ドローダウン8%と最も良い結果になりました。

このとき、73日移動平均線をそのまま採用するのは危険です。73という数字に市場構造上の強い意味があるとは限らないからです。まず、60日、65日、70日、75日、80日でも似たような成績になるかを確認します。もし73日だけが極端に良く、周辺が悪いなら過去データへの適合を疑います。

次に、検証期間を分けます。2012年から2018年で73日が良かったとしても、2019年から2025年で機能するかを見ます。さらに、上昇相場だけでなく、急落相場や横ばい相場でも損失が制御されているかを確認します。もし上昇相場では強いがレンジでは負け続けるなら、その戦略はトレンド相場専用として扱う必要があります。

実践的には、最も成績が良い73日を使うより、60日から80日の範囲で安定しているなら中間の70日を採用する方が堅実です。最高成績を取りに行くのではなく、多少ズレても壊れにくい設定を選ぶ。この発想が、カーブフィッティング回避の基本です。

具体例:決算後の株価反応を使う戦略

もう一つ、個別株でよくある例を考えます。決算発表後に株価が上昇した銘柄を買う戦略です。条件は「決算翌日に5%以上上昇」「出来高が20日平均の2倍以上」「翌日も高値を更新したら買い」とします。この戦略は、好決算に対する市場の再評価を狙う合理性があります。

しかし、ここから条件を増やしすぎると危険です。「時価総額は300億円以上800億円以下」「PERは18倍以上26倍以下」「営業利益率は12%以上」「信用倍率は3倍以下」「火曜日発表の決算だけ」「上昇率は6.2%以上」などと細かくすると、過去には良く見えるかもしれませんが、将来の取引機会は大きく減ります。

このような戦略では、まずシンプルな条件で優位性を確認します。決算後ギャップアップ、出来高増加、高値維持という三つ程度に絞ります。そのうえで、時価総額別、業種別、地合い別に成績を確認します。もし小型株だけが極端に良いなら、小型株戦略として設計し直します。大型株でも小型株でも一定の効果があるなら、より汎用性のある戦略として評価できます。

また、決算戦略では約定価格の扱いも重要です。決算翌日の始値で買える前提なのか、寄り付き後のVWAPに近い価格で買う前提なのかで結果は変わります。出来高が少ない銘柄では、バックテスト上の価格で十分な数量を買えない可能性もあります。実運用では、流動性フィルターを入れることが不可欠です。

バックテストで見るべき指標

バックテストでは、利益率だけを見るべきではありません。最低限、総利益、年率リターン、最大ドローダウン、勝率、平均利益、平均損失、プロフィットファクター、取引回数、連敗回数、月別損益、年別損益を確認します。特に重要なのは、最大ドローダウンと平均損益です。

最大ドローダウンは、資産がピークからどれだけ減ったかを示します。年率リターンが高くても、最大ドローダウンが深すぎる戦略は、実運用で続けるのが難しくなります。バックテストで30%のドローダウンがある戦略は、実運用では40%以上を覚悟する必要があります。実際の運用では、心理的な負荷やコストによって成績が悪化しやすいからです。

平均利益と平均損失も重要です。勝率が高くても、1回の損失が大きすぎる戦略は危険です。逆に勝率が低くても、利益が損失より十分大きければ成立する場合があります。投資戦略は勝率だけで判断してはいけません。重要なのは期待値です。

期待値は、1回の取引あたり平均してどれだけ利益が見込めるかを表します。簡単に言えば、勝率と平均利益、敗率と平均損失を組み合わせた数字です。期待値がプラスであり、かつ取引回数が十分にあるなら、戦略として検討する価値があります。ただし、その期待値がコスト控除後でも残っているかを必ず確認します。

過剰最適化を防ぐルール設計の考え方

カーブフィッティングを防ぐには、ルール設計の段階で制約を置くことが効果的です。まず、条件の数を制限します。売買条件はできれば三つから五つ程度に収めます。条件が多いほど成績は良く見えますが、再現性は落ちやすくなります。

次に、パラメータは丸い数字を使います。たとえば、移動平均線なら20日、25日、50日、75日、100日、200日など、市場参加者が見やすい数字を優先します。RSIなら30、40、50、60、70のような区切りを使います。37.8や62.3のような細かい数字は、特別な根拠がない限り避けるべきです。

さらに、ルールの意味を言語化します。「なぜこの条件が必要なのか」を説明できないなら、その条件は削る候補です。たとえば、「出来高が増えている銘柄を対象にする」のは、資金流入を確認する意味があります。一方、「特定の月の第2週だけ買う」という条件は、明確な季節性や制度要因がない限り、偶然の可能性が高くなります。

最後に、戦略を複雑にする前に、シンプルな状態で優位性があるかを確認します。単純なルールでまったく利益が出ない戦略を、条件追加だけで勝てるようにしても、実運用では崩れやすくなります。良い戦略は、粗い状態でもある程度の優位性が見えます。

資金管理まで含めて検証する

売買ルールだけでなく、資金管理も検証に含める必要があります。同じ売買シグナルでも、1回あたり資金の何%を投入するかで成績は大きく変わります。カーブフィッティングされた戦略は、ポジションサイズを少し変えるだけでドローダウンが許容できない水準になることがあります。

実践的には、1回の取引で許容する損失額を先に決めます。たとえば、総資金500万円で1回の許容損失を0.5%、つまり2万5千円に設定します。損切り幅が5%なら、投資額は50万円までです。損切り幅が10%なら、投資額は25万円までになります。このように、損切り幅と投資額を連動させると、戦略の破綻リスクを抑えやすくなります。

また、同時保有銘柄数も重要です。バックテストではシグナルが出た銘柄をすべて買う前提になりがちですが、実際には資金に限りがあります。同時に20銘柄もシグナルが出た場合、どれを優先するかを決めておかなければなりません。出来高、時価総額、期待値、リスクリワード、地合いなど、優先順位のルールも検証に含めるべきです。

実運用前に行うペーパートレード

バックテストで良い結果が出ても、すぐに大きな資金を投入するべきではありません。まずはペーパートレード、または最小ロットでの実運用を行います。ここで確認するのは、戦略の成績だけではありません。シグナルを実際に確認できるか、発注が間に合うか、約定価格が想定とズレないか、心理的にルールを守れるかを確認します。

特に個別株の短期戦略では、寄り付き直後の値動きや板の薄さによって、バックテスト通りに売買できないことがあります。成行で入ると高値掴みになり、指値で待つと約定しない。このような現実の摩擦は、バックテストだけでは分かりません。ペーパートレード期間中は、理論上の約定価格と実際に入れそうな価格を記録します。

最低でも数十回のシグナルを観察し、バックテストとのズレを確認します。ズレが大きい場合、戦略そのものよりも執行方法を見直す必要があります。たとえば、寄り付き成行ではなく、寄り付き後30分の高値更新で入る、VWAPを基準に指値を置く、出来高が一定以上の銘柄だけに絞るなどの改善が考えられます。

カーブフィッティングを避ける検証ノートの作り方

検証ノートを作ると、後出しの条件追加を防ぎやすくなります。最低限、検証日、戦略名、仮説、対象市場、対象期間、売買条件、除外条件、コスト条件、検証前に見る指標、結果、採用判断、改善案を記録します。面倒に見えますが、これを行うだけで検証の質は大きく上がります。

特に重要なのは、ボツにした戦略も残すことです。多くの投資家は、良かった検証結果だけを保存します。しかし、失敗した検証を残さないと、自分がどれだけ多くの試行を行ったか分からなくなります。100個試して1個だけ良い結果が出たなら、その1個は偶然かもしれません。試行回数を記録することは、カーブフィッティング対策そのものです。

検証ノートには、なぜその戦略を採用しないのかも書きます。「取引回数が少ない」「特定期間に利益が集中」「手数料控除後に期待値が薄い」「パラメータ周辺の成績が不安定」「実運用で約定しにくい」など、棄却理由を明確にします。これにより、後から同じ失敗を繰り返しにくくなります。

個人投資家向けの実践チェックリスト

戦略を採用する前に、次の観点を確認します。第一に、売買ルールの理由を説明できるか。第二に、パラメータを少し変えても成績が崩れないか。第三に、利益が特定期間や特定銘柄に集中していないか。第四に、取引回数が十分か。第五に、手数料とスリッページを控除しても期待値が残るか。第六に、アウトオブサンプルで機能するか。第七に、実際の資金量で約定可能か。第八に、最大ドローダウンを心理的に耐えられるか。

このチェックリストのうち、複数に問題がある戦略は採用を見送るべきです。投資では、勝てる戦略を探すこと以上に、危険な戦略を捨てることが重要です。特に、バックテストだけが異常に良い戦略は、慎重に扱う必要があります。

逆に、バックテストの見た目が完璧でなくても、理屈が明確で、複数期間でそこそこ機能し、コスト控除後も期待値があり、ドローダウンが許容範囲なら、実運用候補になります。実際の投資では、完璧な戦略よりも、欠点を理解したうえで運用できる戦略の方が価値があります。

戦略を改善するときの注意点

戦略改善は必要ですが、改善とカーブフィッティングは紙一重です。改善するときは、結果を良くするためではなく、仮説を明確にするために行います。たとえば、決算後上昇戦略で小型株の成績が良く大型株の成績が悪いなら、「小型株は機関投資家の再評価が遅れやすい」という仮説を立て直し、小型株戦略として再設計するのは合理的です。

一方で、「この期間の負けを消したいから条件を追加する」という改善は危険です。負けた理由が市場構造で説明できるならよいですが、単に過去の損失を消すための条件追加は過剰最適化につながります。改善するたびに、なぜその条件が将来も意味を持つのかを確認する必要があります。

改善後は、必ず再度アウトオブサンプル、ウォークフォワード、パラメータ範囲の安定性を確認します。改善によって成績が上がっても、頑健性が落ちているなら採用すべきではありません。戦略開発では、最高益を目指すより、壊れにくさを優先する方が長期的には有利です。

実運用後もカーブフィッティングを監視する

カーブフィッティング対策は、バックテスト段階だけで終わりません。実運用を始めた後も、成績が想定範囲内かを監視します。重要なのは、少し負けたからといってすぐにルールを変えないことです。どんな戦略にも不調期があります。不調のたびに条件を変えると、実運用でも過剰最適化が起こります。

運用前に、許容する最大ドローダウン、連敗回数、月間損失、停止条件を決めておきます。たとえば、「バックテスト上の最大ドローダウンの1.5倍を超えたら停止」「想定最大連敗の2倍に到達したら検証し直す」といったルールです。事前に停止条件を決めることで、感情的な判断を減らせます。

また、実運用成績をバックテストと比較するときは、単純な損益だけでなく、約定価格、スリッページ、シグナル発生数、勝率、平均利益、平均損失を分けて見ます。バックテストではシグナルが多いのに実運用では少ないなら、データ取得や条件判定に問題があるかもしれません。勝率は同程度なのに損益が悪いなら、執行コストが想定より大きい可能性があります。

まとめ

カーブフィッティングは、投資戦略を作るうえで避けて通れない問題です。過去データを使う限り、どの戦略にも多少の過剰適合リスクがあります。重要なのは、過去の成績を鵜呑みにせず、将来に再現しやすい優位性かどうかを冷静に確認することです。

実践では、最初に仮説を書く、条件を増やしすぎない、パラメータを範囲で見る、検証期間を分ける、取引回数を確認する、コストを厳しめに入れる、ウォークフォワード分析を使う、ペーパートレードで現実の約定を確認する、という流れが有効です。これらを徹底するだけで、見た目だけ良い戦略をかなり排除できます。

投資家が目指すべきなのは、バックテストで最も美しい資産曲線を作ることではありません。多少の不調期があり、欠点も見えているが、それでも合理的な理由があり、将来も使える可能性が高い戦略を選ぶことです。過去に合わせるのではなく、市場構造に合ったルールを作る。この視点を持てるかどうかが、長期的な運用成績を大きく左右します。

カーブフィッティングを避ける姿勢は、単なる検証技術ではなく、投資家としての防御力そのものです。派手な成績に飛びつく前に、その成績が偶然ではないか、コスト控除後も残る優位性なのか、実際に自分の資金量と心理で運用できるのかを確認してください。その積み重ねが、バックテスト上の勝者ではなく、実運用で生き残る投資家を作ります。

コメント

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