「自動投票の作り方【参ノ型】」の実戦的なサンプルとして「最新オッズと期待値で自動投票するプロシージャ」を作りました。馬連・馬単・3連複・3連単の4つを作ってます。あらゆる自動投票のテンプレートなるんじゃないかと思います。
最新オッズと期待値で自動投票するプロシージャ
システム全体のざっくりした流れは次のような感じです。3連単の場合で説明すると、
- 「JV-Link」または「UmaConn」が最新オッズを取得する。
- 単勝オッズを馬番単位に展開する(myp_odds_tansho)
- 3連単オッズを組番単位に展開する(myp_odds_sanrentan)
- 全組番の期待値を作成する(myp_kitaichi_sanrentan)
- 一定以上の期待値を超える組番の買い目を作成する(myp_kaime_sanrentan)
- 「KSC投票プラグイン」または「UmaConn」が投票を実行する。
この4つのプロシージャのうちオッズを展開する、
- myp_odds_tansho
- myp_odds_sanrentan
は「オッズの文字列を組番単位に展開するプロシージャ」の記事を使います。
- myp_kitaichi_sanrentan
- myp_kaime_sanrentan
を、この記事の最後で有料会員に公開しています。
単勝オッズで各馬の勝率を求めることが可能なのは「単勝の支持率と勝率はほぼ同じ」の記事で証明しました。その勝率から連勝式(馬連・馬単・3連複・3連単)の各組番で決着する確率を求めて、一定以上の期待値を超える組番の買い目を作成します。資金配分はプロシージャで合成オッズを計算します。
期待値の計算式は「確率×オッズ」です。つまり期待値が1以上の馬券を買い続けたら回収率は100%以上になる計算です。
プロシージャの使い方(実装方法)は、この記事の最後で説明してます。ユーザーがカスタマイズして利用することも可能ですし、SQLプログラミングを学習したい方の参考にもなります。
あくまでサンプルなので、計算式の妥当性だとか、このプロシージャで絶対に儲かるんか?などとツッコミは禁止です(笑)
連勝式の各組番で決着する確率を求める計算式
参考までに、連勝式の各組番で決着する確率を求める計算式をまとめておきます。各馬の勝率が次の通りだとし、説明します。
- 馬番①の勝率が 10%(単勝オッズ8.0倍 相当)
- 馬番②の勝率が 20%(単勝オッズ4.0倍 相当)
- 馬番③の勝率が 30%(単勝オッズ2.7倍 相当)
馬単の確率を求める計算式
1着馬勝率
× 2着馬勝率 ÷ (1 - 1着馬勝率)
馬単③→②の確率
0.3
× 0.2 ÷ (1 - 0.3) = 0.085714286 (☆1)
なんでこんな計算式になるんや?というと、
- ③が1着の場合は残り70%を他の馬で争う。
- だから②が2着の確率は0.2÷0.7で求められる。
- だから③が1着の確率×②が2着の確率が馬単③→②の確率になる。
というワケです。
馬単②→③の確率
0.2
× 0.3 ÷ (1 - 0.2) = 0.075 (☆2)
馬連の確率を求める計算式
馬単の確率の和
馬連②-③の確率
(☆1)+(☆2) = 0.161
馬単裏表の確率の和が馬連の確率。まあこれは当然だわな。
3連単の確率を求める計算式
1着馬勝率
× 2着馬勝率 ÷ (1 - 1着馬勝率)
× 3着馬勝率 ÷ (1 - 1着馬勝率 - 2着馬勝率)
馬単と同じ考え。
3連単①②③ボックスの各組番の確率
要領は馬単と同じなので計算式は省略。
- ①→②→③ = 0.00952381 (★1)
- ①→③→② = 0.011111111 (★2)
- ②→①→③ = 0.010714286 (★3)
- ②→③→① = 0.015 (★4)
- ③→①→② = 0.014285714 (★5)
- ③→②→① = 0.017142857 (★6)
3連複の確率を求める計算式
3連単の確率の和
3連複①-②-③の確率
(★1)+(★2)+(★3)+(★4)+(★5)+(★6) = 0.08
複勝とワイドの確率を求める計算式
3連複で目的の馬番および組番が入ってる3連複組番の確率の和
複勝①の確率
- ①-②-③
- ①-②-④
- ①-②-⑤…
①が入っている全ての3連複組番の確率の和。
ワイド①-②の確率
- ①-②-③
- ①-②-④
- ①-②-⑤…
①-②が入っている全ての3連複組番の確率の和。
複勝とワイドは払戻が少なく計算が面倒くさいのでサンプルのプロシージャは作ってません。