+ All Categories
Home > Documents > 凱利法則 (Kelly Criterion)

凱利法則 (Kelly Criterion)

Date post: 18-Dec-2021
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
35
凱利法則 (Kelly Criterion)
Transcript
Page 1: 凱利法則 (Kelly Criterion)

凱利法則 (Kelly Criterion)

Page 2: 凱利法則 (Kelly Criterion)

凱利法則 (Kelly Criterion)

http://www.herrold.com/brokerage/kelly.pdf

Page 3: 凱利法則 (Kelly Criterion)

上面這些過程,都在追尋一件事….

找 優 勢 !!

2017/04 3

Page 4: 凱利法則 (Kelly Criterion)

何謂優勢?

•丟一枚銅板,人頭贏,數字輸

•勝率50%

•贏了賺2倍,輸了賠光!

•50%*2 + (100%-50%)*(-1) = 0.5 > 0

2017/04 4

Page 5: 凱利法則 (Kelly Criterion)

“優勢”越大越好嗎?勝率50%,贏了賺2倍,輸了賠光!

勝率50%,贏了賺3倍,輸了賠光!

2017/04 5

Page 6: 凱利法則 (Kelly Criterion)

關鍵在你的部位!

勝率50%,贏了賺2倍

•每次押總資金的25%勝率50%,贏了賺3倍

•每次押總資金的70%

2017/04 6

Page 7: 凱利法則 (Kelly Criterion)

凱利法則 --- 50年前的智能交易•凱利(John Larry Kelly, Jr.)無意間發現:

•給定勝率(p)、給定賺賠比 (b) ➔唯一決定最佳下注比例• 凱利公式:[p(1+b)-1]/b

•索普的故事—決戰21點• 1960年代,賭場只提供一副牌

• 舉例來說,當剩餘牌很多10和A,玩家勝算將達到52:48

• 凱利建議下4%比例的資金

2017/04 7

Page 8: 凱利法則 (Kelly Criterion)

尋找優勢: 賭場(30萬) v.s.

•最好把這方面的技巧用到其他”賭場”• 沒有下注金額限制的賭場

• 玩家擁有更高勝算的賭場

• 莊家態度更文明,樂於接受重大損失

• 賭場不是由黑道份子主持

•選擇權市場• Black-Schole

2017/04 8

尋找優勢: 賭場(30萬) v.s. 金融市場(600萬)

Page 9: 凱利法則 (Kelly Criterion)

優勢消失

•川普發表了『擊敗莊家』

•世界各地21點賭徒開始效仿

•賭場調整遊戲規則• 增加多副牌

• 透過監視器緊盯可疑玩家

2017/04 9

交易策略失效

未來

過去

Page 10: 凱利法則 (Kelly Criterion)

找到優勢只是第 1步,更重要的是…

資金管理2017/04 10

Page 11: 凱利法則 (Kelly Criterion)

做個賭徒模擬實驗就知道….

•勝率50%,賠率為2• 1. 玩40次下注多少比例f會最好?

• 不同下注比例10%,20%,…,60%

• 2. 玩很多次下注多少比例f會最好?• 玩100次、500次、1000次、5000次

•用R語言模擬一下~

• Input:勝率、賠率、下注比例

• Output: 資金成長曲線!

2017/08 11

Page 12: 凱利法則 (Kelly Criterion)

考慮勝率50%,賠率為2的賭局

2017/08

資金100元

100元

12

Page 13: 凱利法則 (Kelly Criterion)

考慮勝率50%,賠率為2的賭局

2017/08

資金100元,如果下注20元

80元

20元

13

Page 14: 凱利法則 (Kelly Criterion)

考慮勝率50%,賠率為2的賭局

2017/08

資金100元,如果下注20元

贏:100*(1+2*20%) 80元

20元

20元

20元

14

Page 15: 凱利法則 (Kelly Criterion)

考慮勝率50%,賠率為2的賭局

2017/08

資金100元,如果下注20元

贏:100*(1+2*20%) 100元

20元

20元

140元

20元

15

Page 16: 凱利法則 (Kelly Criterion)

考慮勝率50%,賠率為2的賭局

2017/08

資金100元,如果下注20元

贏:100*(1+2*20%)輸:100*(1-20%)

100元

20元

80元

16

Page 17: 凱利法則 (Kelly Criterion)

模擬銅板賭局

•勝率50%、賠率2

•dice=sample(c(-1,2),1)

2017/04 17

Page 18: 凱利法則 (Kelly Criterion)

模擬銅板賭局

• init=1 #初始資金

• pwin=0.5 #勝率

• odds=2 #賠率

• f=0.1 #下注比例

• nbet=100 #賭局次數

• cap=c(init, rep(0,nbet)) #累計資金

2017/04 18

Page 19: 凱利法則 (Kelly Criterion)

模擬銅板賭局

• for (k in 2:(nbet+1)){

• dice=sample(c(-1,odds),1)

• cap[k]=cap[k-1]*(1+dice*f)

• }

•如果贏: cap[k]=cap[k-1]*(1+odds*f)

•如果輸: cap[k]=cap[k-1]*(1+(-1)*f)

2017/04 19

Page 20: 凱利法則 (Kelly Criterion)

劃出累計損益圖

