online gambling singapore online gambling singapore online slot malaysia online slot malaysia mega888 malaysia slot gacor live casino malaysia online betting malaysia mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 交易與賭局的當道投資學: Optimal f 實作!

摘要: 知名作家牧清華教你如何使用Optimal F來控管最佳資金分配,Optimal F的概念是,如果你有一組損益向量,例如銅板賭局的(-1,+2),這意味著有50%的機會賠光(-1),有50%的機會賺2倍(+2),假設未來的損益都是從這個向量去取樣(sample)的話,那你的最佳下注比例為何?



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我最愛的 "數學公式" 肯定是Ralph Vince提出的最佳化比例(Optimal F)了....

 
姑且不論她到底適不適合用於金融交易,但在賭局上,她是無庸置疑的"最佳"選擇。最近看了一本書:【"下重注的本事", THE DHANDHO INVESTOR】。其實也是在講這個道理。不管用在金融交易,商業投資..,道理都一樣:尋找低風險,高報酬 的投資方案。是的,低風險跟高報酬並不衝突。21點也是類似概念。

事實上我們在研發交易策略,某種程度就是在把損益向量弄得跟賭局損益"類似",簡單的說就是勝率(WinRate)賠率(Odds)夠穩定,不亂跳! 這樣我們就有辦法把"理論"的最佳化套用在"實務"上。
 
至於如何計算最佳化比例? 最近常被朋友問到這個問題,所以我想還是用R來示範好了,很簡單,當然你可以搜尋我過去的文章自行練習撰寫。
 
Optimal F的概念是,如果你有一組損益向量,例如銅板賭局的(-1,+2),這意味著有50%的機會賠光(-1),有50%的機會賺2倍(+2),假設未來的損益都是從這個向量去取樣(sample)的話,那你的最佳下注比例為何? 
 
有沒有覺得這跟過去大家常在討論的Kelly Criterion很像? 是的,Kelly本來就是Optimal f的一個special case。下面是我關於optimal F的R  code。
 
首先我們一定要有一個損益向量,程式碼裡面用一開始的PL,代表著profit & loss。
 

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%,也就是不要賭,因為無利可圖!

上面的 R code,寫給大家玩看看~ 若你對理論有興趣,延伸閱讀~!

轉貼自: 幣圖誌


留下你的回應

以訪客張貼回應

0

在此對話中的人們