« PROMARINEのCOMMAND7000の3BB化(+2BB) | メイン | 新三郷ららぽーとに行ってきた »

競馬予想の会社 160億所得隠しのアルゴリズム検証

「なぜそんなに稼げた - 3連単を分散買い」(2009年10月9日付朝日新聞より)

ユープロ関係者らによると、同社は、天候や出走馬の血統、騎手などの各データを入力、解析する競馬必勝プログラムを使い、高確率で配当金を得ていたという。だが、億単位の資金を使い、ほとんどの組み合わせの馬券を買うという、一般の競馬ファンにはまねできないやり方だった。

05年設立の同社が目をつけたのは、「3連単」という馬券。1着から3着までを順番通り当てるもので、配当が大きい。プログラムで、レースで3位までに入らない可能性が高い「はずれ馬」を除外したうえ、残りの馬であらゆる組み合わせの馬券を購入。倍率(オッズ)が高い馬券には小額、倍率が低い馬券には高額をかけ、配当金が投資額を上回るよう計算されていたという。億単位の支出でも高確率で一つあたり、レースごとに数億円の利益が出ていた、としている。


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
この解説記事を読んで、実際プログラムを作ってみた。
16頭だと
[funa@ftvjapan upro]$ more res
1 1-2-3 = 1 2 3
2 1-2-3 = 1 2 4
3 1-2-3 = 1 2 5
4 1-2-3 = 1 2 6
5 1-2-3 = 1 2 7
6 1-2-3 = 1 2 8
7 1-2-3 = 1 2 9
8 1-2-3 = 1 2 10
9 1-2-3 = 1 2 11
10 1-2-3 = 1 2 12
(snip)
3356 1-2-3 = 16 15 10
3357 1-2-3 = 16 15 11
3358 1-2-3 = 16 15 12
3359 1-2-3 = 16 15 13
3360 1-2-3 = 16 15 14
って感じで3360通りの買い方になる。
んで、絶対来ない3頭を外してみる
ちなみに1,2,3が来ないと仮定すると
1712 1-2-3 = 16 15 10
1713 1-2-3 = 16 15 11
1714 1-2-3 = 16 15 12
1715 1-2-3 = 16 15 13
1716 1-2-3 = 16 15 14
と1716通り、半分くらいになる。

ってことはだ、、、
3頭外すと、買い目は半分になる。
あれ??
これって3連単は攻略できる計算になるぞ。
そうかそうか、、、、
つまりだ、、、、

競馬の100円当たりの期待値は75円。
全部の組み合わせを買っても平均額の75%にしかならない。
100円買って75円が払い戻される。つまりやればやるほど損だ。
ところが3頭外すと、50%の投資で75%になるのだ。
50円の投資で75円の獲得。やればやるほど儲かる!!
実際はもう少し下がる、外した3頭がきちゃう可能性があるからね。
だから「絶対来ないダメ馬」を3頭選ぶだけでいいんだ。

競馬の逆なんだ。
競馬の予想は「ぜったい来る馬3頭」を選ぶ。
その逆で、絶対来ない3頭を選ぶだけでいい。
そうか、天気予報のクイズと同じだ。
ちなみに天気予報のクイズって
Aは的中率60%、Bは的中率30%でも、Bの予報士が人気なぜでしょう?みたいなクイズ。
それはBの予報の反対の的中率が70%だから、、って理由のクイズさ。

東原亜希 がテレビで予想が38連敗とかあったじゃない。
あれでもうすでに答えは出てたわけですよ。
東原の予想の反対を買えばいい。
それを実践してたんだね、、

そうかそういうことか、、、
ということで、このASPをもうすぐ立ち上げようと思う。
計算部分のエンジンは出来たし、あとはWEBサービスにして立ち上げるだけだー。
エンジン部分だけだから、
もっと自動化するには、オッズ情報が自動で取り込みたいけどね、、、
どっか取り込めそうなサイトないかなー

