メインコンテンツへスキップ
← FXの正体SHOTAI · 第4部 · 第16章
第4部 · 検証する 第16章 約12分で読む Tags: 独立検証 · 合議 · ゲート凍結 · 研究者の自由度

SHOTAI · 第4部 · 第16章 独立検証から合議の規律 組む前に、各層を汚染せず単独で検証する。条件付けは自由度を爆発させる。

条件付きエッジ(第12章)は強い。だがその強さは、研究者が触れるツマミ(自由度)の数を爆発させる。 サイン × レジーム × 方向 × 時間軸 × 閾値……この掛け算の海で「一番きれいに見える組合せ」を選び続けると、 現実のエッジではなく過去データの形を彫刻しているだけになる。対策は、各層を汚染せず単独で検証し、組んだら凍結し、 判定は前向きOOSだけで行うこと。順序を逆にした人から、過学習の罠にはまっていく。

この記事のサマリ

区分内容
🎯 学べること ① 条件付きエッジ(第12章)が強力な反面、研究者の自由度を爆発させ過学習の温床になる理由
② 対策=各層を汚染せず単独で検証してから組むという独立検証の規律
③ 条件付け(サイン×レジーム×方向×TF×閾値)の組合せ爆発がなぜ危険か
④ 一度組んだゲートを後から弄らない(凍結/フリーズ)原則と、その意味
⑤「ライブデータで再最適化しない」=前向きOOSの性質を壊さないという最重要ルール
🛠 実技で体験 ① 当デスクがDaliとJonesを「相互汚染禁止」で独立検証してから合議している実例を読む
② 自分の検証ルールに「ゲート凍結条項(日付つき)」と「再最適化禁止条項」を明文化する記入式テンプレを埋める
✅ 持ち帰り ① 覚える核は1つ:「組む前に、汚染せず単独で検証。組んだら凍結。判定は前向きOOSのみ」
② 複合ゲート(第12章 DaliJonesGate)は日付つきで固定=触らずに前向きで貯めるのが命
③ 再最適化した瞬間にOOSはOOSでなくなる(性質が壊れる)、という不可逆性を体に入れる

この記事を一言で

条件付きエッジ(第12章)は強い。だが強さと引き換えに、研究者が触れるツマミの数を爆発させる。 サイン × レジーム × 方向 × 時間軸 × 閾値……この掛け算の海で「一番きれいに見える組合せ」を選び続けると、 あなたは現実のエッジではなく過去データの形を彫刻しているだけになる。これが過学習(オーバーフィット)の温床だ。

対策はシンプルで、しかし守るのが難しい。各層を汚染せずに単独で検証してから組む。組んだゲートは日付つきで凍結し、 二度と弄らない。良し悪しの判定は前向き(フォワード)のOOSだけで行う。 この章で覚えるのは、たった一個の規律だ。

   組む前  →  各層を汚染せず "単独で" 検証する
   組んだ後 →  ゲートを "凍結"(日付つきで固定)して触らない
   判定    →  前向きOOS だけ(ライブで再最適化しない)
「凍結」と「再最適化しない」の2語が、なぜ検証の生死を分けるのか。順に解剖する。

01条件付きエッジの代償 ― 自由度が爆発する

第12章で、単独では無価値な特徴量も条件を付けると価値を持つことを学んだ。これは正しい。だが正しさには 裏面がある。条件を増やすほど、研究者がいじれるツマミ(自由度)が掛け算で増える

賭けの条件を一つ足すたびに、組合せが掛け算で増えていく サイン候補 10 × レジーム 5 × 方向の定義 4 × 時間軸(TF) 3 × 閾値 8 10×5×4×3×8 = 4,800 通りの組合せ
図 16-1 条件(ツマミ)を一つ足すごとに、試せる組合せは掛け算で膨れ上がる。4,800通りも試せば、偶然だけで「見栄えのする組合せ」がいくつも現れる。

4,800通りも試せば、純粋な偶然だけでも「過去データで見栄えのする組合せ」がいくつも現れる。過去をなぞって 最もきれいなものを選ぶ作業は、エッジを発見しているのではなく、過去のノイズに合わせてカーブを彫っているだけかもしれない。

