1955年,美国盛行答题积累奖金的电视节目,答题者通过连续答对题目来累计奖金池。而在电视外,庄家针对这个节目开设了答题者能否答对题目的赌盘,吸引了许多赌徒参与下注。

但是,节目在东海岸直播,西海岸则有直播延时,有赌徒便抓住了这个机会,利用延时提前通过电话得到了答题者答题情况,赶在西海岸直播前参与下注,从中套利。

受此启发,贝尔实验室的科学家约翰·拉里·凯利于1956年在《贝尔系统技术期刊》中提出了凯利公式:

"如果通信渠道的输入符号代表偶然事件的结果,在该偶然事件中,可以按照与其概率一致的赔率进行投注,那么一个赌徒就可以利用输入符号给他的信息,使他的钱以指数形式增长。"

论文中他以一个赛马模型提出了凯利公式的雏形:

其中:

f* = 应该放入投注的资本比值
p = 获胜的概率
q = 失败的概率
b = 赔率

举个例子,如果一个赌博你有60%的获胜率(p=0.6, q=0.4),并且赔率是1赔2(b=2),则赌客每次下注的资金是 40% (计算方式:(b*p-q)/b)。

当然,当初提出这个公式的凯利其实是为了通信学研究的,并不是很贴近实际投资场景。不过,它有一个变形:

其中:

f* = 应该放入投注的资本比值
p = 获胜的概率
q = 失败的概率
rW = 净利润率
rL = 净损失率

这个公式很关键,因为它使得计算投资利润最大化的本金数额成为可能。比如说,使用我们之前的MACD量化投资策略:

Python 量化投资实战教程(2) —MACD策略

有1万元购买股票,10%的止盈点,10%的止损点,假设针对某只股票每次盈利的概率是7/8,此时rW=0.1, rL=0.1,那么每次交易我们应该投入 f=((7/8)*0.1 - (1/8)*0.1) / 0.1*0.1=7.5%。

也就是说,按照这个策略买股票,每次你只能投入本金的7.5%才能使利润获得最大化。

这个公式用Python计算非常简单:

def kelly(p, q, rW, rL):"""计算凯利公式Args:p (float): 获胜概率q (float): 失败概率rW (float): 净利润率rL (float): 净亏损率Returns:float: 最大化利润的投资本金占比(%)"""return (p*rW - q*rL)/rW * rL

凯利公式看起来真的很不错,不过,请大家注意了,量化投资中的获胜概率,比如我们上述计算中的盈利概率: 7/8,是基于某只股票的历史数据推测出来的,历史并不代表未来,因为未来是不可知的,我们只能说这只股票,在过去,表现的不错。

所以,模型永远只是一个近似的替代,并不能说明一切,凯利公式也是一样,如果凯利公式告诉你,要放大仓位,你可要三思,万一发生黑天鹅事件,分分钟教你做人,如果你还上了杠杆,那就要上人生最重要的一堂课了。

我们经常会认为凯利公式所针对投注比例是全资产,事实上,我更喜欢将凯利公式所针对的投注比例当做是你可承受损失的资产。

比如你有100万,你能承受10万的损失,那么这10万就能拿来根据凯利公式进行投资,因为这是最保险,能让你心情不那么痛苦的做法。

不要贪,很重要。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

有任何问题,可以在公众号后台回复:加群,回答相应验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

