只要有重複隨機樣本,蒙地卡羅法就能計算出數據,而其他數學方法實在過於複雜。由於使用蒙地卡羅法並不需要太多數學知識-因此對於不熟悉傳統統計檢定方法的投注者來說尤其實用。
Dominic Cortis 曾以預測一級方程式賽車冠軍為例,探討過蒙地卡羅法可用於運動賽果預測。我在本文中將使用它評估機率對於投注表現有何預期影響。
分析投注表現
我在本文中使用用於探討群眾智慧法的投注紀錄,包含 1,521 筆投注,以持平本金投注的獲利為 0.76%。不過我怎麼知道這個結果是符合預期、好運或壞運的表現?
第一步就是和期望值比較。這個方法的本質是評估每一筆投注的公平賠率和投注後的獲利期望值。例如,若公平賠率為 2.00,而公布的賠率為 2.10,獲利期望值就是 5% 或 1.05(算式為 2.10/2.00)。
公平賠率 2.00 代表機率為 50%。若在 100 筆這樣的投注中贏得 50 筆,每贏一筆可獲利 1.10 歐元,而另外輸掉的 50 筆,每輸一筆虧損 -1 歐元,則淨利為 5 歐元(投注 100 歐元共獲利 5%)。同樣地,若公布的賠率為 3.50,而公平賠率為 3.00,則期望值為 16.67%。下表為我的投注系統找出的選擇。
比賽
|
投注賠率
|
最佳市場賠率
|
估計公平賠率*
|
期望值
|
海倫芬對阿賈克斯
|
阿賈克斯
|
1.75
|
1.61
|
8.58%
|
赫拉克勒斯對飛燕諾
|
飛燕諾
|
2.0
|
1.95
|
2.52%
|
尤文圖斯對拉齊奧
|
拉齊奧
|
7.5
|
7.29
|
2.86%
|
薩索羅對桑普多利亞
|
桑普多利亞
|
4.3
|
4.16
|
3.32%
|
烏德勒支對迪加史卓普
|
迪加史卓普
|
7.0
|
6.48
|
7.99%
|
西漢姆對沃特福德
|
西漢姆
|
1.65
|
1.58
|
4.77%
|
*扣掉利潤的 Pinnacle(畢諾克)賠率
分析完整的投注紀錄時,只要計算平均值即可輕易判斷整體期望值和預期獲利。在我 1,521 筆投注的紀錄中,預期獲利為 4.04%,這表示若我的投注系統表現完全符合預期,投注 1,521 歐元的預期獲利為 61.45 歐元。
事實上,這筆紀錄的獲利為 11.61 歐元。顯然它的表現不符預期,可以說是壞氣不佳(當然是假設我的預測模型正確無誤)。問題是運氣有多差。這就是蒙地卡羅法的用處。
在 Excel 中執行蒙地卡羅模擬
在 Excel 等軟體套件中執行蒙地卡羅模擬並不複雜:
- 計算每筆投注的預期獲勝機率,以 0 到 1 的小數表示(計算公平賠率的倒數即可)。
- 針對每筆投注,使用 Excel 的 RAND 函數算出一個 0 到 1 的隨機數字。模擬時,只要使用 Excel 查看每筆投注的隨機數字是否低於預期獲勝機率,即可判斷每筆注碼的輸贏。若低於預期獲勝機率,持平本金的獲利就等於賠率 – 1;若高於預期獲勝機率,持平本金的虧損就等於 -1。
- 然後將所有投注的各別獲利和虧損加總,即可算出模擬的整體獲利。以持平本金投注時,只要將總獲利除以投注次數即可。
- 使用 Excel 的 Data Table 函數刷新隨機數字,即可重複進行特定次數的模擬。
我的投注模擬前兩步結果如下。
比賽
|
投注賠率
|
估計公平賠率
|
獲勝機率
|
隨機數字
|
獲利
|
海倫芬對阿賈克斯
|
阿賈克斯
|
1.61
|
0.621
|
0.462
|
0.61 歐元
|
赫拉克勒斯對飛燕諾
|
飛燕諾
|
1.95
|
0.513
|
0.15
|
0.95 歐元
|
尤文圖斯對拉齊奧
|
拉齊奧
|
7.29
|
0.137
|
0.8
|
-1 歐元
|
薩索羅對桑普多利亞
|
桑普多利亞
|
4.16
|
0.24
|
0.702
|
-1 歐元
|
烏德勒支對迪加史卓普
|
迪加史卓普
|
6.48
|
0.154
|
0.525
|
-1 歐元
|
西漢姆對沃特福德
|
西漢姆
|
1.58
|
0.633
|
0.533
|
0.58 歐元
|
按下 F9 鍵就會重新計算所有隨機數字,得到全新的模擬結果和樣本的理論獲利。每執行一次新的模擬後,我們可以手動記錄獲利。不過,若想重複模擬數百次或數千次,就太花費時間心力了。
幸好 Excel 提供簡單又快速的方法,能讓我們輕易重複多次模擬,只要使用它的 Data Table 函數即可。它位於「資料」>「假設分析」>「Data Table」:
- 依照上述第三步,在任何 Excel 空格中計算樣本的獲利。
- 接下來選取幾個你想填入新模擬獲利數值的空格,以及左側的一個直欄。

