我们研究了853场世界杯比赛,发现了这几条稳赔不赚的竞猜攻略-程序员宅基地

640?wx_fmt=gif

本文转载自大数据(ID:hzdashuju)

导读:世界杯开赛以来,据数据叔不完全统计,身边有66.6%的小伙伴上了天台,其中22.2%的人买了阿根廷赢、22.2%的人买了德国赢,还有22.2%的人买了巴西赢。剩下那33.4%的人,总是在问数据叔,你一个搞大数据的,能不能用Python爬出点内幕?能不能用机器学习预测一下比赛结果?能不能用数学模型算出一个稳赚不赔的博彩攻略?

数据叔本来不太在乎身边小伙伴们的这些小数据,心想看球你就看球呗,猜比赛结果干什么?这不是相当于看电影总想着提前被剧透吗?但有一天数据叔看见一个近期App Store的热门榜单,拼多多、抖音在世界杯面前也不过就是浮云啊。

640?wx_fmt=jpeg

另有一个段子是,京东用一年时间精心布置的618也泡汤了,因为京东用户在618到来之前已经因为赌球而输光了买东西的钱。

那么我们到底能不能利用多年所学的专业知识,搞出一个稳赚不赔的边看球边发家致富的攻略呢?

01 你需要先搞懂什么是赔率和返奖率

先说一下,本文中提到的案例以我国官方发行的“竞彩足球”为主,这是你在中国境内参与世界杯竞猜的唯一合法方式。

但不管是国内的“竞彩足球”,还是国外的赌球网站,作为参与者的你与对方的对战都是不公平的,你处于绝对弱势的一方。这得先从赔率说起。以伊朗对西班牙的比赛为例,假设全国只有3个人参与对比赛结果的竞猜,这3个人分别猜伊朗胜、双方打平、西班牙胜,他们下注金额并不相同,分别是10元、20元和30元。如下表所示。

640?wx_fmt=png

比赛结束后,3人中将只有1人赢走全部奖金60元。3人猜对的回报率分别是600%、300%和200%,如果引入赔率的概念,也就是1赔6、1赔3和1赔2。由此也可以看出,赔率其实是由竞猜者的下注比例决定的。

以上过程中,3人下注的总金额60元全部用于返奖,我们再引入返奖率的概念,此时的返奖率为100%。通过简单的数学运算不难发现,赔率与返奖率有这样的关系:

1/主队获胜赔率+1/战平赔率+1/客队获胜赔率=1/返奖率

但现实中的返奖率不太可能是100%。国外的赌博网站需要运营经费,所以会抽成;而我国的足彩虽然是为人民服务的,但你总得拿出一部分钱为中国体育事业做贡献吧?

以伊朗对西班牙这场比赛的实际赔率来说,返奖率只有91.03%。

1/(1/16.5+1/6.45+1/1.06)=91.03%

此时我们可以得到一个重要信息:赌博网站的庄家或我国的足彩发行单位,都是躺赢的。

前些天高晓松在一段视频中说,赌博网站庄家和世界杯各参赛队都事先商量好结果,然后共同坑赌徒们的钱。但实际上,庄家根本不需要额外花费巨资去买通那些身价不菲的球员和教练,因为不管比赛踢成什么结果,他们都是稳赚。另外,以足球运动的复杂程度来说,尤其是世界杯这种高强度、快节奏的比赛,即便想按剧本踢,恐怕也未必能成功。专业演员拍戏还免不了要重来呢。

02 概率和频率,傻傻分不清楚?

上述关于赔率的介绍中,有一个bug,相信你已经发现了,那就是:彩票发行者得先发起竞猜,然后才有彩民投注。既然赔率是彩民对不同结果的下注比例决定的,在彩票发售之前,又怎样得知成千上万的彩民都会花多少钱买哪个队获胜?

这个问题有两种解决方式。一种是采用完全动态的赔率,直到有第一个吃螃蟹的人出现,赔率才“上线”,然后根据每个人的每次投注,随时调整赔率。我国足彩的“北京单场”玩法就接近于这种方式。

另一种方式是先用数学模型进行预测,发布一个初始赔率,然后这个赔率会根据彩民后续的投注而微调,这里的赔率依然动态的。我国“竞彩足球”的过关玩法就是采用这种方式。数学模型真正预测的是所有彩民的下注比例,而不是比赛结果。这也是经常被误解的一件事。无论是真球迷还是吃瓜群众,有时候会在预测一场比赛的结果时拿赌博公司的赔率说事,误以为这个赔率是掌握了某些“内幕”的赌博公司对比赛结果的预测。实际上赔率反映的是彩民的“民意”,也就是吃瓜群众用自己的money投票产生的结果。

640?wx_fmt=png

640?wx_fmt=png

▲部分世界杯比赛赔率及赔率变化,来源:竞彩网(中国体育彩票官方平台)

