指標を問いで分ける
| 問い | 主な方法 | 代替しないもの |
|---|---|---|
| 入力データは正しいか | 欠損・時刻・コスト・先読み監査 | 統計的有意性 |
| 標本Sharpeはどれだけ不確実か | SE・PSR | 多数試行 |
| 探索後でもSharpeは十分か | N・DSR | 局所感度 |
| パラメータを少しずらしても保つか | Landscape・近傍分位 | 未使用OOS |
| 分割を変えてもOOS経路が保つか | Purging・CPCV | 未知の未来 |
| IS勝者がOOSでも上位か | PBO | 絶対収益性 |
| 成績が時間に集中していないか | SSR・block bootstrap | 選択バイアス |
| 状態が変わっても条件付き分布が保つか | 全期待値・分布距離・fold内レジーム | 未知の状態 |
| どの配分なら複利で生存できるか | 対数成長・Fractional Kelly・DD制約 | エッジの存在 |
| 実装・約定が再現するか | デモ・少額フォワード | バックテスト修正 |
12段階のゲート
- 仮説登録:経済的理由、対象、期間、ルール、コスト、棄却条件を結果を見る前に記す。
- 試行会計:候補数を実行前に累計Nへ加え、探索範囲と選択規則を固定する。
- データ監査:log return、欠損、重複、タイムゾーン、日足境界、先読み、執行価格を確認する。
- IS探索:候補を同一条件で比較し、全結果と不採用案を保存する。
- 局所頑健性:ランドスケープの近傍中央値・10%点・最悪値を確認する。
- 統計ゲート:n、95%CI、歪度、尖度、JB、PSR、DSRを報告し、DSR<0.95は採用候補にしない。
- purged OOS:ラベル区間でPurging、境界へEmbargo、前処理はtrain内だけでfitする。
- 経路・選択診断:CPCVの下位分位、失敗率、PBO、OOS取引数を確認する。
- 時間的一貫性:定義を明記したSSR/nSSRとblock bootstrap、年別結果を確認する。
- 条件付き安定性:P(S)とP(R|S)、状態別n・CI・下位分位、train/OOS分布距離を確認する。
- 資金配分:OOS収益で対数成長、Fractional Kelly、DD・破産・証拠金制約を確認する。
- 最終OOSとフォワード:一度だけ開くホールドアウト後、デモ→少額→通常配分。停止基準を事前登録する。
必須レポート
レポート冒頭へ研究ID、ルール版、データ版、対象期間、累計N、SR、DSRを置きます。続けて次を掲載します。
- 取引数、コスト後期待値、勝率、ペイオフ比、PF
- 平均収益95%CI、Sharpe、Sortino、Calmar
- 最大DD、DD分布95%点、回復期間
- 歪度、超過尖度、Jarque–Bera p値、主要自己相関
- Landscape近傍要約と全セル数
- CPCV経路数、中央値、10%点、最悪値、失敗率
- PBO、SSR/nSSRの式、w・L・block length
- レジーム定義、状態別n・CI、P(S)、P(R|S)、train/OOS分布距離
- Full Kelly推定値、使用λ、DD・破産率・証拠金による配分上限
- 最終OOSとフォワードの差、滑り・拒否・ルール逸脱率
時間帯を扱う戦略は、年別×時間帯別損益ヒートマップを必須とします。行=年、列=0〜23時、右端=年合計、下段=時間合計。ホバーで損益・取引数・勝率を表示し、サーバー時刻とJSTを併記します。
レポート冒頭
Research ID: ...
Rule/Data/Code version: ...
Symbol / Period / Timezone: ...
N_TRIALS: ...
SR / PSR / DSR: ...
Decision: CANDIDATE / HOLD / REJECT
Reason: failed or passed gates ...採用・保留・棄却
| 状態 | 条件 | 次の行動 |
|---|---|---|
| 採用候補 | データ監査、DSR≥0.95、OOS下位分位、条件付き安定性、配分制約が基準内 | デモ→少額。通常配分ではない |
| 保留 | 標本不足、CIが広い、CPCV下位または状態別成績が不安定 | 新しい自然経過データを待つ |
| 棄却 | 先読み、コスト後負、DSR<0.95、OOS崩壊、許容配分でも破産率超過 | 結果を保存。都合よく修正しない |
| 再仮説化 | 明確な実装・データ原因を特定 | 別ID・別試行Nとして最初から |
危機対応戦略は役割で判断する
低SSRや不安定な年次成績だけで、危機時の分散効果を持つ戦略を機械的に棄却しません。単体の安定性と、ポートフォリオへの限界寄与を分けて報告します。ただし役割の後付け変更は認めません。
再検証の扱い
停止や棄却後に条件を変えるなら、新しい研究です。過去のOOSやライブ期間を再び「未使用」と呼びません。
Nnew = Nprevious + Nadded candidates
- 原因をデータ、実装、執行、ルール、市場構造に分ける。
- 変更仮説と新しい棄却条件を記録する。
- 追加候補数を実行前にNへ加える。
- 新しい確認データを確保できなければ「探索的」と表示する。
- 各指標の問いを区別した
- ゲート順序を実行前に固定した
- 失敗を高い別指標や大きな配分で相殺していない
- レジーム定義と配分候補をNへ反映した
- 最終OOSを一度だけ開いた
- 再設計を別研究ID・別Nにした
- フォワード停止基準を運用前に登録した
修了テスト
4問でコース全体を確認します。
Q1. Landscapeが良ければDSRは?
局所感度と選択バイアスは別です。
Q2. CPCVで良い平均だけが出た場合、次に見るものは?
分布の弱い側を確認します。
Q3. 再設計後の正しい扱いは?
見たデータと試行履歴は消せません。
Q4. バックテスト通過後の正しい順番は?
配分込みの生存性と実装・約定を段階的に確認します。
参考資料
各手法の原典は前9回の参考資料を参照。運用移行はフォワードテストと停止基準へ接続します。