White’s Reality Checkで戦略バックテストのデータスヌーピングを検証する
White’s Reality Checkが探索で選ばれた最良の戦略をベンチマークと比較し、依存性を考慮したbootstrapの最大値で選択バイアスを調整する方法を解説します
このガイドの内容検定は探索の勝者が選んだベンチマークを上回るかを問う
短い要約
White’s Reality Checkは、定義した探索候補群から選ばれた最良候補が、指定したベンチマークを上回るかを検定します。その際、候補が最大値として選ばれた事実も考慮します。候補間で共通する時系列のパフォーマンス差にbootstrapを適用し、観測された最大値をbootstrap最大値の帰無分布と比較します。調整後のp値が小さければ、その候補群とベンチマークについて「優れた候補はない」という共同帰無仮説に反する証拠になりますが、実運用で利益が出るという予測ではありません。
検定は探索の勝者が選んだベンチマークを上回るかを問う
研究者は移動平均の期間、ブレイクアウトルール、保有期間、市場、フィルターを何十通りも試し、バックテストのスコアが最も高かった戦略を報告することがあります。その勝者は単独で事前指定された候補ではありません。探索の過程で、非常によく見える機会を何度も与えられています。データを見る前から選ばれていたかのように勝者だけを検定すれば、選択の段階を無視します。
White’s Reality Checkは、この選択を検定に含めます。調べた候補群の中に、定義したベンチマークより期待パフォーマンスが高い候補があるかを問います。Whiteは帰無仮説を片側比較の共通部分として定式化します。すなわち、ベンチマークに対する各候補の期待パフォーマンスはすべて0以下です。対立仮説は少なくとも1つの候補が正の期待優位性を持つというものです。ベンチマークは買い持ち、単純な予測ルールなどでもかまいませんが、研究上の問いに合致し、結果を見る前に定める必要があります。形式的な設定はWhiteの原論文を参照してください。
これは候補群全体についての問いであり、たまたま勝った戦略への保証ではありません。帰無仮説を棄却できても、選んだ統計量と仮定の下で、記録された候補群に優位性の証拠があることを示すだけです。すべての候補が有用であること、勝者が今後も最良であること、新たな市場レジームでも優位性が続くことは示しません。
各候補を比較可能なパフォーマンス差で表す
d[k,t]を、同じ期間tにおける候補kのパフォーマンスからベンチマークのパフォーマンスを引いた値とします。常に値が大きいほど候補に有利になるよう定義します。リターンを比較する場合は、候補のコスト控除後リターンからベンチマークの同じリターンを引けます。予測損失を比べる場合は、ベンチマークの損失から候補の損失を引きます。符号の規約を統一し、正の値が候補の優位性を示すようにします。
すべての候補で各行が同じ時間区間を表す必要があります。通貨、リターンの定義、資金調達の扱い、コスト方針をそろえます。実際に執行できる戦略リターンを主張するなら、d[k,t]を作る前に関連する手数料、スプレッド、スリッページ、ファンディング、借入コストを差し引きます。グロスリターンを検定し、コストは脚注で触れるだけでは別の問いに答えることになります。
候補kの標本平均はd̄[k] = (1/T) Σ_t d[k,t]です。共同帰無仮説はH0: max_k E[d[k,t]] ≤ 0、対立仮説はH1: max_k E[d[k,t]] > 0です。ベンチマークは候補群に共通で、全候補を同じ基準で評価します。候補ごとに欠損日や観測頻度が異なる場合は、差を計算する前に妥当な共通標本を定義し、特定の候補だけに有利な期間を黙って与えないようにします。
研究上の主張には候補群全体を含める
候補群には、報告する勝者の選択に影響し得たルールを含めます。試したルックバック期間、エントリー閾値、シグナルの組み合わせ、資産ユニバース、保有期間、ポートフォリオ制約、執行の前提などです。結果を見た後に試して捨てた手動の変種も含まれます。Whiteの2000年論文では「specification search」を広く捉え、最終表だけでなく、選択の過程が選択問題を生むとしています。
反対方向の誤りが2つあります。報告戦略の選択に役立った試行を省けば、bootstrapが実際より小さな探索を参照するため、調整後の検定は楽観的になりすぎます。一方、結果を見てから無関係なルールを多数追加すると、必要以上に保守的になり、有用な候補を検出する力を下げることがあります。実際の選択過程に基づいて候補群を定め、範囲を監査できる研究ログを残します。
記録されなかった実験を検定が推測することはできません。勝者のパラメーターしかないノートでは探索を再現できません。候補登録簿、データの版、評価期間、目的関数、コストの前提、選択判断を一緒に保存します。結果を見た後で候補群を変えたなら、何をなぜ変更したかを明記し、事後的な定義を事前に固定していたように見せないでください。
最大統計量が選択過程を帰無分布に反映する
各候補の相対パフォーマンスの平均を計算し、その最大値を取ります。一般的な非studentized統計量はVobs = √T × max_k d̄[k]です。最大値が重要なのは、「最良を選ぶ」という、見かけ上の勝者を生んだ操作を表すためです。勝った列だけを検定すると、その選択操作が参照分布から消えてしまいます。
bootstrapは共同の非優越帰無仮説の下で、標本変動だけからどれほど大きな最大値が出るかを近似します。bootstrapの反復bごとに、全候補の時点別差分ベクトルを再標本化し、たとえば中心化統計量V*b = √T × max_k(d̄*[k,b] − d̄[k])を計算します。中心化により候補平均を、期待優位性が0となる帰無仮説の最も不利な境界に置きます。最大値は候補間の選択を保ちます。Whiteの論文は最大値のbootstrap分布を構成し、観測統計量と比較します。
この処理を何度も繰り返します。調整後のp値は、Vobs以上となるbootstrap最大値の割合です。反復数がBなら、一般的なMonte Carlo推定値は(1 + count{V*b ≥ Vobs})/(B + 1)です。studentizationや推定モデルの扱いは実装によって異なるため、統計量と帰無仮説下での中心化の規約を記録します。重要なのは、観測された勝者だけではなく、各反復で候補群全体の最大値を計算し直すことです。
候補の履歴を再標本化するときに依存性を保つ
金融データの観測値には時間順があります。独立にシャッフルすると、系列依存、ボラティリティ・クラスタリング、相関した損益の連続を消してしまうことがあります。同じ市場日の動きに反応しやすい戦略間の関係も崩れます。これらは最大統計量の裾に影響するため、候補を個別に再標本化したり、日付を1つずつ復元抽出したりすると、誤った参照分布になるおそれがあります。
Whiteは移動ブロック・ブートストラップなどの依存データ手法を説明し、PolitisとRomanoのstationary bootstrapを分析しています。選ばれたブロックは通常、次の時間観測に続き、ランダムな再スタート時に別の抽出日から始まります。そのためブロック長は、指定した平均を持つ幾何分布に従います。手法の仮定と調整が適切なら、i.i.d.再標本化より短期の連続性を保てます。PolitisとRomanoのstationary bootstrap論文を参照してください。
戦略候補群については、共通の時間インデックス列を1つ抽出し、行ベクトル全体(d[1,t], …, d[K,t])に適用します。これにより、抽出ブロック内の時間順序と候補間の同時点依存性の両方が保たれます。戦略の期間や依存性診断を踏まえてブロック長を選び、妥当な別設定に対する感度も報告します。研究手順にパラメーター再推定が含まれる場合、その段階が推論対象に含まれるかを決め、必要なら各再標本で再現します。固定済みモデルのリターンだけを再標本化すると、手順の一部を条件づけて取り除く可能性があります。
仮想のbootstrap例で解釈を確認する
研究者がT = 252取引日にわたり3つの戦略をベンチマークと比較するとします。コスト控除後の日次平均差は+2.0、+1.0、−0.5ベーシスポイントです。勝者の平均は2.0ベーシスポイントで、観測統計量は√252 × 2.0 bp ≈ 31.75 bp·√取引日です。このスケーリングは統計量の一部ですが、推定標準誤差で割っていないためt統計量ではありません。
次に、3候補すべてに同じ抽出日を適用するstationary bootstrapを9,999回行ったとします。この仮想出力では、1,199回の最大値が31.75以上です。+1補正付きのMonte Carlo推定値は(1 + 1,199)/(9,999 + 1) = 0.12です。勝者だけを別途検定すれば、仮に0.03となるかもしれませんが、3候補から選んだ事実が抜けています。Reality Checkのp値は候補群全体を比較するため、この例では5%水準で共同帰無仮説を棄却できません。
数値は計算の説明用に作ったもので、実測の市場成績でもWhiteの論文の結果でもありません。p値0.12は戦略が12%の確率で損失を出す意味ではありません。指定したbootstrapと帰無仮説の構成では、これ以上の最大値が選択した水準で棄却できるほど珍しくないという意味です。標本平均だけでは、リスク、運用容量、執行の影響を差し引いた後に経済的価値があるかも分かりません。
調整後p値を定義した候補群についての証拠として読む
Reality Checkの小さなp値は、検定の前提の下で、含めた候補群のどの候補も選択したベンチマークを期待パフォーマンスで上回らないという主張に反する証拠です。帰無仮説が共同なので、棄却しても持続的な優位性を持つ候補を自動的に特定しません。標本が変われば勝者も変わり得ます。候補群の帰無仮説を棄却できても、特定戦略についての証拠は弱い場合があります。
大きなp値は棄却できなかったことを示すだけで、すべての戦略がベンチマークと同等だと証明するものではありません。標本が短い、パフォーマンスのノイズが大きい、候補群が広すぎる、測定が不正確、検出力が低いなどが原因になり得ます。p値は帰無仮説が正しい確率でもありません。候補集合、パフォーマンス指標、ベンチマーク、bootstrap設計、観測データに依存する参照分布の裾確率です。
Whiteが扱うのは相対比較です。弱いベンチマークを上回っても損失を出すルールはあり、強いベンチマークに届かなくても正のリターンを出すルールはあります。不確実性、売買回転、ドローダウン、容量、現実的なコストとともに絶対成績とベンチマーク対比の成績を報告します。相対的な予測優位性の統計的証拠と、投資としての経済合理性は別の判断です。
結果を利用する前に前提と限界を確認する
原理論は、パフォーマンス差の過程とその極限分布に関する正則条件に依存します。Whiteの枠組みには定常かつ強混合な時系列が含まれ、依存データのbootstrapにも適切なブロック長の系列が必要です。有限標本では、レジーム転換、構造変化、長期記憶、稀なジャンプ、不安定なボラティリティにより、定常再標本化の近似が疑わしくなります。ブロック・ブートストラップは局所依存の一部を保ちますが、未知の将来レジームを再現するものではありません。
データや戦略評価の誤りも検定に引き継がれます。先読みの情報漏洩、生存者バイアス、改訂データ、非現実的な約定、コストの欠落、企業行動の誤処理、結果を見てから選んだベンチマークは、パフォーマンス差を無効にし得ます。保有期間が重複する場合、構造的にリターンが依存するため、再標本化単位とブロック長でその依存性を表す必要があります。最終指標がSharpe比率のような非線形指標なら、平均リターンのbootstrapが自動的に検定すると考えず、各反復で指標を再計算します。
Reality Checkの実装は保守的になる場合があります。特に候補が多く、明らかに成績の悪いものも多数含むと、最大値の分布が広がり、良い候補があっても棄却しにくくなります。HansenのSuperior Predictive Ability検定は、弱い代替候補の扱いが異なる関連bootstrap手法です。万能な代替ではなく、仮定も確認が必要です。望む結論を出す方法を選ぶのではなく、研究上の問いに基づいて比較し、感度を報告します。
時系列検証や他の選択手法と併用する
White’s Reality Checkは、選択を考慮した後に、記録された探索候補群の中にベンチマークを上回る候補があるかを扱います。固定した戦略の時系列ホールドアウトやwalk-forward評価に置き換わるものではありません。ラベル期間の重複や情報漏洩もそれだけで解決しません。PBOは異なり、組み合わせ分割でin-sample勝者が候補の中央値より低い順位になる頻度を要約します。PBOの原論文が選択リスクの診断を定式化しています。False Discovery手法は、複数の棄却結果に含まれる誤検出の期待比率を扱います。Deflated Sharpe Ratioは、選択と非正規リターンを考慮してSharpe比率に基づく有意性評価を調整します。あわせて金融の多重検定と偽発見率、PBOとCSCV、walk-forward検証、purged cross-validationとembargoのガイドもご覧ください。
実務のレビューでは、ベンチマークとパフォーマンス定義を固定し、実際に使った候補群を復元し、期間ごとの対応差を計算します。そのうえで依存性を考慮する再標本設計を選んで理由を示し、最大統計量とbootstrapの裾確率を報告します。次に選択手順を固定して後続の時系列データで評価し、コストと実装可能性を別に検討します。Sullivan、Timmermann、Whiteがテクニカル取引ルールに適用した研究は、ルール全体が重要な理由を示しています。報告された勝者だけではなく探索全体を推論に入れると、結論が変わり得ます。Reality Checkは特定の選択問題を補正するもので、バックテストが実運用でも通用する証明書ではありません。
よくある質問
Q1White’s Reality Checkは何を検定しますか?
候補間の選択を考慮したうえで、定義した探索候補群の最良候補が選んだベンチマークより高い期待パフォーマンスを持つかを検定します。
Q2小さなReality Checkのp値は戦略が利益を出す証拠ですか?
いいえ。選択したベンチマーク、指標、データ、bootstrapの仮定の下で、候補群全体の非優越帰無仮説に反する証拠です。将来のリターンや純利益を保証しません。
Q3独立に日付を再標本化せず、ブロック・ブートストラップを使うのはなぜですか?
ブロックは局所的な系列依存を一部保ち、全候補に共通の日付を適用すると同時点の関係も保てます。ブロック設計はデータと研究上の問いに適合させる必要があります。
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
Whiteの共同帰無仮説は何を意味しますか?
答えを選ぶと解説を確認できます
オプション用語集
コール、プット、オプションチェーンから IV、グリークス、建玉、マックスペインまで、主要用語を正確に解説します
オプション用語集を見る