codexで競馬予想は勝てるのか?AI予想の作り方と落とし穴をガチ整理
「codex 競馬予想」と検索している人の多くは、CodexやClaude CodeのようなAI開発支援ツールを使って、競馬予想を自動化できるのか、実際に馬券の参考になるのか、どんな仕組みで作ればよいのかを知りたいはずです。結論から言うと、AIで競馬予想システムを作ること自体は可能です。ただし、AIに「どの馬が来る?」と丸投げするだけでは、再現性のある予想にはなりにくいです。
調査した事例では、JRA公式サイトの出馬表HTMLを保存して解析する方法、SQLiteやPostgreSQLに競馬データを入れる方法、直近成績・コース適性・距離適性・騎手・調教師・枠順などをスコア化する方法、さらにロジスティック回帰やランダムフォレストなどの機械学習を組み合わせる方法が紹介されていました。一方で、的中率が高く見えても回収率が伸びない、人気順ベースラインを超えにくい、未来データを混ぜると検証が壊れる、という注意点も見えてきます。
| この記事のポイント |
|---|
| ✅ codex 競馬予想でできることと限界がわかる |
| ✅ AIに丸投げする予想とデータ型予想の違いがわかる |
| ✅ JRAデータ・スコアリング・機械学習・バックテストの流れがわかる |
| ✅ 馬券で使う前に確認すべきリスクと評価指標がわかる |
codex 競馬予想でまず理解したい全体像

- codex 競馬予想への答えは「作れるが丸投げでは弱い」
- codex 競馬予想のAI回答を見る前に必要なのはデータの整理である
- Codex入門として競馬予想は「小さく作って検証する題材」になる
- Codexアプリのように使うならCLI化とコマンド化が現実的である
- 競馬AI予想で重要なのは的中率より回収率である
- 競馬予想が当たるユーチューバーは誰ですか?への答えは「根拠の見方」が先である
codex 競馬予想への答えは「作れるが丸投げでは弱い」

codex 競馬予想で最初に押さえたい結論は、AIを使って競馬予想システムを作ることはできるが、AIにそのまま予想だけ聞く使い方は弱いという点です。AIは文章を作るのが得意ですが、競馬で必要なのは「出馬表」「過去走」「馬場」「距離」「騎手」「人気」「オッズ」「払戻」などのデータを整理し、検証できる形にすることです。
調査した事例では、JRA公式サイトからHTMLを取得し、出馬表や過去成績を抽出してSQLiteに保存し、10要素でスコアリングする仕組みが紹介されていました。さらに、ロジスティック回帰とランダムフォレストを組み合わせる機械学習の方法も使われています。つまり、CodexやClaude Codeの価値は「予想屋として答えを出すこと」よりも、予想システムを作る作業を手伝うことにあります。
一方で、別の検証ではGeminiに競馬予想をさせ、予算500円という制約を与えることで買い目が現実的になった事例もありました。これは「AIは条件を与えるほど使いやすくなる」という好例です。ただし、1回の的中だけで長期的に勝てるとは言えません。競馬は控除率があり、短期の的中と長期の回収率は別物です。
📊 codex 競馬予想でできることの整理
| できること | 内容 | 注意点 |
|---|---|---|
| データ収集補助 | JRAや競馬データの取得処理を作る | 利用規約や負荷に注意 |
| データ整形 | HTMLやCSVをDB化する | 欠損・表記ゆれが起きやすい |
| スコアリング | 直近成績や適性を点数化する | 重みは検証が必要 |
| 機械学習 | 過去データから傾向を学習する | 未来データ混入に注意 |
| 買い目整理 | 予算内の組み合わせを考える | 的中保証ではない |
ここで重要なのは、AIの回答をそのまま馬券にするのではなく、AIに「検証できる仕組み」を作らせるという発想です。Codexはコード作成や修正に向いたツールなので、競馬予想では「データ取得」「特徴量作成」「バックテスト」「評価レポート」などを作らせる使い方のほうが相性がよいでしょう。
🧭 AI丸投げ型とシステム型の違い
| 使い方 | メリット | 弱点 |
|---|---|---|
| AIに直接「本命は?」と聞く | すぐ答えが出る | 根拠や再現性が弱い |
| 出馬表を貼って分析させる | 条件を反映しやすい | 情報量が多いと抜けやすい |
| DB化して予想モデルを作る | 検証しやすい | 初期構築に手間がかかる |
| バックテストまで行う | 改善点が見えやすい | データ品質に左右される |
調査事例の中でも、的中率だけではなく、単勝・複勝・ワイドなどのROIを確認する重要性が語られていました。ROIとは「投資した金額に対していくら戻ったか」を見る指標です。競馬では、当たった回数が多くても配当が低ければ利益になりにくいため、的中率だけでAI予想を評価するのは危険です。
まとめると、codex 競馬予想は「AIが勝ち馬を魔法のように当てる」ものではありません。現実的には、Codexを使ってデータを集め、予想ロジックを作り、過去レースで検証し、改善する取り組みです。そこまでやって初めて、AI予想を馬券判断の参考材料として扱える段階に近づきます。
codex 競馬予想のAI回答を見る前に必要なのはデータの整理である