虽然博彩公司预测比赛结果,但每到世界杯这样的大赛来临时,总有人以各种方式预测比赛结果。拿本届世界杯来说,赶上了人工智能飞速发展的好时代,赛前一周里数据叔看到了各种一本正经的预测模型。不发一篇世界杯的预测论文,都不好意思说自己是搞人工智能的。

这些预测模型都有一个共同点,就是需要把各队的历史战绩(也包括关键球员和主教练的个人过往表现)作为数据喂给机器。然后,这些预测会给你一个概率作为结果:XX队的夺冠概率最高,为XX%。

这里就有一个频率和概率混淆的问题。比如说,我们假设梅西在之前的比赛中,最近10次踢点球全部命中,我们可以说这段时间内梅西踢进点球的频率是100%,但梅西第11次踢点球命中的概率肯定不是100%,否则就不用踢了,直接判进就可以了。

有些时候我们可以近似地用频率替代概率,比如我们都知道,民航客机的事故频率非常低,因此我们认为坐飞机出行发生事故的概率也非常低,从而得出坐飞机出行非常安全的结论。

但并不是任何情况下概率都可以用频率来近似。

那么梅西第11次踢点球命中的概率应该是多少?怎么算?数据叔认为,这个概率在他触球之前是不可计算的。触球之后的瞬间以现在的科技水平也很难计算,难度跟预报一次地震差不多。

同理,德国和阿根廷在历届世界杯总共交手7次,阿根廷只赢过1次,但如果本届两队再遇到,你敢说阿根廷获胜的概率只有1/7吗?相比于梅西踢点球,对于一场比赛的结果,历史战绩能提供给我们的参考价值就更少了。前者中梅西毕竟还是那个梅西,后者中出场球员、比赛时间、场地、天气、比赛用球全都变了。

640?wx_fmt=png

▲更多世界杯历史数据,请戳

这也有点像赌徒佯谬:如果上一期彩票的中奖号码是123456,下一期中奖号码是123456还是654321的概率仍然是相等的。因为这两个事件是相互独立的。当然,一场比赛跟过去的某一场比赛不能说是完全独立的,即使从教练到球员全都换了个遍,还有一些心理上的影响,比如“恐韩症”之类的宿命论就会让历史影响未来。但我们至少可以说,历史战绩与当前比赛的联系已极为有限。

03 依据统计数据和频率下注,我们能稳赢吗?

梅西罚丢点球?阿根廷平冰岛?德国输给墨西哥?巴西平瑞士?搞清楚频率和概率的区别之后,已经很佛系的数据叔会很平静地看待这些冷门。同时,数据叔也不再试图通过任何赛前分析去判断一场比赛的结果,更不会把这些分析和预测作为买彩票的依据。数据叔把任何一场比赛都近似地看作一次随机事件,而这些随机事件的结果满足某种频率分布。

具体来说,根据足球这项运动在当今规则下的一些特点,会有一些比分比较常见,而另一些就比较罕见。比如2比0、2比1之类的比分比较常见,而3比3、7比1之类的比分非常少见。看来这里似乎有规律可循!

数据叔决定从频率入手。不难发现,足球比赛分出胜负的情况要明显多于平局。在过去20届世界杯中,总共进行了853场比赛,其中只有189场平局(通过点球大战决出胜负的比赛算作平局,通过加时赛分出胜负的比赛不算平局),比例为22.16%。从这个数据来看,正常情况下每5场比赛就会有一场平局(小组赛没有加时赛,比例或许会更高一些),那么我们是否可以每隔5场比赛就买一场平局?当然不能这么操作,因为你并不知道这5场比赛里哪场是平局。但有另一种操作是可以考虑的:所有小组赛都买平局会怎样?

1. 如果每场小组赛都买平局

世界杯总共有48场小组赛,按22.16%的比例计算,预期平局会有10.64场,四舍五入,11场。我们假设为每场比赛下注10元,48场比赛总共需要480元,然后,我们相信这48场比赛中有11场平局,并需要这11场平局给我们480元以上的回报,平均下来每场需要43.64元的回报。每场投入10元,收回43.64元,这就需要每场比赛平局赔率超过1赔4.36,那么我们看看“竞彩足球”平局赔率都是多少呢?

640?wx_fmt=png

数据叔统计了6月20日至6月24日15场世界杯小组赛的平局赔率,平均值是1赔4.28,低于我们的预期。乐观者会认为,这也没差多少,值得尝试,万一运气好呢?但是,我们这里用的是平均赔率,而不是最低赔率,万一出现平局的场次都是赔率最低的几场就悲剧了。我们可以再算得具体一点:

15场比赛,按频率分布,应该有3.32场平局。

15*22.16%=3.32

我们再乐观一点,让3.32场平局只入不舍,变成4场。平局赔率最低的3场赔率分为1赔2.85、2.85、2.9和3.2,那么假设我们还是每场比赛下注10元,这4场我们总共可以收回118元

