「自動投票の作り方【参ノ型】」の実戦的なサンプルとして「最新オッズと期待値で自動投票するプロシージャ」を作りました。2連複・2連単・3連複・3連単の4つを作ってます。あらゆる自動投票のテンプレートなるんじゃないかと思います。
最新オッズと期待値で自動投票するプロシージャ
システム全体のざっくりした流れは次のような感じです。3連単の場合だと、
- 「PC-KYOTEI Database」が最新オッズを取得する。
- 3連単オッズを組番単位に展開する(myp_odds_sanrentan)
- 全組番の期待値を作成する(myp_kitaichi_sanrentan)
- 一定以上の期待値を超える組番の買い目を作成する(myp_kaime_sanrentan)
- 「PC-KYOTEI Database」が投票を実行する。
この3つのプロシージャのうちオッズを展開する、
- myp_odds_sanrentan
は「オッズの文字列を組番単位に展開するプロシージャ」の記事を使います。
「myp_odds_sanrentan」は「myp_kitaichi_sanrentan」の中で呼び出しています。
- myp_kitaichi_sanrentan
- myp_kaime_sanrentan
を、この記事の最後で有料会員に公開しています。
各艇の勝率は競艇場ごとに集計(2012年~2021年)した艇番の勝率とします。そのデータは艇番勝率マスタ(myd_teiban_shoritsu)に保存しています。
艇番勝率マスタも、この記事の最後のZIPファイルに含まれています。
その勝率から連勝式(2連複・2連単・3連複・3連単)の各組番で決着する確率を求めて、一定以上の期待値を超える組番の買い目を作成します。資金配分はプロシージャで合成オッズを計算します。
期待値の計算式は「確率×オッズ」です。つまり期待値が1以上の舟券を買い続けたら回収率は100%以上になる計算です。
プロシージャの使い方(実装方法)は、この記事の最後で説明してます。ユーザーがカスタマイズして利用することも可能ですし、SQLプログラミングを学習したい方の参考にもなります。
あくまでサンプルなので、計算式の妥当性だとか、このプロシージャで絶対に儲かるんか?などとツッコミは禁止です(笑)
連勝式の各組番で決着する確率を求める計算式
参考までに、連勝式の各組番で決着する確率を求める計算式をまとめておきます。各艇の勝率が次の通りだとし、説明します。
- 艇番①の勝率が 53%(住之江①号艇 相当)
- 艇番②の勝率が 15%(住之江②号艇 相当)
- 艇番③の勝率が 12%(住之江③号艇 相当)
2連単の確率を求める計算式
1着艇勝率
× 2着艇勝率 ÷ (1 - 1着艇勝率)
2連単①→②の確率
0.53
× 0.15 ÷ (1 - 0.53) = 0.169148936 (☆1)
なんでこんな計算式になるんや?というと、
- ①が1着の場合は残り47%を他の艇で争う。
- だから②が2着の確率は0.15÷0.47で求められる。
- だから①が1着の確率×②が2着の確率が2連単①→②の確率になる。
というワケです。
2連単②→①の確率
0.15
× 0.53 ÷ (1 - 0.15) = 0.093529412 (☆2)
2連複の確率を求める計算式
2連単の確率の和
2連複①-②の確率
(☆1)+(☆2) = 0.262678348
2連単裏表の確率の和が2連複の確率。まあこれは当然だわな。
3連単の確率を求める計算式
1着艇勝率
× 2着艇勝率 ÷ (1 - 1着艇勝率)
× 3着艇勝率 ÷ (1 - 1着艇勝率 - 2着艇勝率)
2連単と同じ考え。
3連単①②③ボックスの各組番の確率
要領は2連単と同じなので計算式は省略。
- ①→②→③ = 0.063430851 (★1)
- ①→③→② = 0.057993921 (★2)
- ②→①→③ = 0.035073529 (★3)
- ②→③→① = 0.015374698 (★4)
- ③→①→② = 0.030974026 (★5)
- ③→②→① = 0.01485056 (★6)
3連複の確率を求める計算式
3連単の確率の和
3連複①-②-③の確率
(★1)+(★2)+(★3)+(★4)+(★5)+(★6) = 0.217697586
複勝の確率を求める計算式
2連複で目的の艇番が入ってる2連複組番の確率の和
複勝①の確率
- ①-②
- ①-③
- ①-④…
①が入っている全ての2連複組番の確率の和。
拡連複の確率を求める計算式
3連複で目的の組番が入ってる3連複組番の確率の和
拡連複①-②の確率
- ①-②-③
- ①-②-④
- ①-②-⑤…
①-②が入っている全ての3連複組番の確率の和。
複勝と拡連複は払戻が少なく計算が面倒くさいのでサンプルのプロシージャは作ってません。