また、競馬AIの考え方を変えることにした
8月から、自作の競馬AIを実際の馬券購入に使いながら検証を続けてきました。
AI予想を出し、適性順位を確認し、オッズや人気を照合して購入対象馬を決める。
そこから購入金額を計算し、Excel VBAで買目を作り、IPAT GOへ渡す。
少しずつ改良を重ね、ようやく実戦で使えるところまで来ました。
ところが、ここへ来て私はまた一つ考えるようになりました。
「私はオッズを分析したいのか。それとも、勝つ可能性の高い馬を見つけたいのか」
もちろん馬券を買う以上、オッズは重要です。
しかしオッズを意識しすぎることで、せっかく適性評価で上位に出した馬を、最後に自分で切ってしまうこともありました。
そこで今回、考え方を少し変えます。
オッズを追いかけて馬を選ぶのではなく、まず適性で馬を選ぶ。
その考え方から作ったのが、今回実戦投入するV2です。
V1を捨てるわけではない
最初に書いておきたいのは、これまで使ってきたV1をやめるわけではないということです。
V1は8月から実戦と検証を続けてきました。
実際にお金を賭けたからこそ分かったこともあります。
オッズ条件をどうするか。
人気条件をどうするか。
適性順位とAI予想をどう組み合わせるか。
買目が出ないレースをどう扱うか。
失敗も含めて、ここまで積み上げてきたデータを捨てる理由はありません。
そこで今後は、
V1=これまでの方式を継続して検証する
V2=2026年末まで実際の馬券購入に使う
という形で役割を分けます。
V1とV2を競争させて、すぐに優劣を決めるつもりもありません。
それぞれの結果を残していきます。
V2はオッズがなくても印を付ける
V2で大きく変えたのはここです。
オッズがなくても予想できるようにしました。
出馬表の情報から、騎手、種牡馬、母父、そして各種の適性などを点数化します。
それらを総合して適性順位を作り、
◎
○
▲
△
×
という印を付けます。
つまり、人気や単勝オッズを見てから、
「この馬は買える」
「この馬は人気がないからやめよう」
と決めるのではありません。
まず馬そのものを評価する。
その結果として印を付ける。
V2では、この順番を大切にすることにしました。
◎の成績を調べてみた
この方法を実戦投入する前に、これまでの予想結果を集計しました。
特に確認したかったのが◎です。
集計結果は、
対象174頭
1着62回
勝率35.6%
連対率64.4%
複勝率71.8%
となりました。
私が特に気になったのは、複勝率71.8%です。
もちろん、これだけで「◎を買えば儲かる」という話ではありません。
勝率と回収率は別です。
複勝率と複勝回収率も別です。
これは、この2か月で何度も経験してきました。
ただ、少なくとも私が作った適性評価の◎は、かなりの割合で上位に来ている。
それなら一度、
複雑な条件を後から付け加えるのではなく、◎そのものを中心に買ってみたらどうなるのか。
これを実際のお金で検証してみようと考えました。
基本は◎。ただし一つだけ例外を作った
V2では、基本的に◎を本命にします。
ただし、一つだけ例外を作りました。
◎が1番人気で、単勝2.9倍以下の場合だけ○を本命にする。
それ以外は◎です。
これまでのように、
「7番人気以内」
「単勝○倍から○倍」
「複数候補ならオッズの高い方」
と条件を重ねません。
基本は◎。
一つの条件に該当したときだけ○。
かなり単純にしました。
今の私は、条件を増やすことよりも、
自分で作った適性評価を一度そのまま信じてみること
の方が大切だと考えています。
V2の実戦買目
購入方法も固定しました。
まず本命馬を、
単勝2,000円
複勝3,500円
購入します。
そして、本命馬から残りの上位3頭へ流します。
本命が◎なら、
馬連 ◎-○、◎-▲、◎-△ 各500円
ワイド ◎-○、◎-▲、◎-△ 各1,000円
本命が○なら、
馬連 ○-◎、○-▲、○-△ 各500円
ワイド ○-◎、○-▲、○-△ 各1,000円
これで、
1レース合計10,000円。
2026年12月末までは、この金額を固定して実戦する予定です。
なぜ単勝だけにしなかったのか
私の最終目標は今も変わっていません。
1レースの勝ち馬を1頭見つけること。
究極的には単勝1点です。
それなのに、今回のV2では複勝、馬連、ワイドも買います。
一見すると、以前より買目を増やしたようにも見えます。
しかし今回は、それぞれの役割を分けて考えています。
単勝は、本命馬が本当に勝てるのか。
複勝は、本命馬の安定性。
馬連とワイドは、本命を中心に上位の適性馬が一緒に来るのか。
そして重要なのは、それぞれの成績を混ぜないことです。
単勝は単勝。
複勝は複勝。
馬連は馬連。
ワイドはワイド。
年末に振り返ったとき、どの部分が機能して、どの部分が機能しなかったのかを確認できるようにします。
買目作成から投票までExcel VBAで自動化
買い方を決めるだけでは、実戦では使えません。
そこでV2でも、Excel VBAを使って買目画面を自動作成できるようにしました。
適性順位と印から本命を判定。
購入する単勝、複勝、馬連、ワイドを作成。
さらにIPAT GOで使う買目ファイルも自動出力します。
ただし、完全に勝手に馬券を購入するようにはしていません。
最後に私が内容を確認します。
最終確認で「OK」を押した場合だけ投票する。
ここは残しました。
システムに買目作成までは任せる。
しかし最後にお金を賭ける判断は、自分で確認する。
今の私には、このくらいがちょうどいいと思っています。
ところで、これは本当に「AI」なのだろうか?
ここまで作ってきて、最近少し疑問に思うことがあります。
「これは本当にAI分析と呼んでいいのだろうか?」
ということです。
V2ではオッズ分析の比重を下げました。
騎手、種牡馬、母父、各種適性などを点数化し、順位を作って印を付けています。
そして過去の結果を集計し、その数字を見ながらルールを修正しています。
世の中で「AI」と呼ばれているものを考えると、私のやっていることは少し違うのかもしれません。
Excelがあります。
VBAがあります。
自分で決めた評価基準があります。
そして私自身が数字を見て、
「ここはおかしい」
「この条件はいらないのではないか」
と考えながら直しています。
それなら単なる競馬予想システムではないか。
そんな気もします。
それでも私は「競馬AI開発記」として続ける
ただ、考えてみると、私がやっていることは単なる勘だけの予想ではありません。
データを蓄積する。
適性を数値化する。
順位を作る。
結果を分析する。
問題があればルールを修正する。
そして、また次のレースで検証する。
これを繰り返しています。
AIという言葉をどこまで厳密に使うかは別として、少なくとも私は、人間の感覚だけで馬を選ぶところから離れようとしています。
だから、このブログではこれからも、
「競馬AI開発記」
として記録していこうと思います。
完成されたAIを紹介しているわけではありません。
むしろ、
70歳の競馬好きがExcelとVBAを使い、自分なりの競馬AIを作ろうとしている途中の記録。
そのくらいが、今の私には一番正確なのかもしれません。
V1は検証、V2は実戦
ここから年末までの方針は、かなり明確になりました。
V1は捨てません。
8月から蓄積してきた方法として、これからも検証を続けます。
そしてV2は、
2026年末まで実戦で使います。
1レース10,000円。
途中で結果が悪いからといって、すぐ掛け金を変更しない。
数レース当たったからといって、「成功した」とも考えない。
年末まで同じ条件で実際に買ってみる。
そして数字を残す。
その結果を見て、V1とV2を改めて比較します。
オッズを追うのをやめて、適性を信じてみる
この2か月、私はいろいろな条件を考えてきました。
オッズ。
人気。
適性順位。
AI評価。
購入金額。
条件を追加すればするほど精密になっているような気もしました。
しかし、複雑になりすぎれば、
「結局、何を根拠にこの馬を買ったのか」
が分からなくなります。
そこでV2では、一度シンプルなところへ戻ります。
まず適性を見る。
◎を中心に買う。
結果を記録する。
これでいいのか。
もちろん、まだ分かりません。
◎の複勝率71.8%という過去の数字が、これからの実戦でも続く保証はありません。
単勝で利益が出る保証もありません。
馬連やワイドが機能するかも分かりません。
だからこそ、自分のお金で実際に買って確かめます。
まとめ|答えは年末の数字に聞く
V2を作ったからといって、競馬AIが完成したわけではありません。
むしろ新しい検証が始まっただけです。
今回の変更は、
オッズを追うのをやめて、適性を信じて買う。
複雑にしすぎず、◎を中心に実戦する。
そして、
V1は検証を続け、V2は年末まで実戦する。
この3つです。
これで正しいのかは、今の私には分かりません。
分からないから、実際に馬券を買います。
そして結果を残します。
良かった結果だけではなく、外れたレースも、マイナスになった月も、そのまま残します。
12月末になったとき、
V1とV2はどうなっているのか。
◎の勝率35.6%、複勝率71.8%という数字は実戦でも通用したのか。
そして何より、
私が目標にしている「1レースの勝ち馬を1頭見つける」ことに近づいたのか。
その答えは、今考えても分かりません。
年末まで馬券を買って、数字に聞いてみようと思います。