- 然後使用 Excel 的 Data Table。你會看到下面的方塊。在 Column 輸入空格中,輸入單一空格的索引即可。只要不是你在前一步中選取的空格,任何空格都行。

- 按下確定,看 Excel 神奇的計算結果。第一次模擬結果下方你所選取的空格,會填滿新的獲利數值,每一格就代表一次模擬的獲利。在此例中我進行了六次模擬,結果如下。

評估運氣對投注紀錄的影響
Gerard Verschuuren 博士製作了非常有幫助的 YouTube 教學,其中詳述了這些步驟。 要模擬幾次都行,不過次數越多,Excel 需要的計算時間就越長。我為本文進行的模擬次數為 100,000 次(約需計算五分鐘)。
本教學的另一項重點,就是評估壞運對於大筆正期望值投注紀錄的影響。
平均獲利為 4.05%,幾乎和我的投注紀錄期望值完全相同。然而其中卻有很大的變動,表現最差為 -12.23%,最佳為 23.26%。
雖然我的投注紀錄擁有超過 4% 的理論獲利期望值,不過確實有將近 17% 的模擬結果為虧損,而 78% 的模擬結果超過實際獲利 0.76%。
事實上,我們可以使用 Excel 和這些資料計算達成任何特定獲利門檻的機率,完全不需要使用統計檢定。蒙地卡羅法已經全幫我們搞定了。以下是 100,000 次模擬獲利的完整分布圖(X 軸格距為 0.1%)。若讀者熟悉常態分布,就知道結果幾乎是完美的常態分布。

當然,若我的這筆紀錄實際獲利為 -5% 或更差(預期發生率不到 1%),我可能會開始懷疑自己的投注系統是不是有問題。蒙地卡羅法確實是評估這類主觀看法的實用工具。
有缺點的投注系統和壞運
本教學的另一項重點,就是評估壞運對於大筆正期望值投注紀錄的影響。我的紀錄有超過 1,500 筆投注,獲利期望值超過 4%。雖然獲利期望值很高,蒙地卡羅模擬顯示仍然有超過五分之一的機率會虧損。
若你的投注策略有類似的獲利期望值,而投注 1,500 筆以後仍一無所獲,你會怎麼想?相信自己的方法?把表現不佳歸咎於壞運?還是對整套方法失去信心?
解決此困境的一種方法是增加樣本數。同樣地,我們可以使用蒙地卡羅法檢視投注次數增加時結果有何變化。在這個假想實驗中,我把原本的 1,521 筆投注增加到十倍(只是把原始投注賠率樣本再重複九次)。下圖為再模擬 100,000 次的獲利:
- 平均獲利 = 4.04%
- 最低獲利 = -1.21%
- 最高獲利 = 10.17%
- 獲利 < 0% 機率 = 0.1%
- 獲利 > 0.76% 機率 = 99.3%
100,000 模擬的新分布圖如下,和原始 1,521 筆投注樣本的分布圖重疊。

兩組樣本最明顯的差異在於分散的程度(可能獲利的範圍),大投注樣本的範圍窄得多。這個結果完全符合預期,只是大數法則的影響。
評估蒙地卡羅模擬結果
投注紀錄筆數越多,實際表現就越可能接近期望值,當然,前提是我的預測方法正確無誤。對我來說,若投注超過 15,000 次獲利仍然低於 0.76%,我就會認真開始思考預測方法是不是有問題。
蒙地卡羅法終究不能確實判斷投注系統是否擁有超越運氣的預測能力。不過它確實是一個實用工具,能提供有助於投注決策的資訊,也就是在好運和壞運的影響範圍內,預期會出現的合理可能結果範圍。