2015年9月20日 星期日

賭波的最優化投注系統

接上文,嘗試把Kelly criterion應用到simultaneous events,即多個獨立賽局同時進行的情況。這種情形較多出現在球賽,一個聯賽20支球隊,一起踢一輪就有10場球賽同時進行。

賭波的人常常有這樣的疑問:明明自已的命中率很高,怎麼賭來賭去資本就是沒增長?這就得從注碼配置方面去檢討了,懂得把注碼作最優化分配的人真的不多。

還是從簡單的例子說起,假設有同時進行的兩場球賽AB入球大小的期望賠率(expected odds)和真實賠率(real odds)分別是:

  期望賠率   真實賠率

  大  小   大  小

A 2.04 1.961  2.55 1.45

B 2.20 1.833  1.72 2.00

根據expected odds < real odds的下注原則,A應該押注大,B應該押注小,但押注多少才合理呢?很多人會先把本金平分兩份,再按Kelly criterion的原始公式f = (p*o-1)/(o-1)來分別計算,得出:

A 0.5*(2.55/2.04-1)/(2.55-1) = 8%

B 0.5*(2/1.83-1)/(2-1) = 4.6%

於是投入本金的12.6%,其中8%A4.6%B。如果中A不中B,將獲利7.8%;如果不中AB,將虧損3.4%;如果AB全中,將獲利17%

表面看起來沒錯,不過這是個笨方法。很明顯的一個漏洞:既然存在expected odds(A) < real odds(A)expected odds(B) < real odds(B),那理所當然的結果是,expected odds(A*B) < real odds(A*B),沒有理由不把注碼押一個二串一,即A*B

所以,整個賭局應該把中A不中B、不中ABA*B全中的機會率作整體的考慮,新的p就是:1/2.04*(1-1/1.833)+1/1.833*(1-1/2.04)+1/2.04*1/1.833 = 0.7683;把real odds代入同樣的算式再取倒數,就是新的o = 1.4366倍。這個賭局應投入的本金比例就是(0.7683*1.4366-1)/(1.4366-1)=23.8%


23.8%本金按比例投在ABA*B,如果中A不中B,將獲利13.7%;如果不中AB,將虧損8.6%;如果AB全中,利潤將是驚人的36.5%。比平分本金下注的方法回報率要高一倍有多。自稱命中高的,應能感受到這個投注系統的強大威力。

使用這個投注系統的一大難處是,每增加一場球賽,需要計算的注數就呈級數增加,3場球賽要算7注;4場球賽要算15注;5場球賽要算31注;6場球賽要算63……

當然,用VBA來處理的話這也不算什麼高難度。



(此文從“舊居”搬來,原文發表於2014年1月13日)

=================================================

補充於2015920日:

這是一個中看不中用的投注系統。目前看來最大的作用似乎只在於練習概率計算和programming技巧,以及加深對Kelly criterion的印象。在實戰之中,這個系統不太好用。

並不是說計算的方法不對,有些事件就是明明做對了也不見得有效果,這是人生的無奈。這個投注系統使用起來主要有兩大難度:

一是計算量巨大,每增加一個選項(例如變成主客和)或每增加一場球賽,需要計算的注數就呈幾何級數增長,就算program搞得掂,電腦的CPU都頂唔順。

二是需要下注的注數太多,幾場波就要買幾十注,很多還是次序很容易搞亂的三串一或四串一過關,看得眼花繚亂,撳掣撳到手軟都完成不了一張投注單。而且,其間馬會的賠率一變,又要推倒重做,而偏偏這又是很常見的事。

不過,也只有把這個系統完成了,才算得上對謀與斷之論(見“無謀小敗 無斷大敗”一文)有一個完整的交代。現在,股、馬、波,都可以把最容易鑄成大錯的“斷”的問題扔給電腦了,甚至連“謀”的部份也可以讓電腦來代勞。

不是說電腦比人腦聰明,但說到大數據的記存、計算和處理,人腦無論如何是比不上電腦的。比如,一個馬迷刨馬經,最多能計算多少個致勝因素?在電腦啟動MLR模型,計算幾十個、上百個因素,都是輕而易舉。

至此,真的可以瀟灑的說一句:炒股唔睇市,賭馬唔睇馬,賭波唔睇波,該怎麼活就怎麼活。