「codex 競馬予想 AI回答を見る」と検索する人は、おそらくAIがどんな予想を出すのか、すぐに答えを知りたいのだと思います。ただ、AI回答を見る前に必要なのは、AIに渡すデータを整理することです。競馬予想は、情報が多ければよいわけではなく、AIが読み取れる形になっているかが大切です。
たとえば、JRAの出馬表には馬名、騎手、調教師、過去成績、馬番、枠順など多くの情報があります。しかし、WebページをそのままAIに読ませると、情報が省略されたり、HTMLの構造を正しく拾えなかったりする可能性があります。調査したClaude Code事例では、JRAのHTMLをまずローカルに保存し、その後で解析する2段階アプローチが紹介されていました。
引用元では、WebFetchで大きなHTMLを直接解析すると途中で内容が省略されるため、先にHTMLを保存してから解析する流れが説明されています。
引用元:https://qiita.com/sogenasano/items/8e286ae65f52be4da371
この考え方はかなり実用的です。AIは長いページを一気に処理できるように見えても、実際には重要情報を落とすことがあります。競馬データでは、1頭分の過去走が抜けるだけでも予想が変わる可能性があります。したがって、ページを保存する、必要な項目を抽出する、DBやCSVに入れるという手順が重要になります。
📁 AIに渡す前に整理したい競馬データ
| データ | 例 | 使い道 |
|---|---|---|
| 馬の基本情報 | 馬名、性齢、斤量 | 基本条件の確認 |
| 出走情報 | 枠番、馬番、騎手 | 当日の条件反映 |
| 過去走 | 着順、距離、馬場、上がり | 直近成績の評価 |
| 適性情報 | コース、距離、馬場 | 得意条件の推定 |
| 市場情報 | 人気、オッズ | ベースライン比較 |
| 結果情報 | 着順、払戻 | バックテスト |
AI回答を使う場合も、「このレースの本命を教えて」だけでは粗くなります。たとえば、「予算500円」「本命寄り」「穴馬も1頭入れる」「馬連とワイド中心」「過去走の馬場適性を重視」などの条件を与えると、回答の質は上がりやすくなります。Zennの事例でも、最初は予算を超える買い目が出てしまい、予算条件を追加して現実的なプランに修正されています。
🧩 AIへの指示で変わる出力の違い
| 指示の粗さ | AIの出力傾向 | 問題点 |
|---|---|---|
| 「予想して」 | 本命や相手を広く出す | 根拠が薄くなりやすい |
| 「500円で買い目を作って」 | 予算内に収める | リスク配分は要確認 |
| 「過去走と馬場を重視して」 | 根拠付きになりやすい | データが古いとズレる |
| 「人気順との差を見て」 | 穴馬候補を拾いやすい | オッズ情報が必要 |
| 「過去レースで検証して」 | 再現性を見やすい | 払戻データが必要 |
ここで注意したいのは、AIがもっともらしい文章を出しても、使っているデータが間違っていれば予想もズレるということです。競馬では、出走取消、馬場変更、騎手変更、オッズ変動などが起こります。最新情報が必要な場合は、AIの内部知識だけではなく、当日のデータを確認する必要があります。
つまり、codex 競馬予想のAI回答を見る前にやるべきことは、「どのAIが当たるか」を比べることではありません。まずは、AIに渡す材料を整えることです。データが整えば、AIの回答は比較しやすくなり、外れたときの原因も分析しやすくなります。
Codex入門として競馬予想は「小さく作って検証する題材」になる

