トレーディング規則のWhite Reality CheckとHansen SPA検定
WhiteのReality CheckとHansenのSPA検定を比較し、探索した規則群、帰無仮説、ブートストラップの考え方と解釈上の限界を説明します。
このガイドの内容バックテストの勝者を単独検定できない理由
短い要約
WhiteのReality Check(RC)とHansenのSPA(Superior Predictive Ability)検定は、探索した候補群の中に、あらかじめ決めたベンチマークを上回るものが一つでもあるかを問います。どちらも標本内で最良の候補を選んだ事実を考慮しますが、個別の規則を認定したり将来の利益を保証したりするものではありません。
バックテストの勝者を単独検定できない理由
データを見る前に戦略を一つだけ定めていたなら、単一の比較検定が問いに合う場合があります。しかし、多数の規則を試し、結果を見てから最良のものだけを通常の単一検定にかけると、勝者を選ぶまでの探索が計算に入っていません。すべての規則に真の優位性がなくても、雑音のある推定値を多数並べれば最大値は偶然に正になりやすく、その最大値だけを選んだ後のp値は選択過程を無視します。
RCとSPAが問うのは「この探索候補群を考慮しても、そのうち少なくとも一つがベンチマークより高い期待成績を持つ証拠があるか」です。技術的な売買規則だけでなく、予測モデルや戦略候補の比較にも使われます。Whiteの枠組みは、仕様を探して得た最良モデルがベンチマークを予測面で上回るかを検定するものです(White、2000年)。Sullivan、Timmermann、Whiteは大規模な技術的売買規則群に適用しました(1999年の応用研究)。調整の対象は最終的に残った一規則だけでなく、その候補を選ぶ材料になった探索群です。偽発見率のガイドは関連する多重検定を扱いますが、問いは同じではありません。
比較する候補群とベンチマークを固定する
kを候補群Kに含まれる規則、tを全候補とベンチマークを同じ条件で評価する時点とします。収益率を比べるなら、期間ごとの差を次のように定めます。
d(k,t) = 候補kの純収益率 − ベンチマークの純収益率
値が正なら候補側が優れています。予測誤差の損失を比べる場合は、符号を逆にして、ベンチマークの損失から候補の損失を引けば、正の値が候補の優位を表します。途中で符号を入れ替えないことが大切です。候補、ベンチマーク、評価日、取引費用の扱い、そして「優れている」の定義を揃えます。平均純収益率の差を使う検定は、特に別の定義を置かない限り、リスク調整後成績やドローダウンの比較にはなりません。
各候補の期待差を μ(k)=E[d(k,t)] とすると、全体の仮説は次の形です。
H0: max(k∈K) μ(k) ≤ 0 H1: max(k∈K) μ(k) > 0
帰無仮説は候補の平均差がすべて非正であるという弱い帰無仮説で、真の差が負の候補を含みます。個々の規則を別々に検定して一覧化するのではなく、候補群全体について一つの検定を行います。
差の系列を作るときは、各候補とベンチマークの観測日をそろえ、同じ頻度で比較します。片方に欠損がある日だけ別の標本を使うと、最大値の比較が異なる市場期間を含むことになります。現金待機の扱い、建玉の評価時点、売買コストや資金調達費用も先に定義します。こうした前処理が候補によって違うと、検定は規則そのものだけの比較ではなく、データ整形や費用仮定の差まで比較してしまいます。
Reality Checkは候補群の最大値を検定する
n個の評価時点における候補kの平均差を d̄(k) と書くと、単純な平均差を使うRC統計量は次のとおりです。
T_RC = max(k∈K) sqrt(n) × d̄(k)
RCはこの最大値を、帰無仮説に沿って作ったブートストラップ分布と比べます。ここで使われるのが、複合帰無仮説に対する最不利境界です。具体的には、候補ごとの真の期待差がすべてちょうどゼロだとする全ゼロの境界を基準にします。実際には負の期待差を持つ候補も帰無仮説に含まれますが、全候補をゼロと置くと基準が保守的になり、多数の弱い候補があると臨界値が高くなることがあります。式では最大値の前に0との最大化を加えず、標本平均の最大値をそのまま示しています。
問うのは「標本で選んだ一位の成績が、単独の規則として珍しいか」ではありません。「同じ探索を候補群全体に行ったとき、これほど大きな最大値がどれほど珍しいか」です。勝者だけを通常の一候補用分布で評価すると、選択を繰り返した効果が抜けます。
RCのブートストラップでは、観測された各候補の系列から平均差を取り除き、全候補が境界上にある帰無分布を組み立てる考え方が基本になります。そのうえで各反復でも候補全体の最大値を計算するため、「観測した勝者だけ」を再標本化する場合とは分布が異なります。どの再標本化法を使うかと、帰無仮説に合うよう系列をどう中心化するかは別々に記録する必要があります。
SPAは標準化と標本依存の帰無分布を使う
HansenのSPA検定は同じ候補群とベンチマークの帰無仮説を保ちつつ、統計量と帰無分布の作り方を変えます。代表的な統計量は次の形です。
T_SPA = max(0, max(k∈K) sqrt(n) × d̄(k) / ω̂(k))
ω̂(k)は、√n倍した候補平均差の長期標準偏差を推定する量です。標準化することで、変動の大きい規則の生の平均差だけが優位になるのを抑えます。外側の0との最大値は、最大の標準化差が負でも統計量を0未満にしないためのものです。これは、0で切り詰めないRC統計量との違いの一つです。
SPAのもう一つの特徴は標本依存の帰無分布です。一貫性のある構成では、標本上で十分に悪い平均差を示した候補を、帰無分布の生成時にも負の差を持つものとして残し、帰無境界に近く妥当な候補はゼロを中心に置きます。悪い規則を候補群から単純に削除するわけではありません。全候補がゼロだとするRCの最不利基準が、弱い候補に影響される度合いを小さくし、検出力を改善し得る設計です。Hansenの論文は学生化統計量と標本依存の帰無分布を提案しています(Hansen、2005年)。SPAがあらゆる条件でRCを上回るという一様な優越性はありません。
ω̂(k)には通常の標本標準偏差をそのまま当てはめればよいとは限りません。隣り合う時点の差が相関していると、平均の推定誤差は各日の分散だけで決まらず、長期分散に依存します。Studentizationは、候補ごとの不確実性を反映した比較を狙うものです。標準化の推定方法が違えばSPAの実装も変わり得るため、名前だけでなく推定量や報告したp値の種類も残します。
時点ごとの候補ベクトルを一緒に再標本化する
ある時点の候補同士は同じ相場を経験しているため、その収益差は同時に動くことがあります。さらに各候補の系列には時系列依存が残ります。各候補列を独立に再標本化すると、同日の候補間の共分散が壊れ、最大値の帰無分布も変わってしまいます。そこで各時点のベクトル d_t=(d(1,t),…,d(K,t)) を一体として扱い、時間方向には同じ添字やブロックを全候補に共通して適用します。
時間ブロックを使う方法の一例が定常ブートストラップです。これは幾何分布に従う長さのブロックをつなぎ、弱く依存する定常観測の推論に用います(PolitisとRomano、1994年)。ただし、どのブロック法も依存を自動的に正しく表すわけではありません。過程が十分安定し、依存が適切な意味で弱いことなどの条件が必要です。構造変化や異なる相場レジームを一つの安定した過程として扱うと、再標本化しても問題は直りません。ブロックブートストラップのガイドでは、固定統計量の不確実性評価に使うブロック設計を解説しています。