自由度(ツマミ)増やすと起きること
サインの選択どのインジ/ルールを使うか候補が多いほど「たまたま当たり」が混入
レジームの定義リスクオン/オフ、カーブ状態の切り方境界をずらすだけで結果が変わる
方向の定義LLM Oracle bias / factor_bias / tsmom のどれを「方向」とするか定義替えで成績が動く(第8章 未決事項)
時間軸(TF)1分/15分/日足のどれで見るかTFを変えれば別の最適点が現れる
閾値PF≥1.35 か 1.30 か1段ずらすと採否が反転する
「組合せをたくさん試して、一番良かったものを採用」は検証ではない。それは過去データへのフィッティングだ。試した回数だけ「偶然の当たり」が増える――これをデータスヌーピング(第15章で触れた罠)という。

02汚染とは何か ― 層が互いを覗き見ると壊れる

独立検証の核心語が「汚染(コンタミネーション)」だ。汚染とは、ある層を検証・調整するときに、 別の層の答えや評価期間を覗き見てしまうこと。覗き見た瞬間、その検証は「独立」でなくなり、成績は本来より良く見える方向に歪む。

✗ 汚染された検証 — 層が互いを覗き見る Jones(サイン層) Dali(マクロ方向層) 覗き見 — 互いの好調期間・銘柄に合わせて調整 二人で答え合わせした試験 — 高得点に見えても本番(前向き)で崩れる ✓ 独立した検証 — 層が互いを見ない Jones(サイン層) Dali(マクロ方向層) 相互非参照 単独で合否(コスト後PF) 単独で合否(コスト後PF)
図 16-2 汚染とは、ある層を調整するとき別の層の答えや好調期間を覗き見ること。覗き見た瞬間、検証は独立でなくなり成績は良く見える方向に歪む。

汚染は悪意なく起きる。「Bがうまくいった局面に合わせてAのパラメータをちょっと調整しよう」――この“ちょっと”が、 AとBの独立性を静かに溶かす。二人で答えを見せ合ってから提出した試験は高得点に見えるが、本番(前向き)で崩れる。

汚染の入り口具体例なぜ危険か
期間の覗き見片方が好調だった期間を見て、もう片方を合わせる同じ期間に最適化=OOSが消える
評価指標の流用合議後の最終PFを見ながら各層を再調整全体に合わせて部品を削る=過学習
銘柄・TFの後付け合議が効いた銘柄だけ残すサバイバーシップ(生き残りだけ採用)
方向定義の借用Daliの結果が良くなるようJones側の方向を定義替え定義が結果に依存=循環

03当デスクの実例 ― DaliとJonesを「相互汚染禁止」で独立検証する

ここが「ここでしか読めない」部分だ。当デスクの複合ゲート DaliJonesGate(第12章)は、 Jonesサイン ∧ Dali方向一致 ∧ ★3(PF≥1.35) でのみ建てるという条件付きエッジだ。これを組むにあたって、 デスクは検証独立性の保護を最優先のルールにしている。

Jones(サイン層) 低位足のサイン PF・expectancy_R コスト後で単独評価 Dali(マクロ方向層) 米実質金利(10Y TIPS) 2s10s カーブ状態 hawk-dove NLP TSMOM / CFTC 互いを見ずに単独で合否 互いを見ずに単独で合否 合議(AND ゲート) Jonesサイン ∧ Dali方向一致 ∧ ★3(PF≥1.35)で建てる 建てたら結果は前向きにだけ貯める(n は足切りせず実績蓄積後に判断)
図 16-3 当デスクの DaliJonesGate は、JonesとDaliを互いの結果を見ずに単独で合否を出し、合議(ANDゲート)で組んでから前向きにだけ実績を貯める。

ポイントは3つ。

① JonesはDaliの好調期間を見ない。DaliはJonesの当たり銘柄を見ない。 それぞれが単独で コスト後のPF・expectancy_R を出して合否を決める。これが「相互汚染禁止」。

② 合議(AND)は、独立に合格した層を後から組むだけ。 組むときに各層を再調整しない。

③ 合議後の成績は前向き(フォワード)で貯める。 当デスクは「n は今は足切りせず、実績蓄積後に判断」 という運用にしている。つまり過去でサンプルを水増しするのでなく、これから本物のOOSを積む。

当デスクのポートフォリオは in-sample Sharpe 0.81、OOSは0.4〜0.6を想定している(第18章で詳述)。この“IS→OOSで落ちる”前提を持っているからこそ、独立検証と凍結が要る。落ちることを知らない人だけが、ISの派手な数字を信じて再最適化に走る。

04凍結(フリーズ)― 組んだゲートは日付つきで固定する

