カーブフィッティングを回避する戦略検証の実践法|使える売買ルールだけを残す考え方

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

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

投資戦略を作るとき、多くの個人投資家が最初に行うのはバックテストです。過去の株価、為替、先物、暗号資産などのデータに売買ルールを当てはめ、利益が出たか、最大ドローダウンはどの程度だったか、勝率はどれくらいかを確認します。これは非常に重要な作業です。しかし、バックテストの数字だけを見て「この戦略は勝てる」と判断すると、実運用で大きく崩れることがあります。その典型的な原因がカーブフィッティングです。

カーブフィッティングとは、過去データに対して売買ルールを過剰に最適化し、過去の値動きには極端に合うものの、未来の相場では機能しにくくなっている状態を指します。見た目は非常に優秀な戦略に見えます。損益曲線は右肩上がり、勝率も高く、最大ドローダウンも小さい。ところが実際に稼働させると、まったく利益が出ない、または短期間で想定以上の損失を出す。これは珍しい話ではありません。

重要なのは、カーブフィッティングは意図的な不正ではなく、真面目に検証している投資家ほど陥りやすいという点です。条件を少しずつ調整し、より良い結果を探す作業そのものは自然です。移動平均線を20日から25日に変える、RSIの閾値を30から28に変える、損切り幅を5%から4.5%に変える。このような調整を繰り返すうちに、いつの間にか「相場の本質」ではなく「過去データの偶然」に合わせた戦略になってしまいます。

この記事では、カーブフィッティングを避けるための考え方を、個人投資家が実際に使える形で解説します。単なる理論ではなく、ルール設計、検証期間の分け方、パラメータの扱い、アウトオブサンプル検証、ウォークフォワード分析、実運用前のチェック項目まで、具体例を交えて整理します。

バックテストが良すぎる戦略ほど危険な理由

バックテスト結果を見るとき、多くの人は総利益、勝率、プロフィットファクター、最大ドローダウンに注目します。もちろん、これらは重要な指標です。しかし、数字が良ければ良いほど安心できるわけではありません。むしろ、あまりにも美しい結果は疑うべきです。

たとえば、10年間の日本株データで検証した短期売買戦略が、勝率78%、プロフィットファクター3.8、最大ドローダウン4%、年率リターン35%という結果を出したとします。数字だけ見れば魅力的です。しかし、その戦略が「25日移動平均線を上回り、RSIが37以下で、出来高が過去18日平均の1.43倍以上、かつ前日比がマイナス1.7%以上、翌日の寄り付きで買い、3日後の引けで売る」といった細かすぎる条件で構成されているなら、注意が必要です。

なぜなら、その条件が経済的に説明できない可能性が高いからです。25日移動平均線にはまだ意味があります。RSIも過熱感を測る指標として理解できます。出来高増加も需給変化を示す可能性があります。しかし、18日平均、1.43倍、37、1.7%、3日後という細部が本当に将来も意味を持つのかは別問題です。過去データの中で偶然うまくいった数字を拾っているだけかもしれません。

バックテストは、過去の市場という一度しか起きなかったサンプルに対する検証です。相場には無数の偶然が含まれます。特定の時期にだけ強かった業種、特定の金融政策局面、特定の投資家行動、特定の流動性環境が存在します。そこに対して細かい条件を合わせすぎると、未来で再現されにくい戦略になります。

優れた戦略とは、過去データに完璧に合う戦略ではありません。多少荒くても、理屈があり、複数の期間・市場・銘柄群でそこそこ機能し、パラメータを少し変えても成績が大きく崩れない戦略です。この視点を持つだけで、バックテスト結果の見方は大きく変わります。

カーブフィッティングが起きる典型パターン

条件を増やしすぎる

最も多い失敗は、負けトレードを消そうとして条件を追加し続けることです。最初は単純な移動平均線ブレイク戦略だったものが、勝率を上げるためにRSI、MACD、出来高、ボリンジャーバンド、曜日、月末月初、決算日回避、ギャップ率などを次々に追加していく。すると、過去の負けトレードは確かに減ります。しかし、同時に未来で機能する普遍性も失われます。

条件が増えるほど、戦略は「相場の構造」を捉えるものではなく「過去の例外処理の集合」になります。実運用では、過去とまったく同じ例外は起きません。その結果、検証上は優秀でも、実際にはシグナルが少なすぎる、利益機会を逃す、想定外の局面に弱いという問題が出ます。

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

