← GrowUp Lab

AIで競馬市場に勝てるか、3日間かけて確かめた話

2026年9月 / 税理士法人GrowUp

結論から書くと、勝てませんでした。
ただ、なぜ勝てないのかを自分のデータで確かめられたので、その過程を残しておきます。
馬券の買い方の話ではなく、AIの出力をどう検証するかの話です。

やろうとしたこと

「AIで競馬を予測して儲かる」という話は昔からあります。本当かどうか、自分で確かめたくなりました。 やりたかったのは予想を当てることではなく、市場のオッズより正確な確率をAIが作れるか、 作れたとしてそれが控除率(JRAの単勝で20%)を越えて利益になるか、を数字で見ることです。

データはJRA-VAN Data Lab(月2,090円)から取り、自宅PCのPostgreSQLに貯めました。 2021〜2024年のJRA平地レース13,316本、時系列オッズは前日夕方から発走直後まで5分刻みで約2,500万行、合わせて23GBです。 予測モデルは勾配ブースティングで、過去5走の成績・騎手と厩舎の直近成績・頭数やクラスなど147項目を使い、 当日のオッズや人気は一切入れていません。実装はClaude Codeに任せ、GPTに設計のレビューをさせ、私は仕様を書いて結果を読んで次を決める役でした。

自分に課したルール

AIは「勝てそうな結果」をいくらでも出せます。条件を少し変えれば回収率100%超えの表はすぐ作れる。 だから、データを見る前に4つのことを決めました。

この4つを守ると、「勝てた」という報告はほとんど出なくなります。裏返すと、守っていない報告は信じない方がいい、ということでもあります。

試したこと

単勝から始めて、複勝、馬連、予想を使わない裁定、レースの事前選別、と10本の検証を順に行いました。 どれも、始める前に「これが出たら終了」を決めてから走らせています。回収率は払戻÷投資で、1.0が損益分岐です。

#仮説結果判定
1市場より正確な勝率を作れるかAI単体は市場に劣る。市場と混ぜると僅かに上回る。同じオッズ帯の中で勝つ馬を並べ替えられる部分的に可
2朝9:15の単勝で期待値1以上を買う回収率 0.77 / 0.70 / 1.11(年でぶれ、再現しない)終了
3発走10分前の単勝で買う回収率 0.10〜0.39。情報は締切までに価格へ吸収される終了
4複勝なら残るか単勝と同じ吸収。差なし終了
5複勝の本命側を価格だけで買う全帯・4年とも1未満(最高0.99)終了
6馬連で「AIが嫌う馬」を外す仮説と逆。市場の方が先に割り引いていた終了
7馬連で確率の掛け算を効かせる確率は校正できたが、期待値1以上の帯で回収率 0.46〜0.58終了
8券種間の価格矛盾を取る(予想なし)13,316レースで無リスクの組み合わせ0件終了
9頭数・クラス・場などでレースを事前に選ぶ2年連続で改善する属性なし終了
10AIの1位馬を毎レース機械的に買う単勝0.78・複勝0.81。最終1番人気(0.80・0.85)に劣る終了

一番わかりやすい結果

最後の検証が、いちばん腑に落ちました。2022〜2024年の9,082レースで、AIが1位と予測した馬を、閾値も選別もなしに毎レース100円ずつ買う。 同じレースで最終1番人気を買った場合と比べます。

買い方AIの1位馬最終1番人気
単勝100円回収率 0.777(勝率 28.6%)回収率 0.798(勝率 33.8%)
複勝100円回収率 0.809(複勝率 57.9%)回収率 0.849(複勝率 64.8%)
単複100円ずつ回収率 0.793(年間で約12〜14万円の損失)回収率 0.824

AIの1位馬は当たったときの払戻が高いのですが、的中率の差を埋められません。3つの買い方×3年の9通りすべてで1番人気に負けました。 AIと1番人気が同じ馬を指すのは59%で、違うときのAIの1位馬は中央値で2番人気。つまりAIは「市場が最終的に上位にする馬」をだいたい当てているのに、市場の方が少し正確でした。

わかったこと

AIは市場と違うものを見ていました。同じオッズ帯の馬をAIの評価順に7段階に分けると、40倍以上の馬で最低群と最高群の実勝率が8.6倍違います。 市場が同じ値段を付けている中に、当たりやすい馬と当たりにくい馬が混ざっていた、ということです。

ただ、その情報は締切までに価格へ吸収されます。朝9:15の時点でAIの情報が持つ重みは0.31でしたが、発走10分前には0.13まで下がり、 AIが好む馬ほど締切までに買われて払戻が縮みます。複勝でも馬連でも同じことが起きました。 「自分の確率と市場の確率の差」が大きい順に買うと、選ばれるのは推定誤差が上振れした馬になる。この構造がある限り、控除率の壁は越えられません。

予想を使わない道も試しました。単勝・複勝・馬連の最終価格で、どの着順になっても払戻が投資を上回る組み合わせがあるかを全レース走査しましたが、0件。 JRAの3つの券種は互いにきれいに整合していました。レースを属性で事前に選ぶ案も、2年連続で改善する属性は1つもありませんでした。

残っているのは、調教やパドック評価のような外部データと、馬単・三連単のような薄い市場です。 どちらも費用と手間に見合う見込みが立たず、ここで止めました。

本業に持ち帰るもの

競馬は題材にすぎません。「AIが良さそうなことを言う」場面は、仕訳の自動化でも面談メモの要約でも同じです。 今回いちばん役に立ったのは、予測モデルそのものではなく、先に基準を書く・時間の向きを守る・最後の検証用データを封印する・止める基準を持つ、という検証の型でした。 AIに「勝てましたか」と聞くと、勝てた気になる答えが返ってきます。「勝てないことをどう確かめるか」を聞く方が、実務では役に立ちます。

費用と時間

仕様書から最終報告まで3日間(2026年9月6日〜8日、データ取得の待ち時間を含む)。費用はJRA-VAN Data Labの1か月分2,090円だけで、 PostgreSQLやPython、LightGBMは無料、AIは普段の契約の範囲内です。馬券は1円も買っていません。 成果物は仕様書1本、設計文書15本、報告書31本、プログラム29本。データ23GBは、検証が終わったので削除します。

資料

検証の一覧と主要な数字をスライドにまとめています。