「codex 入門」と検索している人にとって、競馬予想は意外と学びやすい題材です。なぜなら、競馬予想にはデータ取得、データベース、スコア計算、機械学習、CLI、テスト、レポート作成など、開発の基本要素が一通り入っているからです。しかも、出力結果が「予想順位」「買い目」「回収率」として見えるため、改善の手応えもわかりやすいです。
ただし、最初から本格的なAI予想モデルを作ろうとすると、かなり大変です。JRA-VAN、mykeibadb、PostgreSQL、SQLite、スクレイピング、払戻データ、バックテストなど、調べることが多くなります。Codex入門として取り組むなら、まずは1レースだけを対象にした小さな仕組みから始めるのが現実的です。
たとえば、最初のステップは「出馬表をCSVにする」だけでも十分です。次に、馬ごとに直近5走の着順を入れ、平均着順や直近重視の点数を出します。その後で、距離適性、コース適性、騎手成績などを足していけば、少しずつ予想システムらしくなります。
🏁 Codex入門としての段階別ステップ
| 段階 | 作るもの | 学べること |
|---|---|---|
| 1 | 出馬表CSV | データ整形 |
| 2 | 直近成績スコア | 条件分岐・計算 |
| 3 | SQLite保存 | DB操作 |
| 4 | 予想順位表示 | CLI出力 |
| 5 | 過去レース検証 | バックテスト |
| 6 | ROI計算 | 評価指標 |
調査したQiita事例では、TypeScript、SQLite、Commander.js、Vitestなどが使われていました。これは、ただAIに予想を聞くのではなく、CLIツールとして動く競馬予想システムを作っている点が特徴です。Codex入門として見るなら、「AIが競馬予想をした」というより、AI開発支援ツールで競馬予想アプリを作ったと捉えると理解しやすいです。
🛠 入門者が最初に作るならこの範囲
| 機能 | 最初に必要か | 理由 |
|---|---|---|
| 出馬表の読み込み | 必要 | 予想の土台になる |
| スコア計算 | 必要 | 予想順位を作れる |
| 機械学習 | 後回し | データ量が必要 |
| 払戻ROI | 重要だが後でも可 | 検証段階で必要 |
| 自動購入 | 不要 | リスクが高い |
| Web画面 | 後回し | CLIで十分始められる |
Codex入門で大事なのは、いきなり「勝てるAI」を目指さないことです。まずは「データを取る」「点数を出す」「予想と結果を比べる」という流れを作るだけで、競馬AIの難しさが見えてきます。特に、人気順やオッズ順と比べて自分のモデルがどれだけ優れているかを見ると、単なる雰囲気予想から一歩進めます。
もちろん、競馬はギャンブルです。学習題材としては面白い一方で、実際の馬券購入に使う場合は自己責任です。Codex入門として取り組むなら、まずはシミュレーションで十分でしょう。お金を賭ける前に、過去レースでどれくらい当たるのか、回収率がどうなるのかを確認するほうが安全です。
Codexアプリのように使うならCLI化とコマンド化が現実的である

「codex アプリ」と検索する人は、スマホアプリのように簡単に競馬予想を出したい、あるいはCodexを使ってアプリ化できるのかを知りたいのかもしれません。現実的には、最初から本格的な画面付きアプリを作るより、CLI化してコマンドで動かす形が作りやすいです。
調査した事例では、Claude Codeのカスタムコマンドとして「データ取得」「スコア計算」「レース一覧」「馬一覧」などを定義し、自然言語に近い形で操作できるようにしていました。これはアプリというより、開発者向けの操作メニューに近いですが、競馬予想システムの運用にはかなり向いています。
たとえば、「/レース一覧」と入力すると登録済みレースを表示し、そこから予想するレースを選ぶ、という形です。これなら、毎回コマンドを覚えなくても操作できます。CodexやClaude Codeに指示書を読ませておけば、決まった手順を繰り返しやすくなります。
📱 アプリ化の選択肢
| 形 | 特徴 | 向いている人 |
|---|---|---|
| CLI | コマンドで予想を実行 | 開発しながら使いたい人 |
| カスタムコマンド | 自然言語に近い操作 | AIエージェントで動かしたい人 |
| Webアプリ | ブラウザで見られる | 家族や友人にも見せたい人 |
| スプレッドシート | 表で管理できる | ノーコード寄りで使いたい人 |
| スマホアプリ | いつでも見やすい | 本格公開したい人 |
最初に作るなら、CLIで十分です。理由はシンプルで、競馬予想システムの難しさは見た目ではなく、データと検証にあるからです。画面をきれいにしても、予想ロジックが検証されていなければ意味が薄くなります。まずはコマンドで確実に動くものを作り、その後でWeb画面やアプリ画面に広げるほうが無理がありません。
🧾 CLIで用意したい基本コマンド
| コマンド例 | 役割 |
|---|---|
| fetch | 出馬表や過去走データを取得 |
| import | JSONやCSVをDBへ保存 |
| races | 登録済みレースを一覧表示 |
| score | スコアリング予想を実行 |
| ml | 機械学習予測を実行 |
| backtest | 過去レースで検証 |
| roi | 回収率を計算 |
このようなコマンドを作っておくと、Codexに「このレースでスコアを出して」「バックテストして」「前回との差分を見て」と依頼しやすくなります。AIに毎回ゼロから説明する必要がなくなるため、作業が安定します。
アプリ化を考える場合も、まずは内部のコマンドを固めるのが先です。見た目のアプリは後から作れますが、データ取得やスコア計算が不安定だと、画面だけ整っても使えません。Codexアプリ的に使いたいなら、裏側はCLI、表側はAIコマンドという構成が現実的です。
競馬AI予想で重要なのは的中率より回収率である

