ホーム/バックテスト/よくある間違い

バックテスト結果を台無しにするよくある7つの間違い

バックテストでよくある間違いは、過剰最適化、生存者バイアス、取引コストの無視、ルックアヘッドバイアス、不十分なサンプルサイズ、カーブフィッティング、異なる相場局面での検証不足です。パラメータは2-4個までに抑え、少なくとも100回のトレードを目指しましょう。

バックテストは、あなたが聞きたいことを何でも語ってくれます。役に立つバックテストと誤解を招くバックテストの違いは、方法論にあります。机上では目覚ましく見えるのに、実際のお金がかかった瞬間に崩れ去る戦略のほとんどは、この7つの間違いが原因です。

1. 過去データへの過剰最適化

過剰最適化(オーバーフィッティング)は、最もよくあり、最も危険なバックテストの間違いです。戦略のパラメータやルールが多すぎて、過去データには完璧に合うよう調整されているものの、将来に対する予測力をまったく持たない場合に起こります。調整可能なパラメータが10個ある戦略は、ほぼどんな価格系列にも当てはめることができ、まったく意味のない驚異的なバックテストリターンを示します。

避け方:戦略はシンプルに保ちましょう。頑健な戦略のパラメータは多くても2-4個にすべきです。パラメータの安定性を検証してください — あるパラメータを20%変えただけで結果が崩れるなら、過剰最適化しています。ウォークフォワード分析を使いましょう:ある期間で最適化し、次の期間で検証し、それを繰り返します。アウトオブサンプルのパフォーマンスがインサンプルより劇的に悪ければ、過剰最適化しています。

2. 生存者バイアス

生存者バイアス(サバイバーシップ・バイアス)は、データセットに現在も存在する資産だけが含まれ、上場廃止・倒産・買収された資産が除外されている場合に生じます。現在のS&P 500構成銘柄を使って銘柄選択戦略を20年さかのぼってバックテストすると、生き残った企業だけを検証することになります — これはどんな戦略も実際より良く見せてしまう偏ったサンプルです。

避け方:上場廃止銘柄も含む、生存者バイアスのないデータを使いましょう。入手できない場合は、少なくとも結果の中でこの制約を明記してください。この影響は、上場廃止の可能性が最も高い低品質銘柄や経営難の銘柄を買う戦略で最も深刻になります。指数レベルの戦略(SPYやQQQでのバックテスト)では、指数自体が入れ替えられるため、生存者バイアスはごくわずかです。

3. 取引コストの無視

頻繁に取引する戦略は、取引コストがゼロなら非常に儲かるように見えても、現実的なコストを入れると大きな赤字になることがあります。取引コストには、手数料(個人投資家にとってはほぼゼロのことが多いものの、機関投資家の規模では依然として重要)、ビッド・アスク・スプレッド(多くの初心者が見落とす隠れたコスト)、スリッページ(意図した価格と実際の約定価格の差)、そしてマーケットインパクト(大きなポジションで重要)が含まれます。

避け方:バックテストには必ず取引コストを含めましょう。米国株では、流動性の高い大型株で片道0.05%以上、小型株で0.2-0.5%を使ってください。暗号資産では、主要取引所でのテイカー注文なら片道0.1%が現実的です。感応度分析を行いましょう:想定する取引コストを2倍にしただけで戦略が利益を出せなくなるなら、そのエッジは安全に取引するには薄すぎます。

4. ルックアヘッドバイアス

ルックアヘッドバイアス(先読みバイアス)は、取引判断の時点ではまだ入手できなかったはずの情報を戦略が使っている場合に生じます。最もよくある形は、あるバーの終値を使ってシグナルを生成し、同じ終値で執行してしまうことです — 実際には、バーが確定するまで終値はわからず、その時点では次のバーの始値でしか執行できません。

避け方:シグナルは必ず、生成されたバーの次のバーで執行しましょう。ファンダメンタル要因にはポイント・イン・タイムのデータを使ってください — 引け後に発表された決算は、翌営業日まで戦略から参照できないようにすべきです。調整済み価格には特に注意が必要です:株式分割や配当で調整された系列はさかのぼって再計算されるため、気づかないうちにルックアヘッドバイアスが入り込むことがあります。さらに詳しくは、ルックアヘッドバイアスの詳細ガイドをご覧ください。

5. 不十分なサンプルサイズ

5年間で12回のトレードを行い、勝率75%だった戦略は、統計的に意味がありません。観測値がわずか12個では、その勝率の信頼区間が非常に広く、真の勝率は45%から95%のどこにあってもおかしくありません。信頼できる結論は引き出せません。

避け方:バックテストでは少なくとも100回のトレードを目指しましょう。戦略の取引頻度が低い場合は、期間を延ばすか、複数の資産で検証する(相関に注意)か、より短い時間足を使ってください。点推定と一緒に信頼区間も報告しましょう — シャープレシオ1.2で95%信頼区間が[0.4, 2.0]の場合と、同じ1.2でも区間が[1.0, 1.4]の場合とでは、まったく異なる意味を持ちます。

6. カーブフィッティング

カーブフィッティングは過剰最適化の近い親戚ですが、異なるレベルで作用します。過剰最適化が1つの戦略のパラメータが多すぎることを指すのに対し、カーブフィッティングは同じデータで多すぎる数の戦略を検証し、最も良いものを選ぶことを指します。100種類の戦略を検証して最良のものを報告すれば、その勝者が本物のエッジではなく統計的な偶然の産物である確率は99%です。

避け方:マーケット・マイクロストラクチャーや行動ファイナンスに根ざした仮説から出発し、それを検証しましょう — データからパターンを掘り出すところから始めてはいけません。複数の戦略を検証する場合は、多重検定の補正を適用して有意水準を調整してください。Bonferroni補正では、alphaを検定の回数で割ります:20個の戦略を検証するなら、有意だと主張するにはp値が0.0025未満(0.05ではなく)である必要があります。

7. 異なる相場局面での検証不足

多くの戦略は相場局面に依存しています。強気相場では機能しても弱気相場では失敗したり、低ボラティリティの環境では機能してもボラティリティが急上昇すると崩れたりします。バックテスト期間が1つの局面しかカバーしていない場合(例:ほぼ途切れなく強気相場が続いた2012-2021年)、その結果は一般化できません。

避け方:バックテストが少なくとも2つの完全な相場サイクル — 強気相場、弱気相場、そして理想的にはレンジ相場の期間 — をカバーするようにしましょう。結果を年ごとまたは局面ごとに分解し、最悪の期間に戦略が利益を上げたか(少なくとも壊滅的な損失を出さなかったか)を確認してください。シャープレシオ1.5でも2020年の暴落で50%失った戦略は、シャープレシオ1.2でドローダウンが15%にとどまった戦略と同じではありません。集計された数値は、テールリスクに関する重要な情報を覆い隠してしまいます。

実際に試してみましょう

これらの間違いを身につけて理解する一番の方法は、自分で直接経験することです。QuantPromptなら、戦略をすばやく検証し、結果が取引コスト、パラメータの選択、期間にどれほど敏感かを確認できます。同じ戦略を2015-2019年(強気相場)、2020-2022年(高ボラティリティ)、2023-2024年でバックテストしてみてください — 結果が大きく異なるなら、それはさらなる改良が必要な、相場局面に依存した戦略です。

戦略をふだんの言葉で説明し、すぐに結果を受け取り、改良を繰り返しましょう。目標は完璧なバックテストを見つけることではありません — このガイドが警告している間違いに耐えられるほど頑健な戦略を見つけることです。

よくある質問

参考文献