摘要: 知名作家牧清華教你如何使用Optimal F來控管最佳資金分配,Optimal F的概念是,如果你有一組損益向量,例如銅板賭局的(-1,+2),這意味著有50%的機會賠光(-1),有50%的機會賺2倍(+2),假設未來的損益都是從這個向量去取樣(sample)的話,那你的最佳下注比例為何?
我最愛的 "數學公式" 肯定是Ralph Vince提出的最佳化比例(Optimal F)了....
事實上我們在研發交易策略,某種程度就是在把損益向量弄得跟賭局損益"類似",簡單的說就是勝率(WinRate)賠率(Odds)夠穩定,不亂跳! 這樣我們就有辦法把"理論"的最佳化套用在"實務"上。
PL=c(-1,2) ##輸入損益向量
if (sum(PL >= 0) == length(PL)) {
OptF = sign(sum(PL))
## 如果全勝(沒賠),則全壓(f=100%)
}else{
BidF = seq(0, 1, 0.01) ##賭0%到100%
TWR = setNames(BidF, BidF) ##設定TWR向量
for (f in BidF){
TWR[[as.character(f)]] =
(prod(1+f*-PL/min(PL)))^(1/length(PL))
}
##上面部分為計算TWR的關鍵,請參考Vince著作
OptF=as.numeric(names(which.max(TWR)))
##取出Optimal f
}
if (OptF!=1){ ##如果不是全壓,畫下面的圖
plot(TWR, type="l", col="red", lwd=2
, main=paste("Optimal f is", OptF*100, "%"))
abline(h=1, col="green", lwd=2)
##各下注比例底下的TWR
}else{ paste("Optimal f is 100%") }
##如果是全壓,show出最佳下注比例為何
我們來看一下最熟悉的銅板賭局:勝率50%,人頭出現賺2倍,數字出現賠光(odds=2)
輸入PL =c(-1,2),得到Optimal F為 25%
再來看更有利可圖的賭局,例如賽馬賭局好了,損益向量為PL=c(-1, -1, 2, 2, 3)
則Optimal f 為43%
如果是一個負期望值德賭局呢? 例如 PL = c(-1, 1, -2)。那Optimal f是 0%,也就是不要賭,因為無利可圖!
轉貼自: 幣圖誌
留下你的回應
以訪客張貼回應