http://ftvjapan.ddo.jp/~funa/upro/
つーことで、実験サイトを立ててみた。
例えば16頭で競争する競馬のレースで3頭の「絶対来ない馬」を3頭入力するなら
16、1、2、3とかだ。
3連単の買い目を表示してくれる。ちなみに1716通りかな?
まだ、ここまで、このあと、、
オッズによって購入分を超えるように何口、というのを計算しないといけないのだ。
1800通り買うとして100円だと18万円。18万円x1.5=27万円
つまり27万円分の馬券を買うのだが当選したときに27万円を下回ったら損するので
27万円をオッズで割るのであーる。
すると、「絶対来ない3頭」が3着以内に入らない限り、儲かるのだ。
計算ではそうなるけど、、、実践するのは大変そうだ。

トラックバック

にせトラックバックURL:
http://ftvjapan.ddo.jp/mt3/mt-trackback.cgi/234

このエントリー本当のトラバ
http://ftvjapan.ddo.jp/mt3/mt-tb3.cgi/1302

 ←tb3 を tb4 に変更してください

コメント

競馬は全く知らないので、よくわかりませんが、「天候や出走馬の血統、騎手などの各データ」っていうのを準備するのが大変そうですね(^^;)
大儲けして、高級リールを買いまくって下さい!!(^0^)♪

>omikeさま
私も競馬はやりません。
3競オート、パチンコも。
宝くじは年に1回くらい。
あれは消費だと思っているので
でもこれは
完全に投資で、儲かるアルゴリズムですね。
50円の投資で75円の回収ですから3回のうち1回外れても大丈夫ということで。
外れる確率も3/16 なら
完全に黒字になりますね。
個人ではなかなか難しい問題です。

ちょっと質問なんですが。

最後のところで1800通り×1.5倍
27万買うと書かれていますがなぜ1.5倍にするのでしょうか?
1800通りを分散投入なので18万じゃお金は足りないと思いますが3倍でも5倍でもいいと思いますが?

>KENさん
1.5倍の根拠は
50円で75円の支払い、のところです。
つまり1.5倍以上買うと
いくら買っても損します。
1800通りをオッズに応じて
買い増すが、合計で1.5倍以上になっては買えば買うほど損をする計算になります。
実は1口では1口のブレ幅が大き過ぎるため
正確な数字が出ません。
この1.5倍の計算でいくと本命を外さない限り必ず、27万円を超える馬券になります。
例えば1000万円馬券とかは0.25口しか必要ないが、1口買ってしまうため。

まだまだこの方式での検証は問題があります。
アルゴリズムは正しいと思いますが、運用が難しいですね。

どうもありがとうございます。
いろいろ計算してみたのですが
購入点数を減らすと同時に合成オッズが1を切らないようにしないとダメなようですね。
ありがとうございました。

>KENさん
そうですね。
秋華賞の予想でわかったんですが
本命が来るようなレースは意味がありませんね。
荒れるレースのみ適応可能です。
算出してみないとわかりませんが、3連単が万馬券以上になるような組み合わせじゃないと無理っぽいですね。

はじめまして。
私も競馬をやったことはないですが、このアルゴリズム検証には大変興味を持ちました。

質問させていただいてよいでしょうか?

検証プログラムで、
16頭立てで
3360 -> 1716
MIN is 252000 YEN
とありますが、257400(1716×1.5)でなく252000なのにはどういう意味があるでしょうか?

また、秋華賞の検証プログラムで
buy X ave is Y
とX,Yが計算されていますが、
Yの値は3rentan paysの単純平均計算値ではないようですが、どういう計算の平均値なのでしょうか?

ところで、アルゴリズムの検証とは逸れますが、UPROが実行した実際の馬券の買い方、投票の方法について言及した話が全く見られないのはなぜでしょうか?
18頭立てで2730通りの組み合わせを、口数を変えて買う方法はすでに可能になり一般的になっているということでしょうか。



>JUNさん
私も今は競馬はやってません。
昔はちょっとだけやってたんですが、、、
3競オート、宝くじ、パチンコは消費と思っているので。

>257400(1716×1.5)でなく252000なのは
たぶん誤差です。

ave の計算は買った馬券の平均オッズです。
なので、厳密にいうと間違いです。
複数口買った場合は下がってしまうので。
本当は複数口も1口として
計算しないといけませんね。
1万円のオッズを2口買ったら
2万円として計算しないといけません。
的中平均になってないな、、、
ミスですね。

