検証ラボ ── 2026-08-31

結果を見る前に、合否の基準を書いておく — 自分の検証で2回それを怠った話

SQXで延べ150万本の戦略を生成して、1本も採用しなかった話の末尾で、次はこれを書くと予告しました。結果を見る前に合否の基準を固定するやり方です。

第1期の検証はこの手続きで成立しました。ホールドアウト期間を一度も参照せず、基準を先に決めていたから、PF 1.5に見える戦略群を資金を入れる前に潰せたわけです。

ただ、そう書くと自分が常にできているように読めてしまうので、先に白状しておきます。**その後の測定で、2回続けて失敗しました。**どちらも基準を書かずに始めたのが原因です。

何をする手続きなのか

やることは単純です。測る前に、紙に書く。それだけです。

書くのは3つです。

書くこと例
何を測るか「日本時間の各時刻における、スプレッドの中央値」
どう測るか「中値を使う。夏時間と冬時間は分けて集計する」
何をもって結論とするか「3通貨ペアすべてで同じ順位が出たら、構造と見なす」

肝心なのは3つ目です。結果を見てから「これは有意だ」「これは誤差だ」と決めると、それは判定ではなく選択になります。

理屈はたくさん試して一番良いのを選ぶと、なぜ嘘の好成績が生まれるのかに書きました。ここでは実践の話をします。

うまくいった例:第1期のホールドアウト

第1期では、期間の使い方を先に決めていました。

IS 2016-2021       生成・最適化に使う
OOS 2021-2024      選抜に使う
ホールドアウト 2024-2026   一度も触らない

「一度も触らない」を先に宣言したことが効きました。生成にも選抜にも使っていない期間なので、そこでの成績は弁解の余地なく実力です。

結果はPF 0.94、つまり損益分岐点割れでした。もし基準を後から決めていたら、「この期間はたまたま相場が悪かった」「別の指標で見れば良い」といくらでも言えたはずです。先に決めてあったから、言い訳ができませんでした。

失敗例1:週明けギャップで、2回続けて誤った

週明けのギャップがどれくらいかを測っていたときのことです。基準を書かずに始めました。

**1回目。**bid(売値)で測ったところ、米ドル/円は72%が下方向という結果が出ました。強い偏りに見えます。

原因はすぐ分かりました。**週明け最初のティックはスプレッドが平時の10倍前後に開いています。**bidはその分だけ下に押されるので、機械的に下向きへ偏っていただけでした。

**2回目。**中値に直しました。偏りは縮みましたが、それでも31.5%しか上に飛びません。そこで「この3年のトレンドが週末に現れているのだろう」と解釈しました。

**これも間違いでした。**境界から離す距離を変えて測り直したら、偏りは距離とともに消えたのです。

境界からの距離米ドル/円ユーロ/米ドル英ポンド/米ドル
0分32.7%50.6%44.4%
15分37.0%51.2%37.7%
60分47.5%47.5%37.7%
240分52.2%52.8%54.0%

4時間離すと、3ペアとも約50%に戻りました。トレンドですらなく、境界の気配値が歪んでいただけでした。

もし始める前に「bidではなく中値で測る。境界から複数の距離で測って一致を確認する」と書いていれば、間違った結論を2回も口にせずに済みました。

失敗例2:ゴトー日で、8通り見て1つを拾った

「ゴトー日は仲値に向けてドル円が上がる」という通説を測ったときのことです。

仲値まで(8:00→9:55)を見ると、差は誤差の範囲でした。そこで仲値の後(9:55→11:00)も見たところ、今度は差が出ました。

これは順番が逆です。

私は結果を見てから「後ろの窓のほうが面白い」と判断しました。しかも日にち別に6つ(5日・10日・15日・20日・25日・30日)も見ています。合わせて8通りの比較をしたうえで、そのうち1つに差が出た、というのが実態です。

8通り見れば、どれか1つに差が出るのは珍しくありません。先に「仲値までの窓だけを見る」と決めていれば、結論は「差はなかった」で終わりでした。

記事にするときは、この経緯をそのまま書きました。**「見つけた」ではなく「候補が出た」**という表現にしてあります。

実務でどう使うか

  • **測る前に3行書いてください。**何を測るか、どう測るか、何をもって結論とするか。ファイルの先頭でもコミットメッセージでも構いません
  • **窓や条件を後から増やしたら、増やしたと書いてください。**増やすこと自体は悪くありません。隠すのが問題です
  • **「別の見方をしたらどうか」と思ったときが分岐点です。**そう思った時点で、それは新しい比較です。数に入れてください
  • **基準は自分で決めてください。**この記事も含めて、誰かが示した数値をそのまま使うと、それは自分の判断ではなくなります。当サイトが閾値を推奨しない理由もそこにあります
  • **書いたものを後から書き換えないでください。**書き換えるなら、元の記録を残したうえで理由を添えてください

解釈

事前登録は、**正しい答えを出すための手続きではありません。**間違えたときに、それが間違いだと分かるようにするための手続きです。

第1期では、基準を先に決めていたおかげで「優位性がない」という不都合な結論を受け入れられました。週明けギャップとゴトー日では、決めていなかったせいで自分の直感が判定に混ざりました。

そして重要なのは、2つの失敗はどちらも後から気づけたということです。気づけたのは、測り直せるデータと手順が残っていたからでした。事前登録がなくても、記録さえあれば後から検証できます。逆に記録がなければ、間違いは間違いのまま残ります。

限界

  • **事前登録は万能ではありません。**基準を先に決めても、その基準自体が的外れなら意味がありません
  • **探索的な調査には向きません。**何が起きているか分からない段階では、まず見て回る必要があります。その場合は「これは探索である」と書いておき、確認は別のデータで行うのが筋です
  • ここに書いたのは個人の検証での運用です。学術的な事前登録(第三者機関への登録)とは別物です
  • 私自身、この記事の内容を毎回できているわけではありません。失敗例2件は、この記事を書く直前のものです

まとめ

  • 測る前に「何を・どう測り・何をもって結論とするか」の3行を書く
  • 第1期のホールドアウト検証は、先に宣言したから不都合な結論を受け入れられた
  • 週明けギャップでは書かなかったため、2回続けて誤った結論を出した
  • ゴトー日では8通り見て1つを拾った。先に窓を決めていれば「差なし」で終わっていた
  • 事前登録は正解を出す道具ではなく、間違いを間違いと分かるようにする道具

うまくいかなかった検証もそのまま記録するのがこのサイトの方針です(運営方針)。この記事はその方針を、自分の手続きそのものに当てはめたものです。

出典

※本記事は情報提供を目的としたもので、特定の手法や基準を推奨するものではありません。合否の基準はご自身で決めてください。