移動平均線の日数、RSIの閾値、利確幅、損切り幅、保有日数などを細かく最適化することも危険です。たとえば、移動平均線20日では利益が小さく、21日では少し改善し、22日で最大になり、23日でまた悪化する。この場合、22日だけを採用するのは危険です。本当に優位性があるなら、20日、21日、22日、23日、24日あたりで似たような傾向が出るはずです。

投資戦略において重要なのは、ピンポイントの最適値ではなく、安定して機能する範囲です。これをパラメータのロバスト性と呼びます。最適値が一点だけ突出している場合、それは戦略の優位性ではなく、偶然の可能性が高いと考えるべきです。

検証対象を後から選んでいる

特定の銘柄群だけで非常に良い結果が出ることがあります。たとえば、過去10年で大きく上昇したグロース株だけを対象にすれば、多くの順張り戦略は良く見えます。しかし、それは戦略が優れていたのではなく、対象銘柄の選び方に未来情報が混じっている可能性があります。

実運用では、未来に上がる銘柄を事前に知ることはできません。そのため、検証対象は当時の時点で選べた条件にする必要があります。たとえば「時価総額100億円以上、売買代金1億円以上、上場から6か月以上、監理銘柄を除外」といった客観的な条件です。後から勝った銘柄だけを集めると、どんな戦略でも良く見えてしまいます。

生存者バイアスを無視している

現在上場している銘柄だけで過去検証を行うと、すでに上場廃止になった銘柄や破綻した銘柄が除外されます。これを生存者バイアスといいます。特に小型株、低位株、赤字企業、テーマ株を扱う場合、この影響は無視できません。

現在残っている銘柄だけで検証すると、過去に買ったはずの危険な銘柄がデータから消えているため、戦略の成績が過大評価されます。個人投資家が完全な上場廃止データを揃えるのは簡単ではありませんが、少なくとも「現在の勝ち組だけで検証していないか」は必ず確認すべきです。

カーブフィッティングを回避する基本原則

売買ルールには必ず理由を持たせる

最初に守るべき原則は、すべての条件に投資上の理由を持たせることです。たとえば「出来高急増後のブレイクアウトを買う」というルールには、需給変化、大口資金の流入、投資家の注目度上昇という説明ができます。「決算後ギャップアップして5日線を割らない銘柄を買う」というルールにも、好材料に対して売り圧力を吸収しているという説明があります。

一方で、「RSIが32.5以下で、前日比がマイナス1.2%からマイナス2.1%の範囲で、火曜日だけ買う」という条件は、明確な理由がない限り危険です。曜日効果や短期リバーサルの研究はありますが、細かすぎる範囲指定は過去の偶然に合わせている可能性が高くなります。

ルールを作るときは、「この条件が将来も機能する理由は何か」と自問してください。答えられない条件は削るべきです。戦略は複雑にするほど強くなるのではなく、説明できる条件だけで構成するほど実運用に耐えやすくなります。

最初から検証手順を決める

カーブフィッティングを避けるには、検証を始める前に手順を決めることが重要です。結果を見ながら都合よくルールを変えると、ほぼ確実に過去データへ寄っていきます。たとえば、次のような手順を先に決めます。

まず、戦略仮説を1文で書きます。次に、使う市場、対象銘柄、検証期間、売買コスト、エントリー条件、エグジット条件、ポジションサイズ、最大保有数を決めます。そのうえで、訓練期間と検証期間を分けます。訓練期間でルールを調整し、検証期間では原則としてルールを変更しません。

この「先に決める」作業が非常に重要です。相場データを見ながら条件を作ると、都合の良い解釈が入り込みます。検証前にルールを固定することで、少なくとも後出しの最適化を減らせます。

複雑な戦略より単純な戦略を優先する

同じ成績であれば、条件が少ない戦略の方が優秀です。たとえば、条件が8個ある戦略で年率15%、条件が3個の戦略で年率13%なら、後者の方が実運用で安定する可能性があります。複雑な戦略は、過去データでは高性能に見えますが、未来の環境変化に弱くなりやすいからです。

個人投資家にとって重要なのは、理論上の最高成績ではなく、実際に運用できる再現性です。シグナルが理解しやすく、売買回数が極端に少なすぎず、ルール変更の誘惑が少ない戦略の方が、長期的には扱いやすくなります。

アウトオブサンプル検証の実践方法

カーブフィッティング対策として最も基本的なのが、アウトオブサンプル検証です。これは、データを「ルール作成に使う期間」と「確認だけに使う期間」に分ける方法です。前者をインサンプル、後者をアウトオブサンプルと呼びます。