• plot(cap,type="l",lwd=2,col="blue",main = paste0("Bid ",f*100,"% ;"

• ," WinRate ",pwin*100,"%;“

• ," Odds ",odds))

• abline(h=1,col="green",lty=2)

2017/04 20

Page 21: 凱利法則 (Kelly Criterion)

課堂練習:哪個下注比例最好?

•模擬100次、1000次、100000次?

•人工2分法判斷?

2017/04 21

Page 22: 凱利法則 (Kelly Criterion)

設定機率賠率

• pwin=0.4 #機率

• odds=2 #賠率

• dice=sample(c(-1,odds),prob=c(1-pwin,pwin),1)

2017/04 22

Page 23: 凱利法則 (Kelly Criterion)

課堂練習

•試判斷勝率43%,賠率1.7的最佳下注比例?

2017/04 23

Page 24: 凱利法則 (Kelly Criterion)

定義問題!!

•勝率50%,賠率2的賭局

•初始資金100元,玩無限多次•假設人生可以天長地久

•每次決定下注比例f (0% < f < 100%)•假設資金可以無限分割

•問題:f選多少可讓資金成長最快速!2017/08 24

Page 25: 凱利法則 (Kelly Criterion)

凱利公式推導•勝率為50%,賠率為2的賭局

• 賭1元,輸了賠光,贏了拿回3(=1+2)元。

•假設每次下注為f比例• 如果贏: At= At-1(1+2f)

• 如果輸:At= At-1 (1-f)

•假設在T次的賭局中,一共贏了W次,輸了L次 (W+L=T)• 結論:AT= A1(1+bf)W(1-f)L

• 我們想要最大化AT

• 如果玩無限多次會怎樣?

2017/08 25

Page 26: 凱利法則 (Kelly Criterion)

求 f 使得 AT= A1(1+bf)W(1-f)L 最大 ?

• Rearranging: 1

𝑇log

𝐴𝑇

𝐴1=

𝑊

𝑇log(1 + 𝑏𝑓) +

𝐿

𝑇log(1 − 𝑓)

• As 𝑇 → ∞, we have 𝑝 log(1 + 𝑏𝑓) + (1 − 𝑝) log(1 − 𝑓)

𝒇 =𝒑 𝟏 + 𝒃 − 𝟏

𝒃• 什麼時候 f=1? (Showhand!)

• 勝率99%,賠率10000的賭局,要你全壓,你賭不賭?

2017/08 26

Page 27: 凱利法則 (Kelly Criterion)

2017/08 27

Page 28: 凱利法則 (Kelly Criterion)

設定勝率、賠率、回合數

• #計算最佳下物比例

• pwin=0.5 ##勝率

• b=2 ##贏錢,賭1塊錢淨賺的

• nbet=1 ##回合數

• (Exp=pwin*b1+(1-pwin)*b2) ##計算期望淨利

2017/08 28

Page 29: 凱利法則 (Kelly Criterion)

計算凱利賭徒損益

• Bid=setNames(seq(0,1,0.01),seq(0,1,0.01))

• for (f in Bid){

• Bid[[as.character(f)]]=((1+f*b)^(pwin*nbet))*((1-f)^((1-pwin)*nbet))

• }

• (OptF=as.numeric(names(Bid)[which(Bid==max(Bid))]))

2017/08 29

Page 30: 凱利法則 (Kelly Criterion)

畫圖

• plot(Bid,type="l",lwd=2,col="red",xaxt = "n"

• ,xlab="Bidding",ylab="Return",font=2

• ,main=paste0("OptF: ",OptF*100,"%",", WinRate: ",pwin*100,"%",", WinOdd: ",b))

• axis(1,1:length(seq(0,1,0.01)),seq(0,1,0.01),col="black",lwd=2,font=2)

• abline(h=1,lty=2,col="green",lwd=2)

• abline(v=order(Bid)[length(Bid)],lty=2,col="blue",lwd=2)

2017/08 30

Page 31: 凱利法則 (Kelly Criterion)

“勝率50%,賠率為2” 的賭局

2017/08 31

請注意賠率為2代表最大虧損是100%

Page 32: 凱利法則 (Kelly Criterion)

如果輸不是賠全部?

•贏:淨賺賭注的0.2倍 ➔賺的賠率 0.2

•輸:竟賠賭注的0.1倍➔輸的賠率 -0.1

• pwin=0.5

• nbet=1

• b1=0.2 ##贏錢,賭1塊錢淨賺的

• b2=-0.1 ##輸錢,賭1塊錢淨賠的

• leverage=abs(1/b2) ##1塊錢的槓桿

2017/08 32

Page 33: 凱利法則 (Kelly Criterion)

課堂練習:修改後續程式碼劃出凱利損益

• for (f in Bid){

• Bid[[as.character(f)]]=

((1+f*b1)^(pwin*nbet))*((1-f*b2)^((1-pwin)*nbet))

• }

2017/08 33

Page 34: 凱利法則 (Kelly Criterion)

什麼時候可以用槓桿?賠掉100%OptF=25%

賠掉10%OptF=250%

2017/08 34

賠掉1%OptF=2500%

Page 35: 凱利法則 (Kelly Criterion)

借錢無罪,融資有理??

•設定好你的停損

•股票10%停損•期貨固定點數停損•期貨資金比例停損

2017/08 35


Recommended