Python 凯利公式 — 最优投资本金计算相关推荐

  1. python 凯利公式_蒙特卡罗方法验证凯利公式

    说明 本文受知乎陈小米启发而写.有兴趣的朋友可以移步这里. 本文的代码完全是本人所撸. 问题描述 假想一个游戏.赢的概率是60%,输的概率40%.入场费随意交.如果赢了获得2倍的入场费金额(1赔1), ...

  2. python 凯利公式_凯利公式的启示

    谈到具体的投资和下注,凯利公式是绕不过去的,但妄图通过这个神奇公式来改变命运也是痴人说梦.那些利用理想条件总结出的定理和公式,如在实际投资中生搬硬套肯定死路一条,必须明确,它们唯一的贡献就是可以给我们 ...

  3. python 凯利公式_凯利公式的模拟验证

    凯利公式的模拟验证 场景:一个赌局,你跟庄家.你出 1 元,庄家出 0.96元.赌金数目可随之翻倍. 根据每次抛色子的结果的单双决定胜负. 胜者得到双方所下的赌金,计 1.96 元. 问题:如何下注才 ...

  4. python 凯利公式_Python量化笔记-股票收益率的正态分布检验和凯利公式应用

    本为继承上一篇: 完成以下扩展练习: 4.2 扩展练习2:对股票的收益率进行正态分布检验 4.3 扩展练习3:如果股票的收益率是正态分布的,使用凯利公式进行每日交易 4.2 扩展练习2:对股票的收益率 ...

  5. python 凯利公式_[转载]凯利公式的理解最重要补充(Z)

    建立在古典概率基础上的机械化交易系统的M(最大连续亏损次数)理论值为无穷大,因此N(安全头寸)等于零.举例:一套65%的趋势跟踪系统,碰到盘局会有亏损.理论上的盘局可无限长,因此安全头寸为零.长期运作 ...

  6. python 凯利公式_如何在赌局上获得最大收益?靠凯利公式!

    总的收益率为: 每次的平均收益为: 令 则上面的问题就转化为求函数H(f)的最大值,用数学中常用的求极值的方式,将其转换为求函数 的最大值. 将该函数对f求导可得: 令导函数为0,求函数的驻点,这就是 ...

  7. 从凯利公式开始谈资金管理

    凯利公式解决了一个确定的胜率和赔率的情况下,每次用多少资金去冒险的问题,假设一个简单的丢硬币的赌局,丢到正面你得到2元钱,丢到反面你输掉到1元钱,你一共有100元钱的总资产,你可以一次进行任意金额的押 ...

  8. 倍投技巧 - 凯利公式教你如何用正确的方法投资

    凯利公式志在解决的问题 假设赌局1:你赢的概率是60%,输的概率是40%.赢时的净收益率是100%,输时的亏损率也是100%.也即,如果赢,那么你每赌1元可以赢得1元,如果输,则每赌1元将会输掉1元. ...

  9. 凯利公式自动计算表_利用凯利公式计算每场投注的最佳比例

    即便是胜率 99%的赌局,如果每局全押,那么也注定会血本无归.即便是胜率只有 1%,如果 1000 元钱本金每局仅投注 1 元,哪怕每次必输,也要 1000 次才会破产.成功的投资不仅要对投资策略的胜 ...

最新文章

  1. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用nfactors参数指定抽取的因子的个数、fa函数因子分析结果解读(Extracting common facto
  2. 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境(服务器端及客户端)(转)...
  3. r语言electricity数据集_R语言学习10-查看数据
  4. 转:MySQL性能优化神器Explain使用分析
  5. Callable与Future的介绍
  6. 聊聊并发——生产者消费者模式
  7. Python版24点游戏
  8. 面对自然灾害,科技能做什么?
  9. mysql 并行操作_将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行...
  10. l301更换废墨垫图解_30换30?
  11. Win11如何关闭445端口?Win11关闭445端口的方法
  12. AD9854的工作原理和应用电路图
  13. 传奇 定时任务(泡点、时间触发、任务活动等)
  14. 物质、分子、原子、原子核、中子、质子、电子、量子、离子的区别
  15. Android Studio仿QQ界面实现简单的功能
  16. Android如何隐藏应用程序的图标
  17. 虾皮API接口—获取商品详情
  18. 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
  19. 提问:QQ音乐客户端如何通过访问网址获取内容
  20. 基于Vue和SpringBoot的便利店仓库物资管理系统的设计与实现

热门文章

  1. Excel的两个表格按照某一列数据进行匹配
  2. word表格分开快捷键_word中拆分表格快捷键
  3. 博士申请 | 美国普渡大学张如琪助理教授招收机器学习方向博士/硕士/实习生...
  4. 【Linux】设备和磁盘分区|磁盘管理|/dev/sda|/dev/sdb
  5. Solarwinds如何配置告警短信?(短信发送设置流程)
  6. Apache Spark+PyTorch 案例实战
  7. Python3.6 openCV3.4.3车牌自动识别
  8. 登陆页面登录成功之后的操作
  9. VMware虚拟机下安装win7系统详解
  10. 新手如何快速入门 深度学习