240候補の例は算術だけを示す仮定です
次の候補数は設計を説明するための算術上の仮定です。12種類のルックバック期間、4種類のエントリーフィルター、5種類の決済設定をすべて組み合わせると、12×4×5=240通りになります。仮に各設定を同じ資産、同じ評価日、同じ費用ルールで比較し、買い持ちを固定ベンチマークにするなら、各候補の純収益率とベンチマークの純収益率との差を作り、240候補の最大値を検定対象にします。
この例は候補数の数え方だけを示し、実在する結果、p値、収益、優れた候補を主張していません。実際の研究でフィルター、対象市場、保有期間、コスト仮定、検定期間なども試したなら、それらが選択に影響した範囲を記録する必要があります。見かけ上の組合せ数だけを報告し、結果を見て試した追加設定を省くと、補正対象が実際の探索より狭くなります。
また、成績基準は候補を選ぶ前に決めます。例で使った平均純収益率の差なら、ボラティリティや損失の大きさを同時に評価しているわけではありません。費用控除後の収益、資金調達費、空売り費用、ロール費用などの適用時点が候補間で異なると、比較の土台も変わります。
FDRは複数の個別主張をどこまで採択するかという問題、RC・SPAは候補群のうち一つでも基準を超えるかという問題です。たとえば「どの規則が基準を超えるか」を複数列挙したい場合、全体検定の棄却だけでは足りません。逆に、平均成績が一つの基準を超える証拠をまとめて問うなら、個別p値を並べたFDR結果だけでは同じ問いに答えません。まず主張の単位を定めてから手法を選びます。
FDRと固定統計量の信頼区間は別の問い
Benjamini–Hochbergなどの偽発見率(FDR)手法は、複数の個別仮説を棄却したとき、棄却群に含まれる誤発見の割合の期待値を扱います。一方、RCとSPAは、ベンチマークに対する候補群の最大値を用いる全体検定です。どちらも多重性に関係しますが、出力や問いは置き換えられません。詳しくは多重検定と偽発見率のガイドを参照してください。
通常のブロックブートストラップ信頼区間もRCやSPAそのものではありません。あらかじめ固定した戦略の平均差やSharpe比など、単一の統計量にどの程度の標本不確実性があるかを評価できます。しかし、その戦略が多数の候補から結果を見て選ばれたなら、その選択を自動で調整しません。RCとSPAでは、候補群全体で計算し直す最大統計量と、帰無仮説に沿って作られた分布が中心になります。ブロック再標本化はその分布を作る仕組みの一部であり、選択調整を意味する名称ではありません。
報告されるp値は、帰無仮説と再標本化設計のもとで、観測された最大統計量以上の値がどれほど極端かを示す量です。「選んだ戦略が損失を出す確率」や「将来勝つ確率」ではありません。また、SPAのp値は実装によって下限・一貫・上限など複数の扱いが報告されることがあります。どの定義を使ったかを曖昧にしたまま、小数点だけを比較しないようにします。
Purged Cross-Validation(パージド交差検証)は別の問題を扱います。時間順のデータで、学習サンプルとテストサンプルの間に生じる情報漏洩を抑えるための分割方法です。候補ルール群の最大値がベンチマークを上回るかを問う RC・SPA の家族単位の検定とは目的が異なります。Purged CVとembargoのガイドでは、時間的な漏洩を避ける設計を説明しています。
棄却しても勝者の規則や将来の利益は確定しない
RCまたはSPAで帰無仮説を棄却した場合に言えるのは、指定した候補群、評価期間、成績基準、ブートストラップ設計と仮定のもとで、少なくとも一つの候補がベンチマークを上回る証拠があるということです。どの規則が真に優れているかを特定したり、選ばれた一規則が個別に有意であると認定したりする結果ではありません。非棄却も、すべての規則が同じ、あるいは無益であることの証明ではなく、設定した検定で十分な証拠が得られなかったという意味です。
この検定は未来の利益や損失を保証せず、バックテストが実運用で再現する確率を示すものでもありません。未記録の試行、先読み、サバイバーシップ、取引費用や市場インパクトの過小評価、非定常性、標本の短さは別に検討する必要があります。候補群や成績基準を結果を見た後で選び直せば、検定が前提とした検索範囲から漏れる可能性があります。検定後に候補を選び直す場合は、本当に未使用の期間で確認するなど、別の選択手順を設計してください。
再現できるよう設定と結果を報告する
報告には、ベンチマーク、比較対象となる完全な候補群、候補の生成経緯、評価日、頻度、純収益率や損失の定義、費用、検定統計量、RCかSPAか、SPAなら実装とp値の種類を含めます。さらに、時間依存を扱う再標本化法、ブロック長や平均ブロック長、反復回数、帰無分布の構成も明記します。同じデータを用いた追加探索や、候補を絞った時点も残しておきます。
RCとSPAが答えるのは指定した候補群に関する一つの全体的な統計的問いです。どちらかの棄却を、将来の運用承認や最終ランキングとして解釈しないでください。結果を再現できる記録と、事前に分けた確認用データを組み合わせても、将来の市場状況を保証できるわけではありません。指標、候補群、費用、日付を固定した上で解釈することで、検定が何を補正したのかを読み手が確認できます。
よくある質問
Q1SPAはいつでもReality Checkより検出力が高いですか?
いいえ。SPAの標準化と標本依存の帰無分布は、悪い候補の影響を弱めて検出力を改善し得ます。しかし、条件やデータ生成過程によって結果は変わり、両検定に一様な優劣はありません。
Q2SPAの有意な結果は、どの規則を選ぶべきか教えてくれますか?
いいえ。指定した候補群の中に優位なものがあるという全体的な証拠を示すにとどまります。どの規則を採用するかは、候補別の適切な手順と、選択に使っていないデータでの確認が別途必要です。
Q3成績の悪かった試行を候補群から外してもよいですか?
その規則や設定が最終候補を選ぶ際に試されていたなら、除外すると探索過程を過小評価する可能性があります。検定結果を読む前に、選択に影響した関連候補群を定義して記録してください。 主な研究 - White, “A Reality Check for Data Snooping” (2000) - Hansen, “A Test for Superior Predictive Ability” (2005) - Sullivan, Timmermann, and White, “Data-Snooping, Technical Trading Rule Performance, and the Bootstrap” (1999) - Politis and Romano, “The Stationary Bootstrap” (1994)
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
RCとSPAの全体帰無仮説が表す内容はどれですか?
答えを選ぶと解説を確認できます