來舉一個現實世界的案例,洛杉磯天使隊(Los Angeles Angels)的Mike Trout在最新球季的上壘率(On Base Percentage, OBP)為.461,位居大聯盟第一,緊追在後的是波士頓紅襪的Mookie Betts,Mike Trout的.461上壘率是什麼意思呢?根據今年球季過去的數據來看,當Mike Trout上場擔任打者時,平均有46.1%的機率會上壘,可能是安打或四壞球保送,有了過去的資料我們就可以來模擬Mike Trout在面對平均水準的大聯盟投手時,每次的打擊狀態。

import random

def Mike_Trout(OBP):
    x = random.randint(1,1001)
    if x < OBP * 1000:
        print("On Base")
    else:
        print("Out")

for i in range(5):
    Mike_Trout(0.461)

假設一場比賽Mike Trout可以有5個打席,模擬結果如下.:

Out
On Base
Out
On Base
Out
Out
Out
Out
Out
On Base
On Base
Out
Out
Out
On Base

如果我們模擬1000次Mike Trout的打席,上壘的次數會相當靠近461次,是不是很簡單呢?

當然不可能那麼簡單啦!利用過去的資訊去推估Mike Trout相當合理,但是球員的人來瘋、低潮期或成長大爆發,是無法反映在.461這個數字上的,面對洛杉磯道奇的Clayton Kershaw的上壘率只剩下.313,就應該以.313去作為OBP的估計參數。

以上利用棒球的例子來介紹簡單的蒙地卡羅模擬法,下回將會介紹蒙地卡羅在財金領域的應用。

 

你可能感興趣的文章
Python棒球應用:魔球(Moneyball)

魔球是我最愛的電影之一,他是在敘述奧克蘭運動家隊利用資料與統計的方式,以相當少的 Read more

【程式交易】為什麼你應該用Python做程式交易?

大家都在用MultiCharts,為什麼要選擇用Python呢?Python是一 Read more

【網路爬蟲】臺灣證券交易所歷史資料教學(2)

上一篇【網路爬蟲】臺灣證券交易所歷史資料教學(1) 提到如何從證交所網站剖析連接 Read more

【網路爬蟲】臺灣證券交易所歷史資料教學(1)

前面有提到網路爬蟲的優點與缺點,優點就是免錢,缺點就是資料格式可能會改變,需要花 Read more

受保護的內容: Python X 選擇權|利用Black-Scholes來模擬選擇權價格進行回測

不論在使用台灣或美國的選擇權歷史資料時,都會碰到價格不連續的感覺,導致看起來回測 Read more

受保護的內容: Python X 選擇權|選擇權回測

從期交所抓取資料 import pandas as pd import nump Read more

發表迴響