競馬AI予想で多くの人が気にするのは「当たるかどうか」です。しかし、馬券で考えるなら、より重要なのは回収率です。的中率が高くても、毎回低配当の人気馬だけを買っていれば、長期的にはプラスにならない可能性があります。
調査したQiita事例では、予想上位の馬が3着以内に入ることは多かったものの、穴馬の予想精度が課題として挙げられていました。つまり、本命馬をある程度当てられても、それだけでは利益になりにくいということです。競馬の難しさは、当てることだけでなく、配当とのバランスを取ることにあります。
noteの検証事例でも、目標は複勝ROI100%超えとされていました。ROI100%とは、賭けた金額と戻ってきた金額が同じ水準という意味です。競馬には控除率があるため、一般的には何も考えずに買うと長期的には目減りしやすいとされています。そのため、AIモデルは単に人気馬を当てるだけではなく、市場評価よりも妙味のある馬を見つける必要があります。
📈 的中率と回収率の違い
| 指標 | 意味 | 落とし穴 |
|---|---|---|
| 的中率 | 馬券が当たった割合 | 低配当ばかりだと利益になりにくい |
| Top1的中率 | 予想1位が勝つ割合 | 人気馬順と差が出にくい |
| Top3的中率 | 上位3頭に好走馬がいる割合 | 買い方次第で収支が変わる |
| ROI | 投資額に対する回収割合 | 払戻データが必要 |
| NDCG | 予想順位の質 | 初心者には少し難しい |
たとえば、1番人気を毎回買うだけでも、的中率はそれなりに高く見える可能性があります。しかし、それはAIが賢いというより、人気順という市場の集合知をなぞっているだけかもしれません。AIモデルを評価するなら、人気順やオッズ順をベースラインとして置き、それを超えられるかを見る必要があります。
💰 馬券評価で見るべきポイント
| 見る項目 | なぜ必要か |
|---|---|
| 人気順との比較 | AI独自の価値があるかを見る |
| オッズ順との比較 | 市場評価を超えているかを見る |
| 複勝ROI | 3着以内予測の実用性を見る |
| 条件別ROI | 得意条件を探す |
| 信頼度別ROI | 自信がある時だけ買う戦略を検証する |
| 買い目別ROI | 単勝・複勝・ワイドなどの向き不向きを見る |
特に重要なのは、全レースに同じ金額を賭ける前提で評価しないことです。AIが得意な条件と苦手な条件があるなら、得意条件だけに絞ったほうが回収率が上がる可能性があります。たとえば、芝中距離、良馬場、出走頭数10頭以上など、条件を切って検証することで、使える場面が見えてくるかもしれません。
ただし、条件を細かくしすぎると、過去データにだけ合った偶然の結果になることもあります。これを過学習と呼びます。過学習を避けるには、学習データ、検証データ、テストデータを時系列で分けるなど、検証方法にも注意が必要です。
競馬予想が当たるユーチューバーは誰ですか?への答えは「根拠の見方」が先である

「競馬予想が当たるユーチューバーは誰ですか?」という検索意図は、AI予想とかなり近いです。どちらも「自分以外の予想を参考にしたい」というニーズが背景にあります。ただし、AIでもYouTuberでも、見るべきなのは名前や肩書きではなく、予想の根拠と検証の仕方です。
一般的には、競馬予想の発信者はたくさんいます。動画では、馬体、調教、展開、血統、ラップ、オッズ、厩舎コメントなど、さまざまな観点が語られます。しかし、どれだけ話が上手くても、長期の回収率や過去予想の記録が見えなければ、本当に参考になるかは判断しにくいです。
AI予想でも同じです。AIが「この馬が本命です」と言っても、理由が曖昧なら使いづらいです。逆に、「直近5走の内容」「同コースでの成績」「馬場適性」「騎手変更」「人気とのズレ」などを具体的に説明できるなら、判断材料として使いやすくなります。
🎥 YouTuber予想とAI予想の見方
| 見るポイント | YouTuber | AI予想 |
|---|---|---|
| 根拠 | 調教・展開・血統など | データ・特徴量・スコア |
| 記録 | 過去動画で確認 | バックテストで確認 |
| 弱点 | 印象に引っ張られる可能性 | データ欠損に弱い |
| 強み | 現場感や文脈がある | 大量データ処理が得意 |
| 注意点 | 的中報告だけ見ない | 的中率だけ見ない |
特に注意したいのは、「当たった予想」だけを見て判断しないことです。YouTubeでもSNSでも、的中したレースは目立ちやすい一方で、外れた予想は流れやすいです。AI予想も同様で、たまたま1回当たっただけでは実力とは言えません。一定期間の全予想を記録して、回収率を見ることが大切です。
🧪 予想を参考にする前のチェック表
| チェック項目 | 確認内容 |
|---|---|
| 過去予想の記録があるか | 的中・不的中の両方が見えるか |
| 買い目が明確か | 後出しではないか |
| 投資額が一定か | 回収率を比較できるか |
| 根拠が具体的か | 雰囲気だけでないか |
| 人気馬ばかりでないか | 妙味を考えているか |
| 外れた理由を分析しているか | 改善につながるか |
AIを使う場合、YouTuberの予想をそのままコピーするより、発信者の根拠を分解して、自分のデータ項目に落とし込むほうが学びになります。たとえば「展開が向く」という話を、脚質・枠順・ペース・距離などに分解すれば、スコア化できる可能性があります。
結局のところ、「誰が当たるか」よりも、「なぜその予想になったのか」「長期でどうだったのか」を見るほうが堅実です。codex 競馬予想でも同じで、AIの名前より、データ、ロジック、検証結果を見たほうが失敗しにくくなります。
codex 競馬予想を実用に近づける作り方