たとえば、2014年から2023年までの10年間データがあるとします。このうち2014年から2020年をインサンプル、2021年から2023年をアウトオブサンプルにします。2014年から2020年のデータで戦略を設計し、パラメータを決めます。その後、2021年から2023年に同じルールをそのまま適用します。ここで成績が大きく崩れるなら、その戦略は過去に合わせすぎている可能性があります。

アウトオブサンプル検証で大切なのは、検証期間の結果を見て何度も修正しないことです。2021年から2023年で成績が悪かったからといって、その期間に合うようにルールを再調整すると、アウトオブサンプルの意味がなくなります。検証期間は、未来の代替として扱う必要があります。

実践上は、単純に前半と後半で分けるだけでなく、相場環境ごとに分けることも有効です。上昇相場、下落相場、レンジ相場、高ボラティリティ相場、低ボラティリティ相場で成績を確認します。特定の相場だけで機能する戦略なら、その前提を理解したうえで使う必要があります。

ウォークフォワード分析で実運用に近づける

アウトオブサンプル検証をさらに実運用に近づけた方法がウォークフォワード分析です。これは、一定期間でルールやパラメータを決め、その後の期間で検証し、期間をずらしながら繰り返す方法です。

たとえば、3年分のデータでパラメータを決め、次の1年で運用したと仮定します。次に1年ずらして、また3年分でパラメータを決め、次の1年で検証します。これを繰り返すことで、過去のある一点にだけ最適化された戦略ではなく、時間の経過に対してどれだけ耐えられるかを確認できます。

個人投資家が簡易的に行うなら、次のような形で十分です。2014年から2016年で調整し、2017年で検証。2015年から2017年で調整し、2018年で検証。2016年から2018年で調整し、2019年で検証。このように検証期間を積み上げ、全体として右肩上がりになるかを見ます。

ウォークフォワード分析で重要なのは、各期間で極端に違うパラメータが選ばれていないかです。ある期間では移動平均線10日が最適、別の期間では80日が最適、さらに別の期間では3日が最適という状態なら、その戦略の構造は不安定です。実運用では次にどの値を使えばよいか判断できません。

パラメータのロバスト性を確認する

カーブフィッティングを見抜くうえで、パラメータのロバスト性確認は非常に有効です。ロバスト性とは、条件を少し変えても結果が大きく崩れない性質です。

例として、移動平均線ブレイク戦略を考えます。終値が20日移動平均線を上回ったら買い、10日移動平均線を下回ったら売るというルールです。このとき、20日と10日だけでなく、買い条件を15日、20日、25日、30日、売り条件を5日、10日、15日、20日と変えて検証します。

もし20日と10日の組み合わせだけが突出して良く、周辺の組み合わせがすべて悪いなら危険です。一方、15日から30日、5日から20日の範囲でおおむねプラスなら、その戦略には一定の優位性がある可能性があります。投資戦略は精密機械ではありません。少し条件が変わっただけで壊れる戦略は、実運用でも壊れやすいと考えるべきです。

利確幅や損切り幅も同じです。利確7.2%、損切り3.8%だけで良い結果が出るなら疑うべきです。利確5%から10%、損切り3%から6%の範囲で大きく崩れないかを見る方が実践的です。最適値を探すより、使える範囲を探す。この発想が重要です。

売買コストとスリッページを厳しめに入れる

バックテストで見落とされやすいのが売買コストです。手数料だけでなく、スプレッド、約定価格のズレ、流動性不足による不利約定も含めて考える必要があります。特に短期売買、小型株、低位株、暗号資産、FXのスキャルピングでは、コストを甘く見ると成績が大きく歪みます。

たとえば、1回の売買あたり平均利益が0.6%の戦略があるとします。手数料とスリッページを往復0.2%で見積もると利益は残ります。しかし、実際には小型株で板が薄く、買いで0.3%、売りで0.3%不利になれば、往復0.6%が消えます。この場合、バックテスト上の利益はほぼ実現できません。

カーブフィッティングされた戦略ほど、利益の源泉が薄くなりがちです。細かい条件で負けを削り、わずかな平均利益を積み上げる形になっている場合、コストを厳しめに入れるだけで優位性が消えることがあります。これはむしろ良い発見です。実運用前に使えない戦略を排除できるからです。

個人投資家は、バックテスト時に最低でも実際の想定コストより少し厳しい数字を入れるべきです。日本株の流動性が低い銘柄なら、約定代金に応じてスリッページを大きくする。FXならスプレッド拡大時間を考慮する。暗号資産なら取引所ごとの板厚と手数料を確認する。これだけで、机上の空論に近い戦略をかなり減らせます。

