候補×期間の成績行列
M個の戦略候補を同じT時点で評価し、コスト後収益行列R∈ℝT×Mを作ります。候補はパラメータ違い、特徴量違い、ルール違いを含みます。
すべての候補を同一期間、同一コスト、同一資本規約で並べます。勝者だけを保存してもPBOは計算できません。
CSCV分割
原論文のCombinatorially Symmetric Cross-Validation(CSCV)は履歴を偶数S個の連続グループへ分け、半分をIS、残り半分をOOSにする全組合せを使います。
各分割cで、全候補のIS評価JIS,c(m)とOOS評価JOOS,c(m)を計算し、IS最良候補m*cを選びます。
目的関数と同点処理は事前に固定します。PBOを下げるために指標や分割数を選び直せば、PBO自体を過学習させます。
OOS順位とlogit
IS勝者m*cのOOS成績を全M候補の中で順位付けします。1を最悪、Mを最良とし、順位rcを(0,1)へ正規化します。
ωc<0.5、すなわちλc<0なら、IS勝者はOOSで中央値より下です。連続成績の絶対値ではなく、候補集合内の相対順位を見ています。
Probability of Backtest Overfitting
全分割のうちλ≤0となる割合がPBO推定値です。
PBO=0.60なら、ISで選んだ勝者がOOSで中央値以下へ落ちた分割が60%あった、という意味です。「60%の確率で将来損する」ではありません。
候補がすべて損失でも、順位が安定していればPBOは低くなり得ます。逆に、分散効果の高い危機対応戦略は順位が不安定でも役割がある場合があります。
DSR・CPCVとの違い
| 方法 | 中心となる問い | 主な出力 |
|---|---|---|
| DSR | 探索量を考慮してSharpeは十分か | 基準超過確率 |
| CPCV | 分割が変わるとOOS経路はどう分布するか | 複数OOS経路 |
| PBO | IS勝者はOOSでも上位か | 順位反転の割合 |
CPCVとPBOは組合せ分割という発想を共有しますが、原論文のPBOはIS/OOSを半分ずつにするCSCV順位推定です。名称と手順を混ぜずに報告します。
限界と実務
- 候補集合が狭すぎれば、実際の探索量を過小評価する。
- 目的関数や分割設計を後から選ぶとメタ過学習する。
- 候補同士の相関が高く、分割も同じ履歴を共有する。
- 非定常性や未知の危機を推定できない。
- 取引数が少ないと各グループの順位が不安定になる。
candidate_id, rule_version, parameter_vector
split_id, is_groups, oos_groups
J_is, J_oos, rank_oos, omega, logit_lambda
cost_model, trade_count, N_TRIALS- 探索した全候補を行列へ残した
- 目的関数と同点処理を事前固定した
- 原論文のCSCVとCPCVを区別した
- PBOと絶対OOS成績を併記した
- PBOを将来損失確率と呼んでいない
ミニテスト
4問で確認します。
Q1. PBOの原論文で使う分割は?
履歴グループを半分ずつIS/OOSへ分けます。
Q2. λ≤0が表すものは?
候補集合内の相対順位です。
Q3. PBOが低ければ確認不要になるものは?
順位安定と収益性は別です。
Q4. PBO=0.60の正しい解釈は?
分割における選択失敗の割合です。
参考資料
Bailey et al., The Probability of Backtest Overfitting。