開ける前に書くこと
最終テストとは、ルールを作るときにも、手元の検査のときにも一度も使っていないデータで、ルールを1回だけ試すことです。 第7回で決めたデータの予算では、2023年1月1日〜2026年7月31日がこの期間でした。 この期間の成績は、ルール作りに使っていないので、成績を良く見せる方向にも悪く見せる方向にも偏りがありません。ただしそれは「結果を見る前に、何を合格とするかを決めていた」場合に限ります。
結果を見てから「この成績なら十分」と決めると、判定そのものが結果に合わせた選択になります。 そこで封印を開ける前に、次の3つを文書に書いて日付を残します。 この回は、上級コースの12段階のゲートのうち、最後の「最終OOSとフォワード」を実務の手順にしたものです。
- 合格ライン:何を計算し、どの数値を超えたら合格とするか。「良さそう」ではなく数値で書きます。
- 判定の区分:合格した項目の組み合わせごとに、採用候補・保留・棄却のどれになるか。
- 判定後の行動:採用候補ならデモへ、保留なら新しいデータを待つ、棄却なら記録して終了、のように、次に何をするか。
Bさんが書いた5つの合格ライン
Bさんは、ルールを決めたときと同じ日(2026-09-24)に、次の5項目を事前登録しました。コストは往復で通常 0.4 pips、悪化 1.0 pips、ストレス 2.0 pips の3段階です(第9回)。
| 項目 | 合格ライン | この項目が確かめること |
|---|---|---|
| ① コスト耐性 | コスト「悪化」(往復1.0 pips)でも、1取引あたり期待値の95%信頼区間の下限が0を超える | 取引コストが少し悪くなっても、平均がゼロ以下である可能性を否定できるか |
| ② 比較対象 | 比較対象C1との差が有意(C1=同じ日・同じ約定時刻・同じ保有時間で、方向だけを無作為に決める。1000回) | 利益が「ブレイクの向きを当てたこと」から来ているのか、その時間帯に持っていただけで出たのか(第10回) |
| ③ DSR | DSR ≥ 0.95 | 試した数を差し引いても、成績が偶然で説明しきれないか(第14回) |
| ④ 置換検定2 | 最終テスト期間の値動きを並べ替えた相場と比べて p < 0.05 | 規則のない相場でも同じくらいの成績が出てしまわないか(第12回) |
| ⑤ 年別の一貫性 | 年別で過半数の年が同じ符号(プラス) | 利益が1つの年に偏っていないか(第13回) |
判定の区分は「5項目すべてを満たせば採用候補、一部なら保留、期待値がゼロ以下なら棄却」、判定後の行動は「採用候補ならデモ→少額、保留なら新しいデータを待つ、棄却なら記録して終了」でした。 ここで先に言っておくと、この区分には穴がありました。「棄却」の条件が期待値ゼロ以下の1つしかなく、それ以外はすべて保留に入ってしまうのです。 どんな問題が起きたかはAさんの結果で見ます。
判定区分の作り方
合格ラインを丁寧に書いても、区分が甘いと判定は機能しません。区分を作るときは、次の順で考えます。
- 棄却の条件を先に列挙する:「これが出たら、どんなに平均が良くても採用しない」という結果を具体的に書きます。たとえば、DSR が 0.95 未満、コスト後の期待値がマイナス、比較対象に勝てない、置換検定で有意にならない、などです。上級コースの採用・保留・棄却の表では、DSR<0.95 やコスト後の負けは棄却に入っています。
- 保留を狭く定義する:保留は「ほぼ合格」ではなく、「重要な検査は通ったが、標本が少なく信頼区間が広いなど、判断にデータが足りない」状態に限ります。何でも入る箱にしないことです。
- 各区分の次の行動を書く:保留なら何を、どのくらいの期間待つのか。棄却なら記録をどこに残すのか。
- 架空の結果で試す:開ける前に、「平均は高いがDSRが低い」「平均は低いが全項目合格」などの架空の結果を区分に当てはめ、おかしな判定にならないかを確かめます。Bさんの事前登録ではこの確認をしていませんでした。
封印を開ける手順
最終テストの価値は「1回しか使えない」ことにあります。Timothy Masters は動画の中で、よくある誤りの1番目に「未使用データの使い回し」を挙げています (Better System Trader のインタビュー、02:05〜11:45)。 JohnとMaryの2人が作った売買ルールを、同じ未使用の1年で比べて、成績の良かったMaryのルールを選ぶ例です。 どちらを使うか事前に決めていたなら、その1年の成績は将来の成績の偏りのない見積もりです。ところが「成績の良いほう」を選んだ瞬間、選んだものは「より運が良かったほう」を含みます。運は続かないので、選んだルールは運用で成績が落ちます。 1人で「未使用データで試す→直す→また試す」を繰り返すのも同じで、最後に選ぶのは一番運の良かった案になる、と Masters は説明しています。
だから封印は、1回だけ、全部の計算をまとめて開けます。Bさんの手順は次のとおりでした。
- 実行前の宣言を書く:対象(USDJPY 15分足、2023-01〜2026-07)、使うルール、「この実行で試行回数Nは増えない(N_B=1、N_A=57,662 のまま)」ことを記録します(第8回)。
- ルール・コード・コストを固定する:探索期間で使ったコードをそのまま使い、コストは通常・悪化・ストレスの3段階をすべて計算します。都合の良い1段階だけを見ることを防ぐためです。
- データの扱いを先に決める:最終テスト期間には、2026年5月1日夜〜5月4日朝のデータ欠損があります。「保有区間や決済足に欠損がある日は見送る」という規則は、結果を見る前に決めていました。
- 全項目を一度に計算する:平均と95%信頼区間、DSR、比較対象、置換検定2、年別の成績を、1回の実行で出します。1つずつ見て、途中で次に何を計算するかを変えないためです。
- 事前の区分に機械的に当てはめる:解釈はその後です。
置換検定2は、Masters が紹介する3つの置換検定のうちの2番目で、未使用データで良い成績が出たときに使います(同じ動画の23:20〜26:33)。 最終テスト期間の値動きの順番を何百回・何千回と並べ替え、規則のなくなった相場で同じルールを動かします。 本物の相場での成績が、並べ替えた相場の成績の中から抜け出ていなければ、「価値のないルールでも運でこのくらいは出る」ということです。 未使用データで良い成績が出ることは必要条件にすぎず、十分条件ではない、というのが Masters の説明です。
高頻度スキャルEAの例:取り上げる窓を先に決める
第9回で取り上げた5分足逆張りスキャルEAは、学習1年→運用6か月の組を2006年から39回ずらして繰り返しました(第15回)。 39回もあると、崩れた回だけ、あるいは勝った回だけを選んで見せることができてしまいます。そこで本文で取り上げる窓は、結果を見る前に「最新の窓(2025年で最適化し、2026年1〜6月に運用)」と決め、主な数字は「39回のうち何回崩れたか」にしました。
このスキャルEAのデータは、Aさん・Bさんの最終テストとは別に、テスターと口座の乖離を確かめるために検証者が追加した実験例です。検証者はその時点で2023〜2026年の相場を見ていたため、その影響を減らすよう、ルールは買いと売りを対称にし、39回の割合を主な数字にし、取り上げる期間を結果の前に固定しました。崩れる設定を意図して選ぶことはしていません。
採用候補・保留・棄却
判定の結果は3つの区分のどれかになります。区分の名前は同じでも、何を条件にするかで判定は大きく変わります。 このコースの事前登録の区分と、上級コース第10回の区分を並べます。
| 区分 | このコースの事前登録(§3.3) | 上級コース第10回の区分 | 次の行動 |
|---|---|---|---|
| 採用候補 | 5項目すべてを満たす | データ監査、DSR≥0.95、未使用データでの下位の成績、条件付きの安定性、資金配分の制約がすべて基準内 | デモ→少額。いきなり通常の資金配分にはしない |
| 保留 | 5項目の一部だけを満たす | 標本が足りない、信頼区間が広い、下位の成績や局面別の成績が不安定 | 新しい自然なデータ(フォワード)がたまるのを待つ |
| 棄却 | 期待値がゼロ以下 | 先読み、コスト後の負け、DSR<0.95、未使用データでの崩壊など | 結果を保存し、都合よく直さない |
大事なのは、採用候補でさえ「すぐに本番の資金で運用してよい」という意味ではないことです。採用候補はデモ、次に少額で、実際の約定とコストを確かめる段階(第18回)に進む資格があるということにすぎません。 また保留は「ほぼ合格」ではありません。「今あるデータでは、採用も棄却も決められない」という判定で、次の行動は新しいデータを待つことです。
2つの区分の違いは棄却の条件にあります。このコースの区分では、棄却は期待値がゼロ以下のときだけでした。上級コースの区分では、DSR が 0.95 未満なら棄却です。 この差が、次の2つの節の結果で効いてきます。
Bさんの最終テスト結果
Bさんのルールは、東京時間(JST 9:00〜15:00)の高値・安値を、ロンドン現地時刻 8:00〜10:00 の15分足の終値で抜けた方向に、次の足の始値で入り、ロンドン16:00に決済するという1通りだけです(試行回数 N_B=1)。 探索期間(2005〜2016年)では平均 −0.14 pips(95%信頼区間 [−1.71, +1.42])とほぼゼロ、検証期間(2017〜2022年)では +1.57 pips([−0.42, +3.57])と小幅なプラスでした。 そして最終テスト期間を1回だけ開けた結果が次の表です(次の足の始値で約定、コストは往復 0.4 pips、時刻はJST)。
| 項目 | Bさんの結果 | 合格ライン | 判定 |
|---|---|---|---|
| 取引数 | 561件 | - | - |
| 1取引の平均(通常コスト) | +4.42 pips、95%CI [+0.39, +8.46] | - | - |
| ① 悪化コストでのCI下限 | −0.21 pips | 0を超える | 不合格 |
| ② 比較対象C1との差 | p=0.084 | 有意(p<0.05) | 不合格 |
| ③ DSR(N=1) | 0.981 | 0.95以上 | 合格 |
| ④ 置換検定2 | p=0.007 | p<0.05 | 合格 |
| ⑤ 年別 | 2023 +1.3 / 2024 +6.2 / 2025 +5.4 / 2026 +5.3(4年中4年プラス) | 過半数の年がプラス | 合格 |
5項目中3項目が合格、2項目が不合格です。事前に書いた区分では、判定は「保留」です。
4年すべてプラスで、置換検定もDSRも合格です。「もう採用してよいのでは」と感じるのが自然だと思います。それでも保留にする理由は、不合格の2項目の中身にあります。
- ①が不合格:コストが往復 1.0 pips に悪化すると、信頼区間の下限が −0.21 pips になります。取引コストが少し悪い口座では、平均がゼロ以下である可能性を否定できません。
- ②が不合格:同じ日・同じ時刻・同じ保有時間で、方向だけを無作為に決めた場合と比べた差が、p=0.084 で有意になりませんでした。つまり「ブレイクの向きに入ったから勝った」のか、「その日のその時間帯に持っていたから勝った」のかを、まだ区別できていません。この仮説の中心は「抜けた方向へ動きやすい」なので、ここが確かめられないのは重い不合格です。
もう1つ、Bさんの長い歴史も思い出してください。探索期間はほぼゼロで、2006〜2011年にはマイナスの年が続きました(第13回)。 最終テストの3年7か月が良かったことは事実ですが、それがこの仮説の「本来の姿」なのか、良い局面が続いただけなのかは、この期間だけでは決まりません。保留は、その「決まらない」をそのまま書いた判定です。
結果を見た後で「0.084 なら 0.1 未満だから合格にしよう」と基準を動かせば、それは結果に合わせた選択で、事前登録の意味がなくなります。 惜しい結果ほど基準を緩めたくなりますが、合格ラインは書いたとおりに使います。Bさんは保留のまま、2026年8月以降のフォワードで確かめます(第18回)。
Aさんの戦略に同じ試験を課すと
Aさんは、57,600通りのグリッド探索に、負けた日を見て足したフィルタの候補、検証期間を12回見て乗り換えた判断を加えて、試行回数 N_A=57,662 で最終案を選びました。 最終案は「東京レンジ JST 10〜13時、シグナル 17〜20時、買いのみ、損切り ATR14×1.0、利確 RR1.0、決済 翌01:45、金曜・5月を除外、RSI>55」です。 Aさんも2023〜2026年は一度も見ていなかったので、同じ期間・同じ5項目で試験をしました。
| 項目 | Bさん | Aさん |
|---|---|---|
| 試行回数N | 1 | 57,662 |
| 取引数 | 561件 | 163件 |
| 1取引の平均(通常コスト) | +4.42 pips | +5.61 pips |
| 95%信頼区間(通常コスト) | [+0.39, +8.46] | [−1.76, +12.98] |
| ① 悪化コストでのCI下限 | −0.21(不合格) | −2.36(不合格) |
| ② 比較対象との差 | C1 p=0.084(不合格) | 無作為な日の同時刻の買い p=0.174(不合格) |
| ③ DSR | 0.981(合格) | 0.002(不合格) |
| ④ 置換検定2 | p=0.007(合格) | p=0.21(不合格) |
| ⑤ 年別 | 4年中4年プラス(合格) | 2023 −2.3 / 2024 +14.2 / 2025 +4.4 / 2026 +2.3、4年中3年プラス(合格) |
| 事前登録の区分での判定 | 保留(5項目中3項目) | 形式上は保留(5項目中1項目) |
Aさんは買いだけのルールなので、比較対象は「同じ時刻・同じ決済ルールで、無作為に選んだ日に買う」にしています。 平均だけを見るとAさんの +5.61 pips はBさんより高く、Aさんが乗り換えた案は、検証期間で候補にした12案の中でも最終テストの成績が1位でした(+982 pips、12案の平均は +501 pips)。 しかし、無作為な日に同じ時刻で買う比較には p=0.174 で勝てず、並べ替えた相場との比較も p=0.21 です。 稼いだ中心は2024年の +14.2 pips で、ドル円が上がった局面に買いで乗っていたことが大部分だと読むのが自然です。 そしてDSR は 0.002 でした。5万7千通り以上を試した後に選んだ最良案としては、この成績は偶然で十分に説明できる、ということです。
区分の穴を、後から直さない
DSR 0.002 で、比較対象にも置換検定にも勝てないルールが「保留」になる。これはおかしな判定です。原因は、先に見た区分の作り方にあります。 棄却の条件が「期待値がゼロ以下」の1つしかなく、最終テストの期間にドル円が上がったため、買いだけのAさんの平均はプラスになり、棄却を免れたのです。
では、今からAさんを「棄却」に書き換えればよいでしょうか。このコースでは書き換えません。記録には「形式上は保留(5項目中1項目だけ合格)。上級コース第10回の区分なら棄却」と、両方を残します。 結果を見た後で区分を変えることを一度許すと、今回は厳しくする方向でも、次は緩める方向に使えてしまいます。事前登録の価値は、「結果に関係なく、書いたとおりに使った」という事実にあります。 区分を直すのは、次の仮説の事前登録です。たとえば次のような区分にします。
- 棄却:DSR<0.95、または比較対象との差が有意でない、または置換検定2で p≥0.05、または悪化コストで期待値がマイナス。
- 保留:棄却の条件に1つも当たらないが、悪化コストでの信頼区間の下限がゼロを下回るなど、コストや標本の不足で判断しきれないもの。
- 採用候補:すべての項目を満たすもの。
この区分をBさんに当てはめると、比較対象の不合格で棄却になります。厳しい区分は良いルールも落とします。それでも、区分を緩めて悪いルールを通すより、良いルールを保留や棄却にして新しいデータで確かめ直すほうが、失うものは小さくなります。
2人の「やったこと/結果」
| やったこと | 一度も見ていない期間での結果 | 判定 | |
|---|---|---|---|
| Aさん | 57,662通りの中から、検証期間まで12回使って選んだ | 平均 +5.61 pips だがCIはゼロを含む。DSR 0.002、比較対象 p=0.174、置換検定2 p=0.21 | 形式上は保留(区分の穴) |
| Bさん | 1通りを事前登録し、合格ラインも先に書いた | 平均 +4.42 pips、4年すべてプラス。悪化コストのCI下限 −0.21、C1 p=0.084 | 保留。合格ラインは緩めない |
落ちた後にやってよいこと・いけないこと
最終テストで不合格や保留になったとき、手元にはつい使いたくなる情報がたくさんあります。どの年が悪かったか、どの時間帯で負けたか、損切りを変えたらどうなりそうか。 しかし、その情報を使ってルールを直した瞬間に、2023〜2026年は「ルールを作るのに使ったデータ」に変わります。直したルールをこの期間で試しても、それはもう最終テストではありません。 Masters の言葉を借りれば、未使用データは一度しか有効ではありません。
| やってよいこと | やってはいけないこと |
|---|---|
| 結果を、不合格の項目も含めてそのまま記録し、公開する | 悪かった項目を報告から外す、良かった年だけを切り取って見せる |
| 保留なら、ルールを変えずに新しいデータ(フォワード)を待つ | 保留を「ほぼ合格」と読み替えて本番の資金で運用を始める |
| 直したいなら、新しい仮説として別のIDを付け、試行回数Nに加える | ルールを直して、同じ2023〜2026年でもう一度試す |
| 次の仮説では、区分と合格ラインを最初から書き直す | 今回の合格ラインを、結果に合わせて緩める(または厳しくする) |
| 新しい仮説は、まだ誰も見ていないデータで確かめる | 同じ期間で別の通貨ペアに乗り換え、「効いたペア」だけ採用する |
Bさんの場合で考えます。仮にBさんが「損切りを反対端にしていれば①も合格した」と思っても、それを試せば N_B は 1→2 になり、その案の検証には2023〜2026年はもう使えません。 残る道は、2026年8月以降の新しいデータを待つことです。上級コースの再検証の扱いでは、これを「新しい研究」として、以前の累計Nに追加した候補の数を足す、と書いています。 過去の最終テストやフォワードの期間を、再び「未使用」と呼ぶことはできません。
新しい未使用データは、待たなければ増えません。これが、最終テストを軽く開けてはいけない一番の理由です。 3年7か月分のデータを取り戻すには、3年7か月待つしかないのです。
よくある間違い
「4年すべてプラスなら、細かい基準は気にしなくてよい」
Bさんの最終テストは4年すべてプラスでしたが、比較対象との差は p=0.084 で、方向を無作為にした場合と区別しきれませんでした。 年別の一貫性は5項目の1つにすぎません。見た目に分かりやすい項目ほど、判断を引っ張る力が強いので注意が必要です。
「最終テストで平均が高いほうが良い戦略」
最終テストの平均は、Aさん +5.61 pips、Bさん +4.42 pips でAさんのほうが高くなりました。しかしAさんの信頼区間は [−1.76, +12.98] とゼロを含み、DSR は 0.002 です。 未使用データの成績でも、1本の数字には運が混じります。平均の大小ではなく、信頼区間・比較対象・試した数と一緒に読みます。
「惜しいので、合格ラインを少し緩める」
p=0.084 を見てから基準を 0.1 に変えるのは、結果に合わせて選ぶことそのものです。厳しくする方向でも同じで、結果を見た後の変更は、次の仮説の事前登録で行います。
「落ちたので直して、同じ期間でもう一度試す」
一度開けた最終テスト期間は、結果を見た時点で学習データになっています。直したルールを同じ期間で試して合格しても、それは最終テストの合格ではありません。Aさんが検証期間を12回見て選んだのと同じことが、最終テストの期間で起きるだけです。
実戦課題
自分の戦略(または検証中の仮説)を1つ選び、最終テストを開ける前の「判定シート」を作ります。
- 合格ラインを5項目前後書く:コスト耐性、比較対象、DSR、置換検定、年別の一貫性など。数値と、使うコストの段階を書きます。
- 棄却の条件を先に列挙する:「これが出たら平均がどんなに良くても採用しない」結果を、少なくとも3つ書きます。
- 保留と採用候補の条件と、次の行動を書く:保留なら、何をどのくらい待つかまで書きます。
- 架空の結果を2つ当てはめる:「Bさん型(平均はやや低いが多くの項目に合格)」と「Aさん型(平均は高いがDSRが低い)」を作り、区分に当てはめて、おかしな判定にならないか確かめます。
- 日付を付けて保存し、誰かに見せる:研究ログ(トレード日誌 第1回)に貼り、その後で初めて封印を開けます。
やるべきこと/やるべきでないこと
| やるべきこと | やるべきでないこと |
|---|---|
| 合格ライン・判定区分・判定後の行動を書いてから、最終テストを1回だけ開ける | 結果を見てから「この成績なら十分」と決める |
| 棄却の条件を具体的に列挙し、架空の結果で区分を試しておく | 「期待値ゼロ以下だけ棄却」のような、何でも保留に入る区分にする |
| コスト3段階・比較対象・置換検定2・DSR・年別を一度に計算する | 1つずつ見て、次に何を計算するかを結果で決める |
| 惜しい結果でも、書いた合格ラインのとおりに判定する | p=0.084 を見て基準を 0.1 に緩める |
| 区分の穴に気づいたら、記録を残して次の仮説で直す | 判定を後から書き換えて、最初からそうだったように見せる |
| 落ちたら新しい仮説としてNを足し、新しい未使用データを待つ | 落ちたら直して、同じ期間でもう一度試す |
チェックリスト
次の回に進む前に、以下が自分の言葉で説明できるか確認してください。
- 最終テストを開ける前に書く3つ(合格ライン・判定区分・判定後の行動)
- 同じ未使用データで複数の案を比べると、選んだ案に運が混じる理由(JohnとMaryの例)
- 置換検定2が確かめること(未使用データでの好成績は必要条件にすぎない)
- Bさんが4年すべてプラスでも「保留」になった理由(①悪化コスト、②比較対象)
- Aさんが DSR 0.002 でも「保留」に入ってしまった区分の穴
- 判定区分の作り方(棄却の条件を先に列挙し、保留を狭く定義する)
- 結果を見た後に区分を書き換えず、次の仮説で直す理由
- 落ちた後にやってよいこと(新しい仮説・Nの追加・新しいデータを待つ)
ミニテスト
最後に4問だけ確認です。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。
Q1. 最終テストの判定区分を作るとき、最初に書くべきものは?
棄却の条件を具体的に列挙しておかないと、それ以外の結果がすべて保留に入ってしまいます。このコースの事前登録では棄却が「期待値ゼロ以下」だけだったため、DSR 0.002 のAさんまで保留になりました。
Q2. Bさんの最終テストは4年すべてプラス、DSR 0.981、置換検定2 p=0.007 でした。それでも「保留」なのはなぜ?
判定は、事前に書いた合格ラインと区分だけで決めます。特に比較対象との差が有意でないことは、「ブレイクの向きに入ったから勝った」という仮説の中心がまだ確かめられていないことを意味します。
Q3. Aさんの判定が「形式上は保留」になった点について、このコースの扱いとして正しいのは?
結果を見た後で区分を変えることを許すと、次は緩める方向にも使えてしまいます。穴は記録に残し、次の事前登録で直します。
Q4. 最終テストで落ちたルールを直したくなった。正しい進め方は?
一度開けた最終テスト期間は、結果を見た時点で学習データに変わっています。直したルールは新しい研究として数え、新しい未使用データを待ちます。