検証の方法
「効く気がする」を排除するための手続きです。検証は次の順序で行い、途中で条件を都合よく変えません。
進め方(7ステップ)
-
仮説化 テクニカルや戦略の記述を、売買方向、時間足、条件、発注タイミング、損切り、利確、無効化条件まで含む仮説にする。
-
データ固定 USD/JPY の対象期間、時間足、タイムゾーン、スプレッド、欠損処理、夏時間の扱いを固定する。検証後に都合よく期間を選び直さない。
-
ベースライン作成 ランダムエントリー、単純な buy-and-hold、時間帯別リターンなどと比較する。戦略単体の損益ではなく、代替ルールより有意に良いかを見る。
-
インサンプル検証 まず固定パラメータで検証する。細かいグリッドサーチは最後に回す。
-
アウトオブサンプル検証 期間分割、ウォークフォワード、年別成績、相場レジーム別成績を確認する。特定年だけの勝ちを edge と呼ばない。
-
コスト控除 スプレッド、スリッページ、約定不能、指標時のスプレッド拡大を入れる。コスト控除前だけ勝つルールは棄却する。
-
判定 採用、保留、棄却、要再定義に分ける。棄却した仮説も削除せず、なぜ潰れたかを残す。
評価の単位:R と期待R
評価は R を基本にします。
- 初期損切り幅
勝率は方向精度の一部を示すだけです。勝率が高くても平均損失が大きければ、期待Rは残りません。
必ず記録する指標
勝率だけでは採用しません。最低限、次を記録します。
| 指標 | 見る理由 |
|---|---|
| 取引回数 | サンプル不足の偶然勝ちを避ける |
| 勝率 | セットアップの方向精度 |
| 平均利益R / 平均損失R | 損益比率 |
| 期待R | 1取引あたりの平均 edge |
| Profit Factor | 利益総額と損失総額の比率 |
| 最大ドローダウン | 継続可能性 |
| 最大連敗 | ロット管理と心理的耐性 |
| 年別成績 | 特定年への依存 |
| 時間帯別成績 | 東京、ロンドン、NY の性格差 |
| コスト感応度 | スプレッド、スリッページで edge が消えるか |
| パラメータ感応度 | 1点最適化ではなく近傍でも残るか |
共通データ仕様
- 通貨ペア: USD/JPY(クロス確認では他メジャー、JPYクロスも使用)
- 足: M1、M5、M15、H1、H4、D1
- タイムゾーン: JST
- 価格: Bid/Ask があれば実スプレッド、なければ保守的な推定スプレッド
- 約定: シグナル足の終値確定後、次足始値(先読み防止)
- コスト: 通常スプレッド、指標時スプレッド、想定スリッページを別管理
- 除外: データ欠損、異常レート、祝日薄商いは別タグ化
多重比較の補正
多数の期間、種類、条件を試すと、偶然だけで「勝つ」組み合わせが必ず現れます。これを edge と誤認しないため、複数仮説を同時に検定するときは FDR(False Discovery Rate)補正を行い、補正後に生き残るものだけを候補とします。
反証条件(棄却の基準)
次のどれかに該当すれば、仮説は一旦否認します。
- コスト差し引き後の期待Rが 0 以下。
- 勝率は高いが平均損失が大きく、期待Rが残らない。
- 特定の短期間だけ利益が出て、ローリング成績が不安定。
- パラメータを細かく最適化しないと成立しない。
- スプレッド、スリッページを入れると優位性が消える。
- サンプルが少なく、実務上の結論を出せない。
参考
- Bailey, D. H. & López de Prado, M., “The Probability of Backtest Overfitting”, 2014
- Fama, E., “Efficient Capital Markets: A Review of Theory and Empirical Work”, 1970
- Lo, A. W., “The Adaptive Markets Hypothesis”, 2004