10*(2.85+2.85+2.9+3.2)=118

但15场比赛总共需要投入150元

所以单纯从计算结果来说,这不是一个稳赚不赔的策略,反而是一个稳赔不赚的策略。所谓的运气,不可能一直都伴随着你。

2. 如果每场比赛都买3比3

平局的赔率不够高,数据叔又想到了比分玩法。这届世界杯迄今为止出现的最稀奇的比分是3比3,罕见的高比分平局简直是足球领域的“黑天鹅”。于是数据叔统计了6月20日至6月24日15场世界杯小组赛3比3的比分赔率,平均值高达1赔113.33!而世界杯总共只有64场比赛,如果我们每场都对3比3这个比分下注10元,总共需要640元,只要其中一场比赛比分是3比3,我们回报的期望值就是1133元!

640?wx_fmt=png

即便不按平均值,而按最低值(1赔70)计算,我们也可以收回700元,依然是净赚60元。

发现这个结果之后,数据叔非常后悔错过了葡萄牙3比3战平西班牙的比赛,那场比赛3比3这个比分的赔率就是1赔70!难得4年一次的稳赚不赔的躺着赚钱的机会就这么被我错过了?

当然不是!不是说数据叔错过了机会,而是根本就没有这个机会。

本届世界杯开赛后不久我们就见识到了3比3这个比分,但不是说每届世界杯都会出现这个比分(另一方面,也不是说每届世界杯只会出现一次3比3)。

事实上,3比3这个比分真的非常罕见,在葡萄牙与西班牙这场比赛之前,上一场比分3比3的比赛要追溯到2002年,塞内加尔3比3战平乌拉圭。也就是说,算上本届世界杯已经完成小组赛第1轮的16场比赛,最近5届世界杯的272场比赛中只出现了2场3比3,频率为1/136。而我们的平均预期回报只有113.33倍,还是不够!如果你从2002年世界杯开始每场比赛都对3比3的比分下注,现在很可能还是赔了。(为什么说“可能”,因为113.33这个数字是基于最近15场比赛计算得出,而不是过去272场比赛的平均赔率,虽然必然有误差,但相信误差不会太大)

我们再把样本放大到历届世界杯所有比赛,本届世界杯之前的853场比赛中其实只有3场比赛在90分钟内(足彩只算90分钟内的结果)是3比3,一只手就数得过来:

1954:英格兰3-3比利时

1958:巴拉圭3-3南斯拉夫

2002:塞内加尔3-3乌拉圭

那么3比3的出现频率就是

4/853=0.003517

取个倒数,我们需要1赔284.33以上的赔率才能稳赚不赔!

至此,数据叔的心彻底凉凉了。根本就没有什么稳赚不赔的方法!

或许你会质疑,频率不等于概率,你上面不是说过历史战绩没有参考价值吗?

没错,之所以用频率代替概率,是因为我们现在根本没办法知道概率,甚至没办法知道概率怎么算。一场足球比赛简直就是一个混沌系统,我们不知道梅西在给球迷签名时被摸了一下是否会引发蝴蝶效应,导致他罚丢点球,再导致阿根廷无法战胜冰岛。这样的黑匣子不可能给你提供任何有关“稳赚不赔”的有价值的信息,于是我们避开概率,求助于频率,但频率只给了我们一大堆“稳赔不赚”的结局。

当然,还会有人相信运气。毕竟,没有任何依据可以表明,本届世界杯其余的比赛中不会再出现3比3甚至4比4这样的怪异比分。但数据叔不相信运气,只相信数据。

而且,数据叔认为,赌场总是不会让你一眼看穿对赌中的不公平,而是故意让你看到希望。你对世界杯会再出现3比3的自信,可能会让你暴富,但更可能会让你血本无归。

640?wx_fmt=jpeg

还有就是,数据叔一直盯着冷门,而没有去分析热门。实际上热门结果你口算就能算得差不多,比如西班牙战胜伊朗的赔率只有1赔1.06,你下注10块钱能收回10块6毛,就算你搞个2串1、3串1,让预期回报率达到1.5倍左右,这样也会要求你有非常高的准确率。或者更准确地说,这要求那些传统强队拿出非常稳定的表现。而事实是,第1轮小组赛阿根廷、德国和巴西全都没赢。

所以,到底有没有“稳赚不赔”的赌球策略呢?数据叔认为没有,把钱存银行里还是比拿钱买彩票更踏实。事实上,从老虎机到竞猜体育比赛,之所以人类历史上一直有人愿意投资博彩业,就是因为赌场和庄家总能通过一些数学运算让自己“稳赚不赔”。

等等,这篇图文的标题不是说要泄露“稳赚不赔”的秘密吗?说到最后什么都没有,这不是骗人吗?

是吗?你再仔细看看标题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38753213/article/details/100924893

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签