うまえもんです。
本日は競馬AIうまえもんがどのようにバックテストをおこなっているのかという内容を公開します。
こちらの情報はあまり公にしたくないため、私のSNSには漠然としたシミュレーション結果しか載せていませんでした。
なぜなら私が今から記載するこの記事の考え方は、ネット上で一度も見たことがないためです。
こちらの文章を読むことで、競馬AIうまえもん内部の処理がどうなっているのかと いうのを理解していただければと思います。
バックテストをおこなう前に大前提として、私が投資をやる上で大事にしているのが期待値の考え方です。
競馬では、期待値が 1 を超える馬券を買い続けることで資金が増えていく可能性が高くなります。
競馬で期待値を算出するための計算式は、
期待値 = 馬券的中率 × オッズ となります。
よって期待値1 を超えるために必要なオッズは、
上記式の期待値部分に1を代入し、
期待値1 = 馬券的中率 × オッズ となります。
すると、
馬券的中率が分かれば、上記の式に代入して期待値1に必要なオッズが分かります。
そこであらかじめ算出した馬の着順予測(%)から各馬券の的中率を算出し、
上記の式に代入することで、期待値1を超えるために【必要なオッズ】が分かるようになります。
この【必要オッズ】を、
実際に馬券を購入するタイミングである、【レース発走直前オッズ】と比較し、
【必要オッズ】 < 【レース発走直前オッズ】
であれば、期待値が1以上の馬券ということになり購入処理をおこないます。
もちろんあらかじめ予測した各馬の勝率や馬券的中率が正しいことが前提です。
こちらの勝率は日々開発をおこない精度を高めていますが、これが正しかったかどうかはバックテストした後にも分かるでしょう。
今回は3連複でバックテストをおこなってみます。
以下はあらかじめ計算した出走馬の、左から予測1着率、2着率、3着率です。
これらは機械学習を利用して算出しており、これらの数値を元に3連複馬券の予測的中率を算出します。
3連複の的中率を計算するためには、まず3連単の予測的中率を計算します。
3連複の的中率は、「3連単の的中率 6通りの和」となるためです。
3連単の的中率はこのように算出します。
馬A 馬B 馬C の3連単組合せ 6通り
こちらの6通りの的中率を足したものが3連複の予測的中率となります。
計算すると、馬A 馬B 馬Cの3連複的中率は4.16%となりました。
ではこの的中率を先ほど説明した期待値の計算式に代入してみましょう。
期待値1 = 馬券的中率4.16% × 必要オッズ
必要オッズ = 期待値1 ÷ 的中率4.16%
必要オッズ = 24.0倍
3連複 A - B - Cは オッズが24.0倍以上であれば、期待値が1を超えるため、【購入できる馬券】 ということになります。
逆に24.0倍未満であれば期待値が1を下回っているため、買い続けると損をしてしまう馬券となります。
バックテストでは、ここまでの一連の流れで説明してきた、
「馬券の予測的中率を計算し、期待値が1以上だった全ての馬券を抽出する」
というプログラムを、期間を指定して全レース全馬券で実行します。
今回は2021年7月以降、過去約8か月間のバックテストをおこなった結果を公開します。
説明が見やすいようエクセルに出力しております。
結果を見ると、期待値1以上の馬券として該当していたのは約17万件でした。
次に年月別の成績を見てみましょう。
マイナス月はあるものの合計利率は+43.9%となり、十分利益の出ている結果となっています。
あらかじめ算出した各馬の勝率などが正しいということも証明されていそうです。
ここからさらに、
期待値、必要オッズ、レース直前オッズ、出走頭数、馬場状態、クラス、レース番号、距離、競馬場など要素を芝とダートで分けて分析していきます。
つづく
競馬AIうまえもん 無料で利用してみたい方はこちら
うまえもんTwitter
うまえもんnote
うまえもんYoutube