- 予想システムの最小構成は「取得・保存・採点・検証」である
- JRAデータはHTML保存から始めると欠落を減らしやすい
- スコアリングは10要素のように分けると説明しやすい
- 機械学習は人気順ベースラインを超えられるかが勝負である
- バックテストは未来データを混ぜない時系列分割が基本である
- 買い目は予算とリスクを指定しないと膨らみやすい
- 総括:codex 競馬予想のまとめ
予想システムの最小構成は「取得・保存・採点・検証」である

codex 競馬予想を実用に近づけるなら、最小構成は「取得・保存・採点・検証」です。この4つがないと、AIが出した予想を再現したり、改善したりするのが難しくなります。逆に、この4つがあれば、最初は単純なルールでも予想システムとして育てられます。
まず「取得」は、出馬表や過去走データを集める工程です。次に「保存」は、集めたデータをCSV、JSON、SQLite、PostgreSQLなどに入れる工程です。「採点」は、各馬を点数化して順位をつける工程です。最後の「検証」は、過去レースで予想と結果を比較し、的中率やROIを見る工程です。
この中で初心者が飛ばしがちなのが「保存」と「検証」です。AIにその場で予想させるだけなら保存は不要に見えます。しかし、保存しなければ後から同じ条件で再計算できません。また、検証しなければ、その予想が人気順より優れているのか判断できません。
🧱 競馬予想システムの最小構成
| 工程 | 内容 | 成果物 |
|---|---|---|
| 取得 | 出馬表・過去走・結果を集める | HTML、CSV、JSON |
| 保存 | データを整理して保管 | SQLite、PostgreSQL |
| 採点 | 各馬にスコアをつける | 予想順位 |
| 検証 | 結果と照合する | 的中率、ROI |
| 改善 | 重みや特徴量を調整 | 新しいモデル |
調査したQiita事例では、JRAのHTML取得、データ抽出、SQLite保存、スコアリング、機械学習予測という流れが組まれていました。この流れは、個人で作る競馬予想システムとしてかなりわかりやすい構成です。最初から大規模なデータ基盤を作らなくても、SQLiteのようなローカルDBで始められる点も実用的です。
⚙️ 最初に作るならこの順番
| 順番 | 作業 | ポイント |
|---|---|---|
| 1 | 1レースの出馬表を保存 | 対象を広げすぎない |
| 2 | 馬名・騎手・枠番を抽出 | まず基本情報だけ |
| 3 | 過去走を追加 | 直近5走から始める |
| 4 | 簡単な点数をつける | ルールを説明できる形にする |
| 5 | 結果と比較 | 外れた理由を見る |
| 6 | レース数を増やす | バックテストへ進む |
この構成のよい点は、失敗したときに原因を分けて考えられることです。予想が外れた場合、データ取得が悪いのか、スコア計算が悪いのか、買い方が悪いのか、検証方法が悪いのかを切り分けられます。AIに相談する場合も、「このスコア計算を改善して」「ROI計算を追加して」と具体的に頼めます。
逆に、いきなり「勝てる競馬AIを作って」とCodexに頼むと、範囲が広すぎます。Codexは実装を助けるツールなので、目的を小さく分けたほうが使いやすいです。最小構成を作り、その上にデータや評価指標を増やしていくほうが、結果的に近道になります。
JRAデータはHTML保存から始めると欠落を減らしやすい

JRAデータを使う場合、最初の壁は「どうやって必要な情報を正確に取り出すか」です。調査した事例では、JRA公式サイトの出馬表HTMLをスクレイピングし、そこから馬情報や前走データを抽出する方法が使われていました。ここで重要なのが、HTMLを直接AIに読ませるのではなく、まず保存するという手順です。
大きなHTMLページは、AIの読み取り途中で省略されたり、構造が崩れて解釈されたりすることがあります。特に競馬の出馬表は、1レースでも出走馬が多く、過去成績や血統、騎手、調教師など情報量が多いです。直接処理で一部が抜けると、スコアや予想順位に影響します。
そのため、まずHTMLをローカルに保存し、保存済みファイルをプログラムで解析する方法が向いています。HTML保存後なら、同じデータを何度でも解析できますし、抽出ロジックを修正して再実行することもできます。これは競馬予想に限らず、Webデータを使うAI開発全般で役立つ考え方です。
📄 HTML保存方式のメリット
| メリット | 内容 |
|---|---|
| 再現性が上がる | 同じHTMLで何度も検証できる |
| 欠落に気づきやすい | 保存ファイルを目視確認できる |
| 修正しやすい | 抽出コードだけ直して再実行できる |
| AI依存を減らせる | DOM解析や正規表現で安定化できる |
| ログを残せる | いつのデータか追いやすい |
ただし、スクレイピングには注意が必要です。サイトの利用規約、アクセス頻度、サーバー負荷などに配慮する必要があります。また、JRA-VANのようなデータサービスやmykeibadbのような仕組みを使う方法もあります。noteの別事例では、JRA-VANのデータがmykeibadbを通じてPostgreSQLに整理される流れが説明されていました。
🗃 競馬データ取得方法の比較
| 方法 | 特徴 | 向いているケース |
|---|---|---|
| JRA公式HTML | 出馬表から直接取れる | 小規模・無料寄りで試したい |
| JRA-VAN | 仕様化されたデータが使える | 本格的にデータを揃えたい |
| mykeibadb | PostgreSQLで扱いやすい | SQLで分析したい |
| netkeiba等 | 情報量が多い | 規約確認が必要 |
| 手入力 | 簡単に始められる | 1レースだけ試す場合 |
初心者が最初にやるなら、1レース分のHTML保存から始めるのがわかりやすいです。保存したHTMLから、馬名、馬番、騎手、枠番だけを抽出し、それが正しく取れるかを確認します。次に過去走、距離、馬場、着順を増やしていくと、予想に使えるデータが揃っていきます。
ここで無理に全レースを自動収集しようとすると、途中で詰まりやすいです。まず10件程度でテストし、出力が狙い通りか確認してから対象を広げるのが安全です。大量取得や一括処理では、データ欠落や重複登録に気づきにくくなるため、段階的に進めるほうがよいでしょう。
スコアリングは10要素のように分けると説明しやすい

