SHOTAI · 第5部 · 第19章 フォワード検証 ― アウトオブサンプルで測る イン・サンプルPF2.2が、OOS+実コストで死ぬ。残るのは金と指数だけ。
過去検証は、あなたに都合のいい未来を語る。フォワード検証は、市場があなたに突きつける現実を語る。 バックテストでどれだけ綺麗な右肩上がりが出ても、それはもう答えを知っているデータで答え合わせを しただけだ。本物かどうかは、結果がまだ存在しない時間軸=前向き(OOS)に、実際の約定コストを払いながら 回して初めて分かる。この章は第5部「守る」の卒業ゲート=門である。
この記事のサマリ
| 区分 | 内容 |
|---|---|
| 🎯 学べること |
① 過去検証(IS=イン・サンプル)とフォワード検証(OOS=アウトオブサンプル)の決定的な違い ② 実行コスト・スリッページ・約定ズレは前向きでしか測れないという事実 ③ IS→OOSの「橋」を渡るときに何が脱落するか(橋の図) ④ 卒業ゲート4条件=遵守率90%超 ∧ 最低2レジームをまたぐ ∧ コスト控除後プラス ∧ 対ベンチマーク超過 ⑤ デモ→極小→本番という段階の踏み方と、各段で確認すべきこと |
| 🛠 実技で体験 |
① 決めたプロセスを同一ルールでデモ/極小ロットに乗せ、約定の現実(滑り・スプレッド拡大・拒否)を記録する ② 遵守率を1トレードごとに記入式で採点する ③ 卒業ゲート4条件のチェック表を、自分の前向きログで埋める |
| ✅ 持ち帰り |
① 覚える式は1本:OOS純益 = グロス益 − 実コスト(スプレッド+スワップ+スリッページ+約定ズレ) − ベンチマーク ②「過去で良く見えた」は仮説、「前向きでコスト後に残った」が証拠、という線引き ③ 4条件を満たすまで本番でサイズを上げない、という門の規律を自分に課す |
この章を一言で
過去検証は、あなたに都合のいい未来を語る。フォワード検証は、市場があなたに突きつける現実を語る。 バックテスト(IS)でどれだけ綺麗な右肩上がりが出ても、それは「もう答えを知っているデータ」で答え合わせを しただけだ。本物かどうかは、結果がまだ存在しない時間軸——つまり前向き(OOS)に、実際の約定 コストを払いながら回して初めて分かる。この章は、第13章(予測日記)・第18章(前向き蓄積)で貯めてきた プロセスを、いよいよ実行系に接続する門である。
OOS純益 = グロス益
− 実コスト( スプレッド + スワップ + スリッページ + 約定ズレ )
− ベンチマーク( 何もしない / 指数を持つ )
最後の「− ベンチマーク」まで引いて、なお正なら本物に近い。ここを引かずに勝った気になる人から、本番で 溶けていく。順に解剖する。
01IS と OOS ―「答えを見た試験」と「ぶっつけ本番」
検証には2つの時間がある。過去検証(IS)は、すでに起きた値動き=答えが確定したデータの上で ルールを試す。フォワード検証(OOS)は、まだ結果が存在しない「これから」に対して、決めた ルールを動かす。
| 観点 | IS(過去検証) | OOS(フォワード検証) |
|---|---|---|
| データの性質 | 結果が確定済み(答えを見ている) | 結果が未確定(ぶっつけ本番) |
| 過学習(カーブフィット)の混入 | 起きやすい(後知恵でルールを調整できる) | 構造的に起きない(弄れない) |
| 実行コストの再現 | 仮定値しか入れられない | 実測値が出る |
| スリッページ・約定拒否 | ほぼ再現不能 | そのまま体感する |
| 「目視で良さそう」の扱い | 仮説どまり | 証拠になり得る |
第18章で確認した通り、低頻度のスイングは過去検証だけでは届かない。だからこそ前向きに貯めるOOSが本線になる。
02IS→OOS の橋 ― 渡るときに何が落ちるか
ISで良く見えた戦略を、そのままOOSへ運ぶ。この「橋」を渡るとき、数字は必ず痩せる。何が橋から落ちるのかを 図にする。
当デスクの1,360セル横断検証は、この橋の実物だ。グロス/イン・サンプルでPF2を超えるセルが 多数あっても、実コスト+OOS+2倍コストを通すと、残ったのは金(ゴールド)と株価指数のトレンド フォローだけだった。FXの大半はスプレッドで消えた。「イン・サンプルは嘘をつく」を、自分のデスクの 数字で見せる教材である。
| 橋で落ちる要素 | ISでの扱い | OOSで初めて分かること |
|---|---|---|
| 過学習の上振れ | 気づけない(後知恵込み) | 前向きでは再現せず剥がれる |
| スリッページ | 0と仮定しがち | 指標・薄商いで実際に何pips滑るか |
| 約定拒否/リクオート | 存在しない | 「建てたい価格で建たない」を体感 |
| スワップ | 概算 | 保有日数×方向で毎日の実額が出る |
| レジーム | IS期間ぶんだけ | またいだ局面でだけ崩れ方が出る |
03実行コストは「前向きでしか」見えない ― 可視化
なぜOOSでないとコストが分からないのか。スプレッドの仮定値は静止画だが、現実の約定は動画だからだ。 値が走る瞬間にこそ取引したくなるが、その瞬間こそスプレッドは広がり、滑りは大きくなる。
1トレードの「実コスト」を分解して記録する
| コスト項目 | 中身 | OOSでの記録方法 |
|---|---|---|
| スプレッド | 約定時の買値−売値(提示値ではなく約定実績) | 約定通知から逆算 |
| スリッページ | 発注価格 − 約定価格の差 | 指値/逆指値の指定と約定の差を記録 |
| 約定ズレ/拒否 | 建てられなかった・部分約定・リクオート回数 | 回数を正の字でカウント |
| スワップ | 保有日数 × 1日あたり調整額(方向で±) | 口座の入出金履歴から拾う |
「目視で良さそう」は仮説であって証拠ではない。約定が現実に滑った記録こそが証拠だ。仮定したコストでは なく、口座に刻まれた実コストだけをこの章では信じる。
04卒業ゲート ― 4条件をすべて満たすまでサイズを上げない〔門〕
ここがこの章の核心であり、第5部「守る」の門だ。フォワード検証を「なんとなく良かった」で終わらせない。 次の4条件をすべて(AND)満たすまで、本番でサイズを上げてはならない。
| # | 条件 | 何を確認するか | 不合格のとき何を意味するか |
|---|---|---|---|
| ① | 遵守率 90%超 | 決めたルール通りに建て・切り・見送れたか | 戦略でなく実行が壊れている。サイズを上げれば崩壊が拡大する |
| ② | 最低2レジームをまたぐ | リスクオン/オフ、レンジ/トレンド等を異なる局面で経験 | 1局面しか見ていない=局面依存の幻かもしれない |
| ③ | コスト控除後プラス | 実コスト(§03)を全額引いてなお正の純益 | グロスで勝ってもコストで負ける=橋を渡れていない |
| ④ | 対ベンチマーク超過 | 「何もしない/指数を持つ」を上回ったか | 手間とリスクに見合う付加価値が無い=やる意味が無い |
なぜ「2レジーム」なのか
第9章で見た通り、相関やエッジは局面が変わると壊れる。リスクオンで効いた手法がリスクオフで 逆回転することは珍しくない。1つの局面だけで合格にすると、次の局面で初めて死ぬ。だから最低でも 性質の異なる2局面をまたいで生き残ることを門の条件にする。低頻度スイングではこれに時間が かかる——だが、それが正直な現実だ(第17章・第18章)。
なぜ「対ベンチマーク」を必ず引くのか
勝っていても、それが「指数をただ持っていた人」に負けているなら、あなたは余計なリスクを取って劣後した だけだ。超過(アルファ)があって初めて、この営みに意味がある。 第10章で定義した「パッシブ 代替を上回る理由」が、ここで前向きの数字として問われる。
05デモ → 極小 → 本番 ― 段階の踏み方
いきなり本番に資金を張らない。リスクを階段状に上げ、各段で確認すべきことを変える。
| 段階 | 資金 | この段で測るもの | 注意(デモの限界) |
|---|---|---|---|
| デモ | 仮想 | 注文操作・ルール遵守の型 | 約定が甘く出がち。滑り・拒否が本番より楽観的になる |
| 極小ロット | 実弾・最小単位 | 実約定の滑り・拒否・スワップ実額・心理の混入 | ここで初めて「本当のコスト」が出る |
| 小ロット | 段階拡大 | 金額が増えても遵守率が落ちないか | 連勝後の増玉衝動が出る(第23章で扱う) |
| 本番 | 規定サイズ | プロセス一貫性のみ。損益でサイズを動かさない | 卒業ゲート通過が前提 |
デモはタダで「型」を固める場所、極小は安く「現実」を買う場所。デモは約定が楽観的に出やすいので、 滑り・拒否・スワップの現実は必ず極小ロットで上書きする。デモだけで卒業ゲートを満たしても、それは橋を 半分しか渡っていない。
06当デスクも同じ門をくぐる ― Tier1 の前向き確認〔独〕
これは個人にだけ課す規律ではない。当デスクのTier1(最有力候補)も、実弾フォワードで前向き確認 できるまで「確定配備」を保留する。
具体的には、Tier1戦略を OANDA REST API 経由で、まずデモ口座で同一ルールを 自動執行し、約定の現実(滑り・拒否・スプレッド拡大)を記録する。そこで挙動が安定したら小ロットの 実弾へ落とし、ようやく前向きのコスト後成績が積み上がる。この前向き確認を通過するまで、 デスクは本配備のサイズを上げない。 個人に課す4条件の門を、デスク自身も同じようにくぐっている。
第13章(予測日記)で「主張+反証条件」を前向きに書き、第18章(前向き蓄積)で公開採点(synchronize)に 積んできたものが、ここで実行系のコスト後成績として確定する。デスクは公開からまだ日が浅く、 前向き実績は蓄積中(n小)。だから点推定で「勝った」と言わず、信頼区間で現在地を語る (第17章)。あなたも同じ作法で、自分の前向きログを読む。
体験 ― 今すぐ手を動かす
読んで終わりにしない。自分のプロセスを実行系に乗せ、現実の数字を記録するのがこの章の体験だ。
① 実コストを1トレードごとに記録する
| 記入欄 | あなたの値 |
|---|---|
| 発注価格 | ____ |
| 約定価格 | ____ |
| スリッページ(pips) = 約定−発注 | ____ |
| 約定時スプレッド(pips) | ____ |
| 約定ズレ/拒否/部分約定の回数 | ____ |
| 保有日数 × スワップ(円・±) | ____ |
| 実コスト合計 | ____ |
② 遵守率を採点する(記入式)
遵守率 = ルール通りに実行できたトレード数 ÷ 全トレード数 × 100
ルール通りの建玉 ____ 件
ルール通りの損切り ____ 件
ルール通りの見送り ____ 件 ← 「建てなかった正解」も1件
─────────────────────────
遵守できた合計 ____ ÷ 全機会 ____ = 遵守率 ____ %
(目標:90%超)
③ 卒業ゲート4条件チェック表を埋める
| # | 条件 | 自分の値 | 判定(✅/⚠) |
|---|---|---|---|
| ① | 遵守率90%超 | ____ % | ____ |
| ② | 最低2レジームをまたぐ | またいだ局面:____/____ | ____ |
| ③ | コスト控除後プラス | コスト後純益:____ | ____ |
| ④ | 対ベンチマーク超過 | 自分 ____ /ベンチ ____ /差 ____ | ____ |
| — | 総合(4つすべて✅か) | — | 門:開く/閉じる |
→ 1つでも⚠なら、門は閉じたまま。サイズを上げず、その条件が埋まるまで同じサイズで前向きに回し 続ける。
アクション ― 次の一歩
① 同一ルールの「執行手順書」を1枚で固める。 第13章の予測日記の書式(前提・主張・反証条件・ エントリー/損切り/サイズ)を、そのまま実行系に写す。検証中に手順を弄らない(第16章の「凍結」ルール)。
② デモで操作の型を1〜2週間、続いて極小ロットへ移す。 デモは約定が楽観的に出るので、 滑り・拒否・スワップの現実は必ず極小ロットで上書きする。最低でも異なる2レジームをまたぐ まで続ける(低頻度なら数ヶ月かかると覚悟する)。
③ 当デスクの公開採点(/synchronize)と現在のレジーム (/desk/usdjpy の5ドライバー圧力差・統合bias)を毎営業日チェックし、 自分の前向きログを信頼区間で読む。点推定の「勝った/負けた」でなく、「コスト後・対 ベンチマークで、どのレジームを何件またいだか」を見る。
OOS純益 = グロス益 − 実コスト − ベンチマーク。そして、卒業ゲート(遵守率90%超 ∧ 2レジーム ∧ コスト後プラス ∧ 対ベンチマーク超過)の4つがすべて✅になるまで本番でサイズを 上げない。これだけ持って次へ。
この章の「前向きでコスト後に残るか」を、当デスク自身の数字で見てみよう。公開採点(シンクロ率)は、 デスクの予測がどれだけ当たっているかを、点推定でなく信頼区間で外から見えるようにしている。 卒業ゲートの実例として、自分の前向きログと同じ作法で読んでほしい。
→ 公開採点(シンクロ率)を見る