凯利公式源代码
凯利公式如下:
仓位 =(odds *pwin-q)/b
odds = 赔率(赔率=期望盈利÷可能亏损=2美元盈利÷1美元亏损,赔率就是2了)
pwin = 成功概率(抛硬币正反面都是50%的概率)
q = 失败概率 (也就是 1-p,赌局中也是50%了 )
public class kellyUtil {
/**
* 凯利公式
* @param pwin 胜率
* @param odds 赔率
* @return
*/
public static double kelly(double pwin,double odds){
return (odds * pwin + pwin - 1)/odds;
}
public static double kellyV2(double pwin,double odds, double lossRate){
return (odds * pwin + pwin - 1)/(odds * lossRate);
}
/**
* 巴菲特版仓位管理
* @param pwin
* @return
*/
public static double buffett(double pwin){
return 2 * pwin - 1;
}
public static void main(String[] args) {
double odds = kelly(0.5, 3.0);
// double odds = kellyV2(0.5, 3.0,1.5);
System.out.println(("仓位:" + odds * 100 + "%"));
}
}