競馬予想システムを作るとき、最初に使いやすいのがスコアリング方式です。スコアリングとは、各馬に点数をつけて順位を出す方法です。たとえば、直近成績が良い馬に高い点数をつけ、距離適性やコース適性、騎手、枠順などを加点していきます。
調査したQiita事例では、直近成績、コース適性、距離適性、上がり3F能力、G1実績、ローテ適性、馬場適性、騎手能力、調教師、枠順効果の10要素が使われていました。これらに重みをつけ、総合スコアを出す形です。スコアリングのよいところは、なぜその馬が上位なのか説明しやすい点です。
機械学習モデルは複雑になるほど、なぜその予測になったのかがわかりにくくなります。一方、スコアリングなら「直近成績が良い」「中山2500mで内枠が有利」「距離適性が高い」など、人間が納得しやすい理由を出せます。初心者が作るなら、まずは説明可能なスコアリングから始めるのがおすすめです。
🏇 スコアリング要素の例
| 要素 | 見る内容 | 注意点 |
|---|---|---|
| 直近成績 | 最近の着順や内容 | 新しいレースを重視 |
| コース適性 | 同競馬場の成績 | サンプル不足に注意 |
| 距離適性 | 同距離・近い距離の成績 | 距離変更を考慮 |
| 上がり3F | 終盤の脚 | 展開に左右される |
| 馬場適性 | 良・稍重・重など | 当日の馬場確認が必要 |
| 騎手 | 騎手成績や乗り替わり | 馬との相性も影響 |
| 枠順 | 内外の有利不利 | コースごとに違う |
直近成績の扱いでは、「新しいレースほど重視する」という考え方が紹介されていました。たとえば直近1戦を35%、2戦目を25%、3戦目を20%、4戦目を12%、5戦目を8%のように重みづけする方法です。これは、半年前の好走より最近の状態を重く見るという発想です。
⚖️ 直近5走の重みづけ例
| 対象 | 重み | 理由 |
|---|---|---|
| 直近1走 | 35% | 現在の状態に近い |
| 直近2走 | 25% | 近況を反映しやすい |
| 直近3走 | 20% | 安定感を見る |
| 直近4走 | 12% | 参考程度に見る |
| 直近5走 | 8% | 古い情報として扱う |
ただし、重みは絶対ではありません。コース、距離、レース条件によって、重要な要素は変わる可能性があります。たとえば短距離ではスタートや先行力が重要になるかもしれませんし、長距離では折り合いやスタミナが重要になるかもしれません。したがって、スコアリングは一度作って終わりではなく、バックテストで改善していく必要があります。
スコアリングで避けたいのは、なんとなく要素を増やしすぎることです。要素が多すぎると、どれが効いているのかわかりにくくなります。最初は5〜10個程度に絞り、説明できる形で作るのがよいでしょう。その後、検証結果を見ながら足す・削るを繰り返すほうが健全です。
機械学習は人気順ベースラインを超えられるかが勝負である