87 則留言:

  1. 能附上excel作參考嗎

    回覆刪除
    回覆
    1. 有點不明白計算23.8%後的比例分配

      刪除
    2. 網上有現成的工具,可以直接使用,比能看不能用的excel更實際。
      http://www.sportsbookreview.com/betting-tools/kelly-calculator/

      刪除
    3. 比例分配部份,跟計算dutching的比例分配相類似。

      刪除
    4. 池兄,請教一下,位置或位置q這種一場多於一個的賽果,應屬於exclusive outcome 還是 independent events呢?因自覺以上兩者都好像不完全乎合.....

      另外,這個網上的Kelly calculator:http://www.sportsbookreview.com/betting-tools/kelly-calculator/
      請問知不知道「consecutive series」及「Kelly multiplier」,在Kelly criterion 計算上是有什麼用?

      謝謝賜教!

      刪除
    5. 位置問題。確實令人困擾。池某平時不賭這個彩池,故未有深究。池某試用exclusive outcome而將column sum設定為3,大致可行。但網上的kelly-calculator不能這樣設,要自己寫一個先得。

      kelly-calculator問題。網站裡對所有input都有解釋:

      The consecutive series, which is the total number of times that the bet is to be carried out in sequence.

      The Kelly multiplier means that 1 is equal to a full Kelly, 0.5 is equal to a half Kelly and 0 means that there is total risk aversion.

      刪除
    6. 不用客氣。交流討論談不上教。

      刪除
    7. 請問如果要自己計算個比例分配,個公式係點,定係何以參考邊的網站。謝謝

      刪除
    8. 基本公式都係呢條:f = (p*o-1)/(o-1)
      只係每加一場要用多個loop計埋過關,好似冇網站有呢方面的討論,實際操作上也不是很實用。

      刪除
    9. 謝謝,但是最後結果 23.8% 如何分配,是如何計算出來?

      刪除
    10. (2.55/2.04-1)/(2.55-1)=0.1613
      (2/1.83-1)/(2-1)=0.0929
      分配於A: 0.1613*(1-0.0929)=0.146
      分配於B: 0.0929*(1-0.1613)=0.078
      分配於A*B: 0.1613*0.0929=0.015

      刪除
  2. 你好,我想請問大小期望值係點計出黎? 用兩隊得失球計?

    回覆刪除
    回覆
    1. 這篇文章有詳細的介紹
      http://poolshunter.blogspot.hk/2015/09/blog-post_13.html

      刪除
    2. 感謝!將0,1,2球既期望值加埋,再用Poisson distribution就等於2.5球細既賠率對嗎?

      刪除
    3. 池某的做法是把poisson(0, x, 0),poisson(1, x, 0),poisson(2, x, 0)加起來,就是2.5球細的期望值,再取倒數,就是2.5球細的期望賠率。

      刪除
  3. 我想問上文好似只係提到中A不中B 中B不中A
    但如果係咁會唔會有A同B都出現損失情況

    回覆刪除
    回覆
    1. 這是個好問題。A同B都出現損失的情況是存在的,需要探討的是何為「最優」?

      刪除
  4. 我想問2.5入球大應該點計期望值? 3,4,5加埋取倒數嗎?

    回覆刪除
    回覆
    1. 是的,把>=3的機會率加埋取倒數。

      刪除
  5. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 池師兄 請問一下A 0.5*(2.55/2.04-1)/(2.55-1) = 8%

      B 0.5*(2/1.83-1)1(2-1) = 4.6%
      8% 同4.6% 個%點計出黎??

      刪除
    2. 這裡有一點需要注意,預期事件發生的機會率=1/expected odd;
      也就是說,Kelly criterion公式f = (p*o-1)/(o-1),裡面的p=1/expected odd;
      剩下的只是加減乘除的計算。

      刪除
    3. A 0.5*(2.55/2.04-1)/(2.55-1) = 8%

      B 0.5*(2/1.83-1)/(2-1) = 4.6%

      我計黎計去都計唔到8% 同4.6%
      A計出黎結果係0.791 , B計出黎係1.200

      點解會咁?

      刪除
    4. =0.5*(2.55/2.04-1)/(2.55-1)
      就咁paste落excel就有答案。

      刪除
    5. 明白了!我條式變左(2.55/(2.04-1))!
      所以計極都錯
      我感謝池兄

      刪除
  6. 池兄,
    唔明白呢篇的P 點解會直接用EO 的倒數,EG 1/2.04, 如是者GAME A 大小兩者的PROB 加起來會大於1 。
    另一點唔明是1*2 的150 (或~1.5%)點係http://www.sportsbookreview.com/betting-tools/kelly-calculator/
    中INPUT 得來。
    A(BIG),B(SMALL)indep 求到圖中兩數
    1 14.6510%
    2 7.6332%
    是否分開兩PART 而非一次計算??
    THANKS
    TK

    回覆刪除
    回覆
    1. 1.EO本來就是p的倒數呀,加起來大於1只是四捨五入問題。
      2.1*2部分,在kelly-calculator中要揀「#Independent Events」。
      3.一次過計算即可。Input時只需要輸入要下注的部分,即A只要BIG、B只要SMALL。

      刪除
    2. 1.可能我搞亂左呢度的EO 同GUN PIT 圖例中的EO/ ADJ, 後者的ADJ 以SUM(EO 的倒數)再*EO,係為左“還原”其他莊的表面ODDS 為EO?請問CHING我有無理解錯?會唔會係呢個例中的ADJ 欄才是(放係KELLY calculator 用的)真。EO ?
      2/3.還原呢篇文的例子時我係先
      #independent events,[1]
      Decimal odds, [1.4366],win prob,[76.83]%
      出1 23.7608%

      #independent events,[2]
      Decimal odds, [2.55],win prob,[49.0127]%
      Decimal odds, [2],win prob,[54.5499]%
      1 14.6510%
      2 7.6332%
      於是150 無由第一次的f 減番第二次計的f(a,big)同f(b,small)
      所以話分左2PART。咁做係咪傻左?
      4.去到依度我又多左個問題:大GAME[p=0.7683,o=1.4366,f=0.2376]的exp growth=1.31%
      細GAME A[p=0.49019,o=2.55,f=0.16]的exp growth=1.98%
      點解最佳化策略唔係MAX 個exp Growth rate 只玩game A?
      THANKS~
      TK

      刪除
    3. 1.若用網上的Kelly Calculator,Prob應該填EO的倒數。池某文章所顯示的是自己寫的Kelly Calculator,都是直接使用EO,不會化作Prob。
      2. 文章中的例子與GUN PIT那個不一樣,一場馬是mutually exclusive outcomes of a single event,要將所有outcomes的機率之和調至1,所以才有ADJ這項。這個例子是simultaneous events,不需要考慮ADJ問題。
      3.池某試了一下網上的Kelly Calculator,似乎最近曾改過,可能有bug,沒顯示出1*2這個注項。要等其修正才可能出來正確的結果。

      刪除
    4. http://www.sportsbookreview.com/betting-tools/kelly-calculator/
      這個的話要在Stakes for parlays of size中按一下ALL才能正確顯示呢

      刪除
    5. Oh,yes,原來如此,問題解決。

      刪除
  7. 反覆細想 終於想到一個問題
    對於多於2個選項的過關如何計算呢
    要用solver/calculus?

    回覆刪除
    回覆
    1. 要將呢個系統同賭馬那個溝埋一齊,理論上可以解決,不過做起黎複雜到嘔,完全冇動力做呢個嘗試。

      刪除
    2. 等小弟做下學術研究先,順便加深下自己對kelly criterion 的認識

      刪除
    3. 祝成功。
      建議挑戰極限,整個波膽過關出來。哈哈。

      刪除
    4. 抽水咁高..整到都未必有用:(

      刪除
    5. 學術研究嘛。
      文章第二幅那個kelly calculator,池某只在整緊時用過幾次,整完就束之高閣了;網上那個kelly calculator更是沒正式用過,所以還不如Peter兄熟悉。

      刪除
    6. 池兄過獎了,其實說穿了是小弟這種雞蛋裡挑骨頭惹人討厭的性格,令小弟什麼都要親身試一番,希望找出(別人的)錯處
      小弟正在檢討改善中,希望不會令各位師兄討厭吧

      刪除
    7. 挑錯性格很適合投資和賭博,這個遊戲的本質就是自己的盈利來自別人的錯誤。

      刪除
    8. 加油!賭博其實好傷神,我呢排都要抖抖,順道要專心一下股市。

      刪除
    9. 賭博確是很費神,想搵多一個有效factor要死好多腦細胞。

      刪除
  8. 回覆
    1. 注碼分配?直接用kelly calculator就可以了。
      http://www.sportsbookreview.com/betting-tools/kelly-calculator/

      刪除
  9. 对就是注碼分配 這網趾只是2串1 3串丨 之類 但沒有3串3 3串4等複式計法 請池兄指点

    回覆刪除
    回覆
    1. 在Stakes for parlays of size下面點「ALL」就有所有注數,連6串63都有。

      刪除
  10. 我点了independent event kelly multillier 1 consecutive series 1 我按了all 後只出了 1,2,3,1+2,1+3,2+3,1+2+3 但是沒有出3串3之類

    回覆刪除
  11. 例如 kelly calculator 顯示 1+2 20元 1+3 30元 2+3 10元 那3串3是不是應要投注60元 求池兄指点

    回覆刪除
    回覆
    1. 代答: 要拆開三條2串1咁買

      刪除
    2. 謝谢回答 問一問 2串3又如何注碼分配

      刪除
    3. 分開買1、2、1+2,三條飛。

      刪除
    4. 呢D 101問題都要勞煩池兄答, 真係慘

      刪除
    5. 應該係馬會網站現在的設計令人有點混淆,按了3串3就是平注3串3,而沒顯示所包含的注數。

      刪除
  12. 有幾點想請教
    1. 請問點得出"期望賠率"? 是根據你一篇簡單賭波方式 計出賠率嗎?
    2.另外Kelly calculator我唔係好明點入啲格....
    3. 如果我跟據朋友消息 平均勝率有60%,我應該點用Kelly calculator 去做注碼分配同埋過關? 我唔識點入資料用kelly calculator..

    回覆刪除
    回覆
    1. 另外一場賽事主客和 我有賠率同勝率, 我應該點樣用Kelly calculator 分配注碼?

      刪除
    2. 1.可以用那種方法,也可以用其他方法。
      2.打開下面「inputs」有教各個格點入。
      3.只知平均勝率很難用。過關注碼在「Stakes for parlays of size」下面按「All」就會列晒出來。

      刪除
    3. 我當每場勝率60%, 可以計到點分配注項單頭和過關嗎

      刪除
    4. 有平均勝率和平均賠率直接代入kelly計一次,以固定比例下注就ok了,不用下下用Kelly calculator。

      刪除
    5. 問題係過關,應該點分配金額

      刪除
    6. 在「Stakes for parlays of size」下面按「All」就會列晒出來。

      刪除
  13. 請問池兄買波是否跟買馬一樣eoro, 但有edge的基本上很大機會會輸, 那應該跟eo<ro規則買還是純跟機率買?

    回覆刪除
    回覆
    1. 無論買馬還是買波,都要eo比ro計得更準才能盈利,沒理由純跟機率買。
      池某不賭fixed odds彩池,因為沒有信心長期計得準過莊家。

      刪除
    2. 問題是波得2隊,成日都係強隊贏,計是計到,但馬會個賠率總是低到細個eo,根本買不下手,ro>eo果0的90%都係輸

      刪除
    3. 1.計得冇馬會咁準,會輸。
      2.計得同馬會一樣咁準,會輸。因為馬會會抽水,而且食水好深。
      3.計得準過馬會,發唔到達。因為每張飛派彩有上限。
      所以,fixed odds彩池唔值得玩。

      刪除
    4. 同意
      好像真的只能玩孖膽...
      想問杯賽具體怎樣計? 爬過幾篇池兄講波的文章跟留言都找不到

      刪除
    5. 孖膽都係發唔到達的,彩池太細,抽水太深。
      盃賽沒有理論上很完美的計法,故無法有系統地成文。blog友們曾在留言中提及一些方法,雖看起來有些粗糙,實際效果其實很好。

      刪除
    6. 謝回覆
      其實都知道買波難發達,只是想搵少少飯錢
      搵食艱難呢

      刪除
    7. 相對的,越容易中的也會越冇肉食,搵食空間更細。

      刪除
  14. 我賭大細做法是先人手篩選賠率2或以上,然後再計出機會率,機會率高而賠率2或以上才投注,但分開買 平均注碼 ,然而結論是有賺 但不多,但轉用過關就變了運氣遊戲,可能是我計得唔夠好。

    回覆刪除
    回覆
    1. 嘩!可以在fixed odds彩池贏到錢,算係高手中的高手了。

      刪除
    2. 當命中率達6成再篩選賠率2以上 那每10場 就中6場 賠率就變成1.2 ,開頭篩選部分用左小小睇盤技巧,壯家有時會開出所謂的鬼盤 故意將大機率的賠率提高 從而吸引賭客落注。我便是利用這個漏洞。

      刪除
    3. 對的,賭的過程就是一個玩漏洞遊戲,找莊家的漏洞,找對手的漏洞,同時修補自己的漏洞。

      刪除
    4. 高手 同我依家想法一樣 正在實驗中 兩年過去了師兄有無盈利

      刪除
    5. 賭馬邊有人贏錢架,個個都係輸,賭了十幾年馬唔通唔知?就算是評馬人的好朋友,問佢俾兩隻來賭下,結果一樣輸,係賭癮發作戒唔住要賭姐,我依家場場買五十蚊四連環五十蚊獨贏,一日唔過一千蚊,同佢鬥長命,預左輸,贏是意外收獲

      刪除
    6. 至於賭波,場場買下盤,波是做的,買下盤有望打和收場!

      刪除
    7. 評馬人咪一樣十賭九輸, 出鏡見報志在多曝光率方便搵水魚幫襯/搵佢地去外地買馬賺佣

      真正響馬場抬錢走嘅人, 係唔會拋頭露面

      刪除
  15. 回覆
    1. 大多數都是中學課本範圍內的知識,加一點大學的SAT101而已,重溫一下中學數學的內容加一些很普通的programming知識就是學好基本了。

      刪除
  16. 有個問題想問,就是馬會賠率通常是有抽水...這令到很多時expected odds > real odds. 這時跟據Kelly Criterion 計算會出現負數
    是不是不要投注這些場次?

    回覆刪除