SHOTAI · 第4部 · 第16章 独立検証から合議の規律 組む前に、各層を汚染せず単独で検証する。条件付けは自由度を爆発させる。
条件付きエッジ(第12章)は強い。だがその強さは、研究者が触れるツマミ(自由度)の数を爆発させる。 サイン × レジーム × 方向 × 時間軸 × 閾値……この掛け算の海で「一番きれいに見える組合せ」を選び続けると、 現実のエッジではなく過去データの形を彫刻しているだけになる。対策は、各層を汚染せず単独で検証し、組んだら凍結し、 判定は前向きOOSだけで行うこと。順序を逆にした人から、過学習の罠にはまっていく。
この記事のサマリ
| 区分 | 内容 |
|---|---|
| 🎯 学べること |
① 条件付きエッジ(第12章)が強力な反面、研究者の自由度を爆発させ過学習の温床になる理由 ② 対策=各層を汚染せず単独で検証してから組むという独立検証の規律 ③ 条件付け(サイン×レジーム×方向×TF×閾値)の組合せ爆発がなぜ危険か ④ 一度組んだゲートを後から弄らない(凍結/フリーズ)原則と、その意味 ⑤「ライブデータで再最適化しない」=前向きOOSの性質を壊さないという最重要ルール |
| 🛠 実技で体験 |
① 当デスクがDaliとJonesを「相互汚染禁止」で独立検証してから合議している実例を読む ② 自分の検証ルールに「ゲート凍結条項(日付つき)」と「再最適化禁止条項」を明文化する記入式テンプレを埋める |
| ✅ 持ち帰り |
① 覚える核は1つ:「組む前に、汚染せず単独で検証。組んだら凍結。判定は前向きOOSのみ」 ② 複合ゲート(第12章 DaliJonesGate)は日付つきで固定=触らずに前向きで貯めるのが命③ 再最適化した瞬間にOOSはOOSでなくなる(性質が壊れる)、という不可逆性を体に入れる |
この記事を一言で
条件付きエッジ(第12章)は強い。だが強さと引き換えに、研究者が触れるツマミの数を爆発させる。 サイン × レジーム × 方向 × 時間軸 × 閾値……この掛け算の海で「一番きれいに見える組合せ」を選び続けると、 あなたは現実のエッジではなく過去データの形を彫刻しているだけになる。これが過学習(オーバーフィット)の温床だ。
対策はシンプルで、しかし守るのが難しい。各層を汚染せずに単独で検証してから組む。組んだゲートは日付つきで凍結し、 二度と弄らない。良し悪しの判定は前向き(フォワード)のOOSだけで行う。 この章で覚えるのは、たった一個の規律だ。
組む前 → 各層を汚染せず "単独で" 検証する
組んだ後 → ゲートを "凍結"(日付つきで固定)して触らない
判定 → 前向きOOS だけ(ライブで再最適化しない)
01条件付きエッジの代償 ― 自由度が爆発する
第12章で、単独では無価値な特徴量も条件を付けると価値を持つことを学んだ。これは正しい。だが正しさには 裏面がある。条件を増やすほど、研究者がいじれるツマミ(自由度)が掛け算で増える。
4,800通りも試せば、純粋な偶然だけでも「過去データで見栄えのする組合せ」がいくつも現れる。過去をなぞって 最もきれいなものを選ぶ作業は、エッジを発見しているのではなく、過去のノイズに合わせてカーブを彫っているだけかもしれない。
| 自由度(ツマミ) | 例 | 増やすと起きること |
|---|---|---|
| サインの選択 | どのインジ/ルールを使うか | 候補が多いほど「たまたま当たり」が混入 |
| レジームの定義 | リスクオン/オフ、カーブ状態の切り方 | 境界をずらすだけで結果が変わる |
| 方向の定義 | LLM Oracle bias / factor_bias / tsmom のどれを「方向」とするか | 定義替えで成績が動く(第8章 未決事項) |
| 時間軸(TF) | 1分/15分/日足のどれで見るか | TFを変えれば別の最適点が現れる |
| 閾値 | PF≥1.35 か 1.30 か | 1段ずらすと採否が反転する |
02汚染とは何か ― 層が互いを覗き見ると壊れる
独立検証の核心語が「汚染(コンタミネーション)」だ。汚染とは、ある層を検証・調整するときに、 別の層の答えや評価期間を覗き見てしまうこと。覗き見た瞬間、その検証は「独立」でなくなり、成績は本来より良く見える方向に歪む。
汚染は悪意なく起きる。「Bがうまくいった局面に合わせてAのパラメータをちょっと調整しよう」――この“ちょっと”が、 AとBの独立性を静かに溶かす。二人で答えを見せ合ってから提出した試験は高得点に見えるが、本番(前向き)で崩れる。
| 汚染の入り口 | 具体例 | なぜ危険か |
|---|---|---|
| 期間の覗き見 | 片方が好調だった期間を見て、もう片方を合わせる | 同じ期間に最適化=OOSが消える |
| 評価指標の流用 | 合議後の最終PFを見ながら各層を再調整 | 全体に合わせて部品を削る=過学習 |
| 銘柄・TFの後付け | 合議が効いた銘柄だけ残す | サバイバーシップ(生き残りだけ採用) |
| 方向定義の借用 | Daliの結果が良くなるようJones側の方向を定義替え | 定義が結果に依存=循環 |
03当デスクの実例 ― DaliとJonesを「相互汚染禁止」で独立検証する
ここが「ここでしか読めない」部分だ。当デスクの複合ゲート DaliJonesGate(第12章)は、
Jonesサイン ∧ Dali方向一致 ∧ ★3(PF≥1.35) でのみ建てるという条件付きエッジだ。これを組むにあたって、
デスクは検証独立性の保護を最優先のルールにしている。
ポイントは3つ。
① JonesはDaliの好調期間を見ない。DaliはJonesの当たり銘柄を見ない。 それぞれが単独で コスト後のPF・expectancy_R を出して合否を決める。これが「相互汚染禁止」。
② 合議(AND)は、独立に合格した層を後から組むだけ。 組むときに各層を再調整しない。
③ 合議後の成績は前向き(フォワード)で貯める。 当デスクは「n は今は足切りせず、実績蓄積後に判断」 という運用にしている。つまり過去でサンプルを水増しするのでなく、これから本物のOOSを積む。
04凍結(フリーズ)― 組んだゲートは日付つきで固定する
独立に検証し、合議で組んだ。次が最重要の規律だ。組んだゲートは「凍結」する。日付つきで固定し、以後は触らない。
なぜ日付つきか。「いつ凍結したか」が記録されていなければ、その後に積んだデータが本当に前向き(OOS)なのかを 誰も証明できないからだ。凍結日は、IS(過去最適化)とOOS(前向き本番)を分ける境界線の証拠になる。
| 項目 | 凍結する(推奨) | 凍結しない(危険) |
|---|---|---|
| パラメータ | 凍結日の値で固定 | 成績を見て随時調整=過学習 |
| ゲートの論理 | AND条件を固定 | 不調時に条件を緩める=後付け |
| 閾値(PF≥1.35等) | 固定 | 「あと0.05下げれば建てられた」を許す=なし崩し |
| 記録 | 凍結日を明記 | 日付なし=IS/OOSの境界が消える |
凍結ルールの本質は「自分の手を縛る装置」だ。相場が思い通りに動かないと、人は無意識にツマミを回したくなる。 凍結は、その衝動から未来の自分を守る契約である。
05再最適化が壊すもの ― OOSは一度しか使えない
凍結とセットの原則が「ライブデータで再最適化しない」だ。これは検証で最も間違えやすく、しかも取り返しがつかない ポイントなので、図で正確に掴む。
OOS(アウト・オブ・サンプル)とは「まだパラメータ調整に使っていない、未知のデータ」のこと。OOSの価値は、 まさに「未知である」一点に宿る。ところが、ライブで積んだデータを見て「ここをこう直せばもっと良かった」と再最適化した瞬間―― そのデータはもう未知ではなくなる。OOSはISに化け、検証の証拠能力が消える。
これは「一回使ったら戻せない」性質だ。OOSは使い捨ての試薬に近い。一度パラメータ調整に触れさせたデータを、 後から「やっぱり未知だったことにする」ことはできない。
| 行動 | データの性質 | 結果 |
|---|---|---|
| 凍結ゲートで前向きに貯め、触らず採点 | OOS(未知)を維持 | 本物の前向き証拠が積み上がる |
| 不調を見てパラメータを微調整 | OOSがISに変質 | 成績は良く見えるが、証拠ではなくなる |
| 閾値を後から緩めて建玉を増やす | 後付け最適化 | サンプルは増えるが性質は汚染済み |
06まとめ図 ― 規律を1枚に畳む
ここまでを1枚に圧縮する。条件付きエッジ(第12章)を扱うときの、汚染しないための一連の作法だ。
| ステップ | やること | 破ると起きること |
|---|---|---|
| 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ゲート)で組んだ結果を前向きに貯めている。勝ち負けでなく「各層が何を根拠に単独合格し、合議で何が 点灯したか」を読む練習に使ってほしい。
→ リサーチを見る