トレード回数が少なすぎる戦略を疑う

バックテストで非常に良い成績が出ても、トレード回数が少なすぎる場合は注意が必要です。たとえば10年間で15回しか売買していない戦略が、勝率80%、プロフィットファクター5.0だったとしても、統計的な信頼性は高くありません。数回の大勝ちが全体の成績を押し上げているだけかもしれません。

必要なトレード回数は戦略の種類によって異なります。長期投資戦略なら回数が少ないのは自然です。一方、短期売買やデイトレ戦略であれば、一定数以上のサンプルが必要です。少なくとも、成績の良し悪しを判断する前に、利益が一部のトレードに偏っていないかを確認してください。

具体的には、総利益のうち上位5回のトレードが何%を占めているかを見ると有効です。もし上位5回の利益を除くと戦略全体がマイナスになるなら、その戦略は偶然の大勝ちに依存している可能性があります。実運用で同じ大勝ちを取れる保証はありません。

銘柄分散と期間分散で検証する

カーブフィッティングを避けるには、特定の銘柄や特定の期間に依存していないかを確認する必要があります。たとえば、ある戦略が半導体株だけで非常に良く機能している場合、それは半導体サイクルに乗っただけかもしれません。小型グロース株だけで良い場合も、金融緩和局面に依存している可能性があります。

検証では、銘柄群を複数に分けて確認します。大型株、中型株、小型株。グロース株、バリュー株、高配当株。製造業、内需、金融、IT、資源関連。すべてで同じ成績を求める必要はありませんが、どこで強く、どこで弱いかを把握することが重要です。

期間分散も重要です。上昇相場だけでなく、下落相場でも検証します。金融緩和局面と金融引き締め局面、円安局面と円高局面、低ボラティリティ相場と高ボラティリティ相場を分けて見ると、戦略の本当の性格が見えてきます。戦略は万能である必要はありません。ただし、弱い局面を知らずに運用するのは危険です。

実践例:移動平均線ブレイク戦略を安全に検証する

ここでは具体例として、シンプルな移動平均線ブレイク戦略を考えます。対象は日本株のうち、売買代金が一定以上ある銘柄。エントリー条件は「終値が過去60日高値を更新し、出来高が20日平均の1.5倍以上」。エグジット条件は「終値が20日移動平均線を下回る、または保有20営業日経過」。ポジションは1銘柄あたり資金の10%、最大5銘柄までとします。

この戦略の仮説は明確です。長期ボックスを上放れ、出来高を伴っている銘柄には新しい資金が入っている可能性があり、短期から中期のトレンドが発生しやすいという考え方です。条件は多すぎず、説明もしやすい構造です。

次に、検証期間を分けます。たとえば2014年から2020年をルール確認期間、2021年から2023年をアウトオブサンプル、2024年以降をペーパートレード期間とします。最初の期間で、60日高値を40日、50日、60日、80日、100日に変え、出来高倍率を1.2倍、1.5倍、2.0倍に変え、保有上限を10日、20日、30日に変えて確認します。

このとき、最も良い組み合わせを採用するのではなく、周辺も含めて安定しているかを見ます。もし60日高値、1.5倍、20日保有だけが突出して良いなら危険です。50日から80日、出来高1.2倍から2.0倍、保有10日から30日でおおむねプラスなら、戦略の考え方には一定の妥当性があります。

さらに、2021年から2023年に同じルールを適用します。ここで利益が大きく低下しても、必ずしも失格ではありません。重要なのは、損失が想定内か、ドローダウンが許容範囲か、相場環境と成績の関係が説明できるかです。上昇相場では強いが下落相場では弱いなら、地合いフィルターを加える余地があります。ただし、検証期間に合わせて細かく調整しすぎないことが重要です。

採用してよい改善と危険な改善の違い

戦略を検証していると、改善したくなる場面が必ずあります。このとき、採用してよい改善と危険な改善を分ける必要があります。

採用してよい改善とは、投資上の理由があり、複数期間で効果が確認でき、条件が単純なものです。たとえば、全体相場が下落トレンドのときは新規買いを抑える、売買代金が低すぎる銘柄を除外する、決算発表直前の新規エントリーを避ける、といった改善は説明しやすく、実運用上も意味があります。