独立に検証し、合議で組んだ。次が最重要の規律だ。組んだゲートは「凍結」する。日付つきで固定し、以後は触らない。

なぜ日付つきか。「いつ凍結したか」が記録されていなければ、その後に積んだデータが本当に前向き(OOS)なのかを 誰も証明できないからだ。凍結日は、IS(過去最適化)とOOS(前向き本番)を分ける境界線の証拠になる。

◀ 過去(IS)— 最適化してよい 未来(OOS)— 触らず前向きに貯める ▶ 凍結日(YYYY-MM-DD) 凍結日より右でツマミを回せば、それは OOS でなくなる(IS に逆戻り)
図 16-4 凍結日は IS(過去・最適化してよい)と OOS(未来・触らず前向き)を分ける境界線。日付がなければ、積んだデータが本当に前向きか誰も証明できない。
項目凍結する(推奨)凍結しない(危険)
パラメータ凍結日の値で固定成績を見て随時調整=過学習
ゲートの論理AND条件を固定不調時に条件を緩める=後付け
閾値(PF≥1.35等)固定「あと0.05下げれば建てられた」を許す=なし崩し
記録凍結日を明記日付なし=IS/OOSの境界が消える

凍結ルールの本質は「自分の手を縛る装置」だ。相場が思い通りに動かないと、人は無意識にツマミを回したくなる。 凍結は、その衝動から未来の自分を守る契約である。

05再最適化が壊すもの ― OOSは一度しか使えない

凍結とセットの原則が「ライブデータで再最適化しない」だ。これは検証で最も間違えやすく、しかも取り返しがつかない ポイントなので、図で正確に掴む。

OOS(アウト・オブ・サンプル)とは「まだパラメータ調整に使っていない、未知のデータ」のこと。OOSの価値は、 まさに「未知である」一点に宿る。ところが、ライブで積んだデータを見て「ここをこう直せばもっと良かった」と再最適化した瞬間―― そのデータはもう未知ではなくなる。OOSはISに化け、検証の証拠能力が消える。

① 凍結ゲートで前向きに貯める ② ライブの OOS データが溜まる "未知" だから価値がある 触らずそのまま採点 OOS の性質を保てる ◎ 「ここ直せば」で再最適化 未知でなくなる=OOSでない 証拠能力が消える(不可逆)
図 16-5 前向きに溜めた OOS は触らず採点すれば価値を保てるが、「ここを直せば」と再最適化した瞬間に未知でなくなり、検証の証拠能力が不可逆に消える。

これは「一回使ったら戻せない」性質だ。OOSは使い捨ての試薬に近い。一度パラメータ調整に触れさせたデータを、 後から「やっぱり未知だったことにする」ことはできない。

行動データの性質結果
凍結ゲートで前向きに貯め、触らず採点OOS(未知)を維持本物の前向き証拠が積み上がる
不調を見てパラメータを微調整OOSがISに変質成績は良く見えるが、証拠ではなくなる
閾値を後から緩めて建玉を増やす後付け最適化サンプルは増えるが性質は汚染済み
「目視で良さそう」は仮説であって証拠ではない(第18章)。ライブの数字を見て手を入れたくなったら、それは“発見”ではなく“後知恵”だと疑え。新しい仮説が生まれたなら、それは次の凍結ゲートとして、別途・前向きに検証すればよい。今のゲートを弄ってはいけない。

06まとめ図 ― 規律を1枚に畳む

ここまでを1枚に圧縮する。条件付きエッジ(第12章)を扱うときの、汚染しないための一連の作法だ。

STEP 4 判定は前向き OOS のみ・再最適化しない OOS は一度しか使えない(使い捨ての試薬) 破ると全部無効 STEP 3 凍結(日付つきで固定・触らない) IS と OOS の境界を日付で打つ 未来の自分を縛る契約 STEP 2 合議(独立合格層を AND で組むだけ) 組むときに各層を再調整しない 部品を削らない STEP 1 各層を汚染せず "単独で" 検証 互いの結果を覗かない(土台) ここが土台
図 16-6 規律を1枚に。下の単独検証を土台に、合議→凍結→前向きOOS判定と積む。最上段(再最適化しない)を破ると、下の全部が無効になる。
ステップやること破ると起きること
1 単独検証各層を互いに見ずにコスト後で合否汚染=独立性が消え、成績が水増し
2 合議合格層をANDで組む(再調整なし)全体に合わせ部品を削る=過学習
3 凍結日付つきで固定して触らないIS/OOS境界が消える・後付けし放題
4 前向きOOS判定ライブを触らず採点再最適化でOOSが壊れる(不可逆)

