Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

前回の記事では、2021〜2025年の公開集計データから「1番人気」を調べました。
そこで、かなり気になる数字が見つかりました。
100%を大きく超えています。
この数字だけを見ると、「函館ダ1000mでは1番人気を買えばいいのでは?」と思いたくなります。
しかし、私はむしろ逆です。
こういう数字を見つけたときほど、まず疑います。
そこで今回は、競馬データを見るうえで非常に重要な「過剰最適化」と「OOS検証」について考えます。
なお、これは競馬だけの話ではありません。
FXや株のシステムトレードでバックテストをしたことがある人にも、そのまま通じる話です。
まず、115.7%という数字自体を否定する必要はありません。
対象期間・集計条件の中で実際に115.7%だったのであれば、それは一つの観測結果です。
たとえば10万円を賭けて11万5700円が戻ってきたなら、収支はプラス1万5700円です。
したがって、
過去の結果としてはプラス
と言えます。
しかし、ここから一気に、
「今後も回収率115.7%になる」
とは言えません。
ここは非常に重要です。
過去の回収率は、すでに起きたレースの結果です。
一方で、私たちが馬券を買うのは未来のレースです。
つまり、本当に欲しいのは過去の成績表ではありません。
過去データから、
を推定することです。
そのため、回収率だけでは判断材料が足りません。
理由の一つが、条件を発見した順番です。
前回紹介した公開集計では、JRA全10場・79コースを比較しています。
そして、その中から函館ダート1000mの115.7%という数字が見つかっています。
つまり、検証の流れは次のようになります。
この順番は重要です。
なぜなら、最初から函館ダート1000mだけを仮説として検証したわけではないからです。
そこで問題になるのが「偶然」です。
仮に79コースすべてに本当の優位性がなかったとしても、実際のレース結果にはブレがあります。
そのため、あるコースではたまたま人気馬がよく勝ち、別のコースではたまたま負けることがあります。
さらに、競馬ではさまざまな条件を作れます。
これらを組み合わせれば、数百、数千という条件を試すこともできます。
たとえば、何百通りもの条件を調べたとします。
すると、その中から、
という条件が見つかっても不思議ではありません。
しかし、その数字が「本物のエッジ」なのか「偶然の当たり」なのかは、まだ分かりません。
つまり、私が本当に知りたいのは、
未来でもその数字が残るのか?
ということです。
この問題は、競馬だけの話ではありません。
株やFXのシステムトレードをやったことがある人なら、「カーブフィッティング」という言葉を聞いたことがあるかもしれません。
簡単に言えば、
です。
たとえば、最初は「1番人気」だけだったとします。
回収率が低かった。
そこで「東京だけ」にします。
まだ低い。
次に「芝だけ」にします。
さらに「1600mだけ」にします。
その後、「良馬場」「3〜5枠」「特定オッズ帯」と条件を足していく。
すると最終的に、
過去回収率145%
のようなルールが完成する可能性があります。
ところが、条件を増やすほど対象レースは減っていきます。
その結果、偶然うまくいった少数のレースだけを残している可能性があります。
つまり、
ということです。
もう一つ重要なのがサンプル数です。
同じ回収率115%でも、母数によって数字の見え方は大きく変わります。
| 条件 | サンプル数 | 回収率 |
|---|---|---|
| A | 20件 | 115% |
| B | 2,000件 | 115% |
※上記は考え方を説明するための架空例です。
この2つを同じ115%として扱うのは危険です。
20件なら、1頭の高配当馬によって数字が大きく動く可能性があります。
一方で、2,000件あれば偶然の影響は相対的に小さくなります。
もちろん、2,000件あれば必ず本物という意味でもありません。
しかし、少なくとも「何件で作られた回収率なのか」は必ず確認したいところです。
この問題は、 回収率120%でも信用できない?競馬データでサンプル数・収束・再現性を見る方法 でも詳しく解説しています。
サンプル数と同時に見たいのが、年度別の成績です。
たとえば5年間の合計回収率が115%だったとしても、その中身によって評価は変わります。
※説明用の架空データです。函館ダ1000mの実成績ではありません。
このような結果なら、5年間を合計するとプラスでも、実際には2025年の好成績に強く依存しています。
一方で、
※こちらも説明用の架空データです。
なら、見え方はまったく違います。
もちろん、この数字だけで未来の優位性を証明できるわけではありません。
しかし、少なくとも一つの年度だけに依存した結果よりは興味深い検証対象になります。
そのため、私は5年間合計の回収率だけでは判断しません。
見るべきなのは、
です。
つまり、平均値そのものより「その平均値がどう作られたか」が重要になります。
では、過去に見つけた好条件をどう評価するのか。
そこで使いたいのがOOS検証です。
OOSは「Out of Sample」の略で、条件作成に使っていないデータで検証する方法です。
たとえば2021〜2023年を探索期間にします。
この期間だけを使って、競馬場・距離・人気・オッズ・枠順などを調べます。
そして、仮に「条件A」が好成績だったとします。
ここが重要です。
条件Aを発見したら、それ以上変更しません。
これをやると、後半期間まで最適化に使ったことになります。
そのため、一度条件を決めたら凍結します。
最後に、2024〜2025年へ条件Aをそのまま適用します。
ここでもプラスが残るのか。
これを見ることで、全期間を使ったバックテストより一歩踏み込んだ検証ができます。
ここでも注意が必要です。
OOSがプラスだったからといって、未来永劫勝てることが証明されたわけではありません。
当然ながら、OOS期間にも偶然はあります。
さらに、騎手、馬、調教、馬場、番組編成、競馬参加者の行動なども変化します。
したがって、
という点は忘れてはいけません。
それでも、探索期間と検証期間を分けない方法よりは、条件の再現性を厳しく評価できます。
私なら、OOSだけで終わらせません。
条件の周辺も確認します。
たとえば、
なら、「なぜ函館ダ1000mだけなのか」を考える必要があります。
一方で、似た条件でも緩やかに優位性が残るなら、単なる一点の偶然ではない可能性が高まります。
これはパラメータの頑健性を見る考え方です。
たとえばFXなら、移動平均線49本では大勝ちするのに、48本と50本では負ける。
こういうロジックは少し怖い。
競馬でも同じです。
条件を少し変えただけで回収率が急落するなら、偶然の一点を拾っている可能性を疑います。
ここまでを実戦用にまとめます。
今後、競馬データを見て回収率100%超の条件を見つけたら、私は次の順番で確認します。
① サンプル数は十分あるか
② 一頭の高配当に依存していないか
③ 年度別でも傾向が残っているか
④ 条件を後付けしていないか
⑤ 周辺条件でも極端に崩れないか
⑥ OOSでも成績が残るか
⑦ なぜその優位性が存在するのか説明できるか
特に最後は重要です。
数字だけではなく、
「なぜ市場がその条件を過小評価するのか?」
という仮説まで考えたいところです。
理由を説明できれば必ず勝てるわけではありません。
しかし、理由の分からない一点だけの高回収率より、検証する価値は高くなります。
競馬で長期的な優位性が存在するとすれば、市場参加者が繰り返し同じような評価ミスをする場所に現れる可能性があります。
たとえば、
といった行動がもし存在するなら、そこに価格の歪みが生まれる可能性があります。
ただし、これも現時点では仮説です。
だからこそ、実データで検証する必要があります。
回収率80%の条件を見ても、あまり興奮しません。
しかし、回収率115%や130%を見ると、人は急に信じたくなります。
私はそこが一番危ないと思っています。
そのため、
サンプル数を見る。
年度別に分ける。
外れ値への依存を見る。
条件を少しズラす。
そして、最後に未知データへ投入する。
それでも残った条件なら、初めて次の検証へ進めます。
前回の記事で紹介した1番人気の検証については、 1番人気を買い続けたら勝てる?JRA過去5年の勝率・回収率を検証 もあわせて読んでみてください。
また、期待値そのものについては、 的中率80%でも負ける?競馬で勝率より期待値が重要な理由 で詳しく解説しています。
ここまでは、データをどう評価するかという話でした。
次はさらに踏み込みます。
実際の競馬データを使って複数の条件を探索し、その中から回収率100%を超える候補を探します。
ただし、見つけて終わりにはしません。
探索期間でルールを固定し、未知期間へ投入します。
そして、
OOSでも100%を超える条件は存在するのか?
ここまで検証していきます。