競馬予想に機械学習を使うと聞くと、一気に高精度になりそうに感じるかもしれません。しかし、調査した事例を見る限り、機械学習を使っても簡単に勝てるわけではありません。最大の壁は、人気順という強力なベースラインです。
競馬の人気順は、多くの人がオッズを通じて評価した結果です。つまり、すでに膨大な情報が反映されています。AIモデルが勝ち馬を予測しても、人気順と同じような結果になるなら、独自の価値は小さいです。AIモデルを作るなら、人気順やオッズ順を基準にして、それを上回れるかを見なければなりません。
noteの事例では、人気順Top1の的中率が約0.621とされ、それが基準線として扱われていました。モデルのTop1がわずかに上回っても、その差が小さい場合は統計的に意味があるか確認が必要です。これは非常に重要な視点です。AIモデルは数字が出るとすごく見えますが、比較対象がなければ良し悪しは判断できません。
📊 機械学習モデルで見るべき比較軸
| 比較対象 | 意味 | 超えるべき理由 |
|---|---|---|
| 人気順 | 市場の集合知 | これを超えないとAIの価値が薄い |
| オッズ順 | 配当を含む評価 | 妙味判断に必要 |
| ランダム | 最低限の基準 | モデルの基本確認 |
| 単純スコア | 手作りルール | ML導入の効果を見る |
| 前回モデル | 改善比較 | 変更の効果を見る |
調査したQiita事例では、ロジスティック回帰とランダムフォレストを組み合わせるアンサンブルが紹介されていました。ロジスティック回帰は単純な傾向を捉えやすく、ランダムフォレストは複雑な条件の組み合わせを捉えやすいと説明されています。このように複数の手法を組み合わせることで、弱点を補う狙いがあります。
🤖 代表的な機械学習手法のイメージ
| 手法 | 得意なこと | 注意点 |
|---|---|---|
| ロジスティック回帰 | 単純な傾向を捉える | 複雑な関係は苦手 |
| ランダムフォレスト | 条件の組み合わせを見る | 理由が見えにくい |
| スタッキング | 複数モデルをまとめる | 過学習に注意 |
| ルールベース | 説明しやすい | 精度の限界がある |
| アンサンブル | 複数の弱点を補う | 構成が複雑になる |
ただし、モデルが複雑になるほど、検証の難しさも上がります。特徴量を増やしすぎると、過去データには合っているのに未来のレースでは当たらない状態になりやすいです。これを過学習と呼びます。競馬のように条件が多く、偶然の影響も大きい分野では、特に注意が必要です。
機械学習を使うなら、「精度が上がった」という結果だけでなく、「どのベースラインに対して、どれくらい上がったのか」「テストデータで再現したのか」「ROIは改善したのか」まで見るべきです。AI予想の本当の価値は、派手なモデル名ではなく、検証結果にあります。
バックテストは未来データを混ぜない時系列分割が基本である

バックテストとは、過去のレースに対して「その時点でこの予想システムを使っていたらどうなったか」を検証することです。競馬AI予想では、このバックテストが非常に重要です。なぜなら、実際に馬券で使う前に、過去データである程度の性能を確認できるからです。
ただし、バックテストには大きな落とし穴があります。それが、未来データの混入です。たとえば、2025年の結果を学習に使って、2024年のレースを予想してしまうと、現実にはあり得ない情報を使ったことになります。これでは精度が高く見えても、実戦では役に立ちにくいです。
noteの事例でも、未来のレース結果を学習に使って過去を予測することが問題として触れられ、時系列分割の重要性が説明されていました。学習を2022〜2023年、検証を2024年、テストを2025年のように分ける方法は、競馬のような時系列データでは基本になります。
🧪 時系列分割の例
| データ期間 | 役割 | 目的 |
|---|---|---|
| 2022〜2023年 | 学習 | モデルを作る |
| 2024年 | 検証 | 調整に使う |
| 2025年 | テスト | 最終評価に使う |
| 2026年以降 | 実運用 | 未知データで確認 |
バックテストでは、的中率だけでなく、Top-K的中率、Recall@3、NDCG、Brier Score、Log Loss、ROIなども見るとよいです。難しい言葉が並びますが、簡単に言えば「上位予想に好走馬が入っているか」「順位の付け方が良いか」「確率の出し方がまともか」「賭けたら戻るか」を見るための指標です。
📐 バックテストで使われる指標
| 指標 | 簡単な意味 |
|---|---|
| Top1的中率 | 予想1位が当たる割合 |
| Top3的中率 | 予想上位3頭に好走馬がいる割合 |
| Recall@3 | 3着以内馬を拾えているか |
| NDCG | 予想順位の良さ |
| Brier Score | 確率予測のズレ |
| Log Loss | 確率予測の厳しめ評価 |
| ROI | 賭けた場合の回収率 |
特にROIを計算するには、払戻データが必要です。noteの事例でも、払戻データがないと回収率を計算できないため、race_payouts_v2のようなテーブル追加が行われていました。これは実用面ではかなり重要です。予想順位だけでは、馬券としての有効性は判断できません。
バックテストをするときは、レース数も大事です。数レースだけで高回収率になっても、偶然の可能性があります。条件別に絞る場合も、サンプル数が少なすぎると信頼しにくいです。したがって、結果を見るときは「何レースで検証したのか」も必ず確認しましょう。
買い目は予算とリスクを指定しないと膨らみやすい

