说说世界杯足彩背后的数学

世界杯才一个星期,就出了不少冷门,沙特赢阿根廷,日本赢德国,韩国平乌拉圭,身边买冷门球队的朋友大呼过瘾、刺激。这也印证了那句话:足球反着买,别墅靠大海。

足彩的核心是赔率,玩足彩的朋友都很熟悉。赔率,就是如果你猜对了,体彩公司会返还多少奖金给你。举个例子,下图是11月26日英格兰vs美国的赔率

这场比赛有3个赔率,分别对应比赛的3个结果:

  • 英格兰胜
  • 英格兰平美国
  • 美国胜

你投注10元给英格兰胜,如果英格兰真的赢了,你得到的奖金就是 10 * 1.35 = 13.5 元,如果英格兰平了美国或者美国赢了,你就不会获得奖金,并且损失10元的本金。

那么有没有想过,这个赔率是怎么来的?

体彩公司返还的奖金来自广大投注者的本金,我们假设广大投注者的投注的所有本金总额是 T,这个 T 其实是由3部分组成的,这3个部分分别对应比赛的3个结果。

以上面英格兰vs美国的比赛为例,一部分投注者投给了英格兰胜,假设这部分资金总额是A,一部分投注者投给了英格兰平美国,假设这部分是B,还有一部分投注者投给了美国胜,这部分假设是C,那么 T = A + B + C。

体彩公司在扣除一部分作为自己的运营资金和利润后,把剩余的钱作为奖金返还给猜对结果的中奖者。假设体彩公司扣除的部分是 m, 那么返还的奖金总额就是 T-m。

好了,有了投注总金额,也有了每种结果的投注金额,那我们就可以计算赔率了。

\(Odds(英格兰胜) = \frac{T-m}{A}\)

\(Odds(平局) = \frac{T-m}{B}\)

\(Odds(美国胜) = \frac{T-m}{C}\)

这就是我们看到的提供公司给出的赔率。

事实上,通过赔率,我们可以计算出体彩公司返还了多少奖金给大家,自己留了多少钱。从上面的分析,不难得知,\(\frac{m}{T}\) 就是体彩公司留给自己的钱的比例,\(1-\frac{m}{T}\) 就是返还的奖金比例。

由上面的赔率计算公式,我们不难知道

\(A = \frac{T-m}{Odds(英格兰胜)}\)

\(B = \frac{T-m}{Odds(平局)}\)

\(C = \frac{T-m}{Odds(美国胜)}\)

所以

\(T = A + B + C = \frac{T - m}{Odds(英格兰胜)} + \frac{T - m}{Odds(平局)} + \frac{T - m}{Odds(美国胜)}\)

\( = (\frac{1}{Odds(英格兰胜)} + \frac{1}{Odds(平局)} + \frac{1}{Odds(美国胜)}) * (T - m)\)

其实就是

\(T = (\frac{1}{Odds(英格兰胜)} + \frac{1}{Odds(平局)} + \frac{1}{Odds(美国胜)}) * (T - m)\)

做一下变换,可以得到

\(\frac{1}{\frac{1}{Odds(英格兰胜)}+\frac{1}{Odds(平局)}+\frac{1}{Odds(美国胜)}}=\frac{T-m}{T} = 1-\frac{m}{T}\)

所以现在看出来了,返还的奖金比率就是1除以赔率的倒数和。

为方便起见,我们用Python做一个简单的计算器,实现一下上面的公式,代码如下

In [1]: def get_return_rates(odds_a, odds_b, odds_c):
   ...:     return 1/(1/odds_a+1/odds_b+1/odds_c)

接下来,我们来算一下中国体彩网的返奖率

我们取11月25日晚的几场比赛(数据来源 中国体彩网

调用函数计算

In [2]: get_return_rates(5,3.4,1.55)
Out[2]: 0.8777481678880747

In [3]: get_return_rates(1.55,3.45,4.9)
Out[3]: 0.8778875952759863

In [4]: get_return_rates(2.22,3.38,2.55)
Out[4]: 0.878375475128078

In [5]: get_return_rates(1.35,4.2,6.25)
Out[5]: 0.878089574428545

可以看到体彩网的返奖率是87%,也就是13%的资金作为自己的运营、开销和利润,剩余的87%全部返还彩民。

感兴趣的朋友可以比较一下中国体彩网和国外菠菜公司的返奖率,会有新的发现。