RigelのR言語メモであーる(R言語だけとは言っていない)

RigelのR言語メモであーる(主にpython)

興味あることや趣味、やったことについて書くよ

ブックメーカーのオッズに関する考察

修論無事終えて最近ブックメーカーにはまってます。
知らない方はググってください。
ブックメーカーのオッズに関して考えてみたことのメモです。


以下では、ブックメーカー側の視点とユーザー側の視点が何度か行き来します。
初めはブックメーカー側の視点からです。
AとBの2チーム(2人でも良い)が戦う競技について考えます。
引き分けはないものとしておきます。
あるゲームにおいて、Aチームの勝率を{ \displaystyle p_{win}}とすると、Bチームの勝率は{ \displaystyle 1-p_{win}}となります。
ブックメーカーは真の勝率に限りなく近い値を予測できるとします。
{ \displaystyle p_{win}}の値を知っているとしても良いです。
このとき、ブックメーカーはオッズをどうするのが最適でしょうか。
Aチームが勝つオッズは{ \displaystyle ODDS_A=1/p_{win}}、Bチームが勝つオッズは{ \displaystyle ODDS_B=1/(1-p_{win})}が最適ですね。
もちろん、実際のブックメーカーはどっちのオッズも多少下げるはずですがここでは無視します。

このオッズでユーザー視点に移ります。
ユーザーが期待値的に勝つには、ブックメーカーの予想を上回るしかありません。
が、ブックメーカーは真の確率にかなり近い予測ができるので実質無理です。
ユーザー全体がAチームのベット率を{ \displaystyle p_{bet}}、Bチームにかける割合を{ \displaystyle 1-p_{bet}}とします。
つまり、ユーザー全体の掛け金を1とすると、Aチームに{ \displaystyle p_{bet}}賭けられている状態ですね。
ここで{ \displaystyle p_{win} \neq p_{bet}}とします。当然ぴったり一致はありえないんですが、ある程度差があるとします(てきとう)。
ユーザー達はいつも正確な賭けをするとはいえないからです。
例えば、Aチームは実力は弱いけど人気があるとかの理由です。

ブックメーカー側に戻ります。
ブックメーカーが提示するオッズは{ \displaystyle ODDS_A=1/p_{win}}{ \displaystyle ODDS_B=1/(1-p_{win})}で完璧。
でもないかもしれない、というのが最近考えていることです。
仮にブックメーカー{ \displaystyle p_{bet}}を推定できていたらどうでしょう。
そうなると、{ \displaystyle 1/ODDS_A}{ \displaystyle p_{win}}{ \displaystyle p_{bet}}の間に設定するのが直感的に良いですね。

例えば、{ \displaystyle p_{win}=0.5}{ \displaystyle p_{bet}=0.9}のとき。
つまり実力は完全一緒だけど、Aチームがめっちゃ賭けられるとき。
オッズを初めの{ \displaystyle ODDS_A=1/p_{win}}に従って決定すると、{ \displaystyle ODDS_A=ODDS_B=2}となります。
このときブックメーカー側の利益の期待値は、
{ \displaystyle
1-p_{win}*p_{bet}*ODDS_A - (1-p_{win})*(1-p_{bet})*ODDS_B\\
=1-0.5*0.9*2-0.5*0.1*2=0
}
となり、期待値的に増えも減りもしないです。
それぞれ勝率0.5に対してオッズ2を設定しているので当然ですね。
じゃあ次に、{ \displaystyle ODDS_A=1/0.8=1.25}{ \displaystyle ODDS_B=1/0.2=5}とするとどうでしょう。
ブックメーカー側の利益の期待値は、
{ \displaystyle
1-p_{win}*p_{bet}*ODDS_A - (1-p_{win})*(1-p_{bet})*ODDS_B\\
=1-0.5*0.9*1.25-0.5*0.1*5=0.1875
}
となります。
つまり、ユーザー全体の賭け金額を1とすると、0.1875稼ぐことができます。
ここでポイントは、オッズをどっちも1.1とするようなむちゃくちゃなオッズは取ってないということです。
なんでこんなことになったかは、真の勝率とユーザーのベット率に乖離があったからですね。
ブックメーカー側は勝率と、ユーザー全体のベット率が完璧に推定できている場合、
{ \displaystyle ODDS_A=1/p_{win}}とするよりも良いオッズの提示ができると考えられます。

ユーザー視点に移ります。
ブックメーカー側が今のようなオッズを提示していると仮定した場合、
あるユーザーはAチームの勝率{ \displaystyle p_{win}}をそこそこの精度で推定することができればプラスになります。
ここでのユーザーはある個人であり、ユーザー全体はもっと多いとしてます。
なので、一人のユーザーがちょっと賭け方変えたぐらいでは{ \displaystyle p_{bet}}は変化しないとしてます。
どの程度の精度で推定することができたら良いかというと、{ \displaystyle 1/ODDS_A}よりも精度が高ければ良いですね。

まとめ

仮にブックメーカーが利益を追求して、オッズを{ \displaystyle 1/p_{win}}から意図的にずらしていた場合、ユーザーは勝つチャンスがあるかもしれないです。
オッズをずらす理由は利益が上がる可能性があるからです。
ブックメーカーの一つであるPinnacleSportsのオッズはかなり精確なことで有名ですが、他のとこはどうなんでしょう。
他のとこが上の手法でオッズを提示していた場合、PinnacleSportsのオッズから勝率を計算して、期待値計算とかできるかもですね。
(アービトラージに当てはまりそうではありますが)。
ブックメーカー{ \displaystyle p_{bet}}をどうやって推定しているかももうちょっと考えられそうです。
例えば、初めは{ \displaystyle 1/p_{win}}でオッズを提示して、ある程度ユーザーが賭けた段階で、その金額から{ \displaystyle p_{bet}}は推定することはできそうですね。
日本の視聴率調査はたった数千世帯から推定するらしいですし。
あ、この記事ではオッズは{ \displaystyle p_{bet}}に影響しないものとして書きましたが、影響する場合でもその影響の仕方がわかっていれば最適なオッズは計算できそうですね。
話は戻って、ユーザーの賭け具合を監視して、{ \displaystyle p_{bet}}を推定する場合、
ユーザー側からすると試合前のオッズの変化を見ると逆をつけるかもしれないですね。
初めは{ \displaystyle ODDS_A=2}だったのが、{ \displaystyle ODDS_A=3}になった場合美味しいかもしれないです。
ただ、PinnacleSportsはユーザーの賭け具合から、{ \displaystyle p_{win}}を修正しているとか見たことあるので、そういった場合はまずいですが。。

参考図書

完全無欠の賭け―科学がギャンブルを征服する

完全無欠の賭け―科学がギャンブルを征服する