この章の結論:条件付きエッジは強力だが、自由度の爆発という代償を持つ。だから組む前に各層を汚染せず単独検証し、 組んだゲートは日付つきで凍結し、判定は前向きOOSだけで行う。再最適化した瞬間、OOSはOOSでなくなる。 規律とは精神論ではなく、未来の自分の手を物理的に縛る「凍結」という具体的な手続きのことだ。

体験 ― 今すぐ手を動かす

読んで終わりにしない。自分の検証ルールを“契約書”として明文化するのがこの章の体験だ。

① 独立検証チェック(自分の仮説の汚染源を洗う)

自分が組もうとしている「サイン × レジーム」の仮説について、汚染の入り口を点検する。

点検項目あなたの状況(はい/いいえ)
各層を互いの結果を見ずに単独で評価したか____
片方の好調期間に合わせて、もう片方を調整していないか____
合議後の成績を見ながら、各層を再調整していないか____
「効いた銘柄・TFだけ残す」をしていないか____
方向の定義を、結果が良くなるように後から選んでいないか____

→ 1つでも「汚染あり」なら、その検証成績は本来より良く見えている。組み直す前に、まず単独検証に戻す。

② ゲート凍結条項を書く(日付つき)

下記を自分の言葉で埋め、凍結日を必ず記入する。これが今後のIS/OOS境界の証拠になる。

記入欄あなたの値
ゲート名(例:自分の MA×レジーム ゲート)____
サイン層(単独合格の根拠:コスト後PF等)____
レジーム/方向層(単独合格の根拠)____
合議の論理(AND条件)____
凍結日(YYYY-MM-DD)____
閾値(以後固定する値)____

③ 再最適化禁止条項を書く

次の一文を自分のルールに加える(コピーして日付を入れる)。

  本ゲートは [凍結日] をもって凍結する。
  以後、ライブ(前向き)データを見てパラメータ・閾値・条件を
  変更しない。新たな仮説が生じた場合は、現ゲートを弄らず、
  別の凍結ゲートとして前向きに検証する。

アクション ― 次の一歩

自分の検証ログに「凍結台帳」を1枚作る。列は〔ゲート名/凍結日/各層の単独成績(コスト後)/合議論理/閾値〕。 第12章で立てた「サイン×レジーム」の条件付き仮説を、ここに日付つきで載せて凍結する。以後は触らない。

凍結後は、前向きの結果だけを公開採点フォーマットに積む。当落でなく「凍結日以降、ANDゲートが点灯した 回数・コスト後の expectancy_R」を記録する。当デスクの DaliJonesGate が「n は今は足切りせず実績蓄積後に判断」で 前向きに貯めているのと同じ作法を、自分の台帳で再現する。

当デスクの独立検証→合議の運用/desk/usdjpy の現在地と、合議で建った建玉の理由)を 1〜2週間チェックする。見るのは勝ち負けでなく「各層が単独で何を根拠に合格し、合議で何が点灯したか」。第18章で、この前向きデータを 点推定でなく信頼区間で読む方法に入る。

この章で覚えるのは一個

「組む前に汚染せず単独で検証。組んだら日付つきで凍結。判定は前向きOOSのみ。再最適化した瞬間OOSは壊れる。」 これだけ持って次へ。

いまデスクで

この章の「独立検証 → 合議 → 凍結 → 前向きOOS」を、いまの検証ラボで見てみよう。リサーチは、各層を汚染せず 単独で評価し、合議(ANDゲート)で組んだ結果を前向きに貯めている。勝ち負けでなく「各層が何を根拠に単独合格し、合議で何が 点灯したか」を読む練習に使ってほしい。

→ リサーチを見る
出典・データ: Twelve Data / FRED(セントルイス連銀)/ CFTC / 各中央銀行公表資料。本稿の検証手続き(独立検証・凍結・前向きOOS)は 教育目的の一般的方法論であり、特定の相場水準や成果を保証するものではありません。本稿は市場の仕組みを学ぶための教育・参考情報であり、 特定銘柄の売買や投資助言ではありません。相場には損失リスクがあり、過去の傾向は将来を保証しません。最終的な判断は読者自身の責任で行ってください。