一方で危険な改善は、過去の負けトレードだけを消すための細かい条件です。たとえば「3月第2週だけ買わない」「前日比がマイナス0.8%からマイナス1.1%のときだけ除外」「出来高倍率1.37倍未満は除外」といった条件は、明確な根拠がなければカーブフィッティングの可能性が高いです。

改善を採用する前には、必ず「この条件を未来の自分が納得して守れるか」と考えてください。納得できない条件は、ドローダウン時にすぐ外したくなります。運用中にルールを守れない戦略は、どれだけバックテストが良くても実用性が低いです。

モンテカルロ分析で偶然への耐性を見る

バックテストの損益曲線は、過去に起きた順番でトレードを並べた結果です。しかし、実運用では勝ち負けの順番が変わる可能性があります。そこで役立つのがモンテカルロ分析です。これは、過去のトレード結果をランダムに並べ替えたり、一部を抜き出したりして、資産曲線がどれくらい変動するかを見る方法です。

たとえば、過去に200回のトレードがあり、平均利益がプラスだったとします。その順番を何度もランダムに並べ替えると、最大ドローダウンがバックテスト本体より大きくなるケースが出ます。これにより、実運用で起こり得る悪い展開を想定できます。

カーブフィッティングされた戦略は、少数の大勝ちや特定の順番に依存していることがあります。その場合、モンテカルロ分析を行うと、損益曲線が大きく崩れやすくなります。逆に、トレードの順番を変えてもおおむね資産が増える戦略は、偶然への耐性が高いと判断できます。

ペーパートレード期間を必ず設ける

どれだけ丁寧にバックテストしても、すぐに大きな資金で運用するのは危険です。実運用前には、少額運用またはペーパートレード期間を設けるべきです。ここで確認するのは、バックテストと同じシグナルが出るか、実際に約定できるか、スリッページは想定内か、心理的にルールを守れるかです。

特に個人投資家の場合、検証上の戦略と実際の執行に差が出ます。寄り付きで買うつもりでも、成行注文が怖くて指値にする。損切り条件に到達しても、反発を期待して保有を続ける。シグナルが出ても、含み損中だと次のエントリーを避ける。こうした行動のズレは、バックテストでは表れません。

ペーパートレード期間では、利益よりも再現性を確認します。シグナルの発生頻度、売買判断、注文方法、記録の取り方が問題なく回るかを見るのです。最低でも数十回のシグナルを確認してから、本格運用に移る方が安全です。

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

最後に、カーブフィッティングを避けるための実践チェックリストを示します。戦略を採用する前に、以下の項目を確認してください。

第一に、戦略の仮説を一文で説明できるか。説明できない戦略は、過去データに合わせただけの可能性があります。第二に、条件が多すぎないか。目安として、エントリー条件が5個以上ある場合は一度削れないか検討すべきです。第三に、各パラメータの周辺でも成績が大きく崩れないか。最適値一点だけが良い戦略は危険です。

第四に、アウトオブサンプル期間で極端に悪化していないか。第五に、売買コストとスリッページを厳しめに入れても利益が残るか。第六に、トレード回数が十分か。第七に、利益が少数の大勝ちに依存していないか。第八に、複数の相場環境で弱点を把握しているか。第九に、ルールを自分が実際に守れるか。第十に、少額運用やペーパートレードで検証済みか。

このチェックリストを通すだけで、見た目だけ優秀な戦略の多くは除外されます。残るのは、数字が完璧ではなくても、理由があり、扱いやすく、実運用に耐えやすい戦略です。

まとめ

カーブフィッティングは、バックテストを行う投資家にとって避けて通れない問題です。過去データに合わせれば合わせるほど、検証結果は美しくなります。しかし、投資で重要なのは過去に完璧だった戦略ではなく、未来でも一定の優位性を維持できる戦略です。

そのためには、条件を増やしすぎず、パラメータを細かく最適化しすぎず、売買ルールに投資上の理由を持たせる必要があります。アウトオブサンプル検証、ウォークフォワード分析、ロバスト性確認、売買コストの厳格な反映、モンテカルロ分析、ペーパートレードを組み合わせることで、過去の偶然に依存した戦略をかなり排除できます。

個人投資家が目指すべきなのは、バックテストで最も高い利益を出す戦略ではありません。多少成績が劣っても、仕組みが理解でき、複数の環境で大きく崩れず、実際に運用できる戦略です。投資戦略の検証では、最高値を探すより、壊れにくさを確認する方が重要です。この視点を持てば、バックテストは単なる数字遊びではなく、実戦に近い意思決定ツールになります。

コメント

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