AIに競馬予想を頼むとき、意外と大事なのが「買い目の制約」です。AIに「買い目を教えて」とだけ言うと、的中率を上げようとして点数が増えやすくなります。Zennの事例でも、最初にAIへざっくり聞いたところ、予算500円に対して合計2,000円の買い目が出てしまったと紹介されていました。
これはAIが悪いというより、条件が足りないためです。人間でも「当てにいくなら広く買う」「少額で楽しむなら絞る」「高配当を狙うなら穴を入れる」といった方針が必要です。AIに買い目を作らせるなら、予算、券種、リスク、狙いを指定する必要があります。
たとえば、「合計500円」「馬連とワイド中心」「本命寄り」「穴馬は1頭まで」「トリガミを避けたい」「大穴狙いを100円だけ入れる」などです。条件を明確にすると、AIは現実的な提案をしやすくなります。
💸 買い目作成でAIに伝える条件
| 条件 | 例 | 効果 |
|---|---|---|
| 予算 | 500円、1,000円 | 点数の膨張を防ぐ |
| 券種 | 馬連、ワイド、三連複 | 戦略が明確になる |
| リスク | 堅実、標準、攻め | 配当狙いを調整 |
| 本命 | 1頭固定、2頭軸 | 買い目を整理 |
| 穴馬 | 1頭まで、2頭まで | 高配当要素を管理 |
| 目的 | 練習、検証、実戦 | 提案の温度感を合わせる |
AIに買い目を作らせる場合は、必ず「合計金額」を確認しましょう。AIは計算を間違えることもありますし、点数と金額の整合性がズレることもあります。特に三連複や三連単は組み合わせが増えやすいため、予算オーバーに注意が必要です。
🎯 買い方ごとの特徴
| 券種 | 特徴 | AI予想との相性 |
|---|---|---|
| 単勝 | 1着を当てる | Top1精度が重要 |
| 複勝 | 3着以内を当てる | モデル検証に向く |
| 馬連 | 1・2着の組み合わせ | 本命+相手選び |
| ワイド | 2頭が3着以内 | 安定寄り |
| 三連複 | 3頭が3着以内 | Top3予想と相性あり |
| 三連単 | 着順まで当てる | 難易度が高い |
また、AIの買い目をそのまま信じるのではなく、予想の根拠を確認することも大切です。なぜその馬を本命にしたのか、なぜその相手を選んだのか、人気やオッズとの関係はどうかを見ましょう。根拠が弱い買い目は、たとえ当たっても再現しにくいです。
買い目作成は、AIが得意な部分と人間が判断すべき部分が分かれます。AIは条件内で組み合わせを整理するのが得意です。一方で、どれくらいリスクを取るか、馬券を買うか買わないか、どの金額にするかは人間の判断です。競馬はお金が絡むため、最終判断は慎重に行いましょう。
総括:codex 競馬予想のまとめ

最後に記事のポイントをまとめます。
- codex 競馬予想は、AIに勝ち馬を丸投げする使い方では弱い。
- Codexの強みは、競馬予想システムの実装と改善を支援できる点である。
- AI回答を見る前に、出馬表や過去走などのデータ整理が必要である。
- JRAのHTMLは、直接AIに読ませるより保存して解析するほうが安定しやすい。
- 最小構成は、取得・保存・採点・検証の4工程である。
- スコアリングは、直近成績、適性、騎手、枠順などに分けると説明しやすい。
- 機械学習を使う場合は、人気順やオッズ順をベースラインにする必要がある。
- 的中率だけでは不十分であり、ROIを見る必要がある。
- バックテストでは、未来データを混ぜない時系列分割が基本である。
- 払戻データがないと、馬券としての回収率は評価できない。
- AIに買い目を作らせる場合は、予算、券種、リスクを明確に指定する必要がある。
- YouTuber予想やAI予想を見るときは、名前より根拠と長期記録を見るべきである。
- Codex入門として競馬予想を扱うなら、1レースのCSV化から始めるのが現実的である。
- 実際の馬券購入は自己責任であり、まずはシミュレーションで検証する姿勢が重要である。
- https://qiita.com/sogenasano/items/8e286ae65f52be4da371
- https://x.com/ponyateru/status/2050133046977073364
- https://db.netkeiba.com/horse/000a00191c/
- https://x.com/ponyateru/status/2050373312690467095
- https://www.reddit.com/r/codex/comments/1swqdt9/the_1_million_context_rugpull_by_codex_and_openai/?tl=ja
- https://x.com/ponyateru
- https://zenn.dev/nyanmaru/articles/7b2e1342a5126b
- https://note.com/hushi_mellon/n/n2721f42db8e0
- https://www.youtube.com/watch?v=gAPVndaxH7g
- https://note.com/umarice/n/nb5601bc330ae
各サイト運営者様へ
有益な情報をご公開いただき、誠にありがとうございます。
感謝の意を込め、このリンクはSEO効果がある形で設置させていただいております。
※リンクには nofollow 属性を付与しておりませんので、一定のSEO効果が見込まれるなど、サイト運営者様にとってもメリットとなれば幸いです。
当サイトは、インターネット上に散在する有益な情報を収集し、要約・編集してわかりやすくお届けすることを目的としたメディアです。
引用や参照の方法に不備、あるいはご不快に感じられる点がございましたら、お問い合わせフォームよりご連絡ください。
今後とも、どうぞよろしくお願いいたします。