買い方は一般的に知られている方法です。
しかし、荒れるレースにしか適応できない。
1口のブレが大きすぎる。最低30万円分も買わないといけない、と大変手間がかかるので一般人には難しいようです。
UPROは1口のブレを直すために
荒れるレースに絞った、10口、100口単位で買った(そのため1レース数千万〜数億円買った)
となったようです。

ありがとうございました。

実際には、荒れるレースかどうかは予想し難い場合も多いと思いますので、レース直近のオッズデータで、人気が比較的分散していて、極端に低いオッズが無く比較的に低いオッズが少ない(したがってBUYサインが出る)レースのみをを買うということかなと、素人ながら考えました。

>JUNさん
そうですね!
なんでも試行錯誤してみないとわかりませんね。
菊花賞はどうなんでしょうかね??

荒れるか荒れないかというのは実は予想としてはかなり難しいです。そのため現実的にはオッズの偏りを計算する方法を使っていたものと思います。いずれにしろ実力と人気のギャップをついていたことには間違いなく、結果的には勝ち馬予想と似たことをしていたと思われます。ただし手段はいろいろあったでしょうから個人の馬券買いよりは有利だったと思いますよ。

>KENさん
荒れるレースという特異レースのようなものがあればわかりやすかったのかも。
ちなみに菊花賞のページも開設してみましたが
かなり難しいですね!
結局、本命が来ないレースを当てるのことになるので!
ちなみに菊花賞は本命の1.2.3番人気を外せば
30万円分馬券買って、210万円をGETできたレースでした。

三連複で応用できないっすかね?

>小山内さん
3連複でもオッズの算出方法がわかれば可能だと思います。
ただ、「荒れるレース」にしか適応できないということは
高倍率を買う、ということですので3連複では低倍率になってしまうと思います。
つまり、買えるレースが少なくなるのと、当たった時の回収が小額になりますね。
不可能ではないですが、ハイリスク、ローリターンかなー

買い方はどういう計算にすればよいのでしょうか?

>>小山内さん
まず、3連複の全組み合わせから
絶対来ない3頭を省きます。
全組み合わせの75%の予算で買うようにオッズで割ります。
平均当選価格が購入馬券価格を上回ったらそのレースは買いです。

計算しているうちに締め切りそうですね(笑)

しつこくてすいません・・・・
枠連や馬単で応用不可ですかね?

>小山内さん
そうですね、このように簡単なプログラムを作る必要があります。

応用はなんでも可能ですが
低倍率になればなるほど、買えるレースが減ります。
#買った馬券の合成オッズが1倍を超えない

質問なのですが、
>ところが3頭外すと、50%の投資で75%になるのだ。
>50円の投資で75円の獲得。やればやるほど儲かる!!

ってところですが、掛け金に対して約25%控除されるから期待値が75%なのでは?
掛け金がいくらであろうと期待値はその掛け金の75%なのではないのですか?

>モンブランさん
これは全通り買うことを想定しています。
全通り買えば、(理論上は)75%のリターンでしかありません。
なので、全レースを全通り買えば次第に回収率75%に収束します。
が、荒れるレースに絞り、買い目を半分にすれば
次第に回収率150%に収束するはずです。
これは全レース的中した場合です。
そして買い目が半分になったことによる効果ですが、
レース的中率は18頭で(18-3)/18
15/18 = 0.83333です。
83。33%ですので平均回収率は125%(理論上)
に収束するはずです。
これがやればやるほど儲かるはず、の根拠になっています。

外した三頭のどれかが複勝に絡む確立は五割じゃないですか?的中率も五割では?

>小山内さん
うーんわかりません。
最近は急に興味がなくなり
実際に算出してないので
数式的には1 - (1/18 + 1/17 + 1/16) のはずなので
0.823120915で
ほぼ 0.83 付近のはずです。

うわあ・・
全通り買おうと1点だろうと25%持ってかれるだろうに・・
何で中学レベルの数学でつまずくかな・・

>あさん
あはは、全通りと全馬券は
違いますよ。

全馬券を買えばどんなに
がんばっても期待値は75円ですが。
実際は自分より他人が数万倍買うので
全馬券を買うことは出来ません。

宝くじを1ユニット全部買う
ということをしているわけではないですよ。
初歩中の初歩ですね。

その25円取られる理論が正しければ
宝くじ1000円買って
1等が当たっても750円しかもらえないことになりますし
6等が当たっても75円しかもらえません。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)