用R语言解读凯利公式
张丹,R语言中文社区专栏特邀作者,《R的极客理想》系列图书作者,民生银行大数据中心数据分析师,前况客创始人兼CTO。
个人博客 http://fens.me, Alexa全球排名70k。
前言
职业做投机交易的人,应该都听说过凯利公式,这是一个通过计算胜率和赔率,来选择佳投注比例的公式,目的是长期获得高的盈利。
只要找到长期看必胜的局,接下来就是让时间帮我们赚钱了。
目录
- 开始赌局
- 凯利公式
- 赌局的优解
- 让时间帮我们赚钱
1. 开始赌局
设游戏赌局,你赢的概率是80%,输的概率是20%,赢时的净收益率是,输时的亏损率也是。如果赢,你每赌1元可以赢得1元;如果输,则每赌1元将会输掉1元。赌局可以进行无限次,每次下的赌注可由你自己任意定。如果你的初始资金是100元,那么怎么样下注,才能使得长期收益大?
对于胜率80%,从感觉上应该是很有把握的事情了。那么我们先主观判断一次,用90%的仓位去赌一下,看看结果怎么呢?如果下注10次,按80%胜率,8次胜,2次负。我们来算一下后的结果。
# 设置胜负,1胜,0负
> win<-c(1,1,1,0,1,1,0,1,1,1)
# 分别按投注计算每回合的剩余资金
> a1<-(1+0.9)*100
> a2<-a1*(1+0.9)
> a3<-a2*(1+0.9)
> a4<-a3*0.1
> a5<-a4*(1+0.9)
> a6<-a5*(1+0.9)
> a7<-a6*0.1
> a8<-a7*(1+0.9)
> a9<-a8*(1+0.9)
> a10<-a9*(1+0.9)
> dat<-c(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
> df<-data.frame(win,dat)
# 打印剩余资金列表
> df
win dat
1 1 190.0000
2 1 361.0000
3 1 685.9000
4 0 68.5900
5 1 130.3210
6 1 247.6099
7 0 24.7610
8 1 47.0459
9 1 89.3872
10 1 169.8356
相关文章