神奇的财富公式——凯利公式


(haoyushui) #1

本来想写轻仓的,但我觉得光双11已经对重仓者有了充分的教育意义,此文章先暂缓。我们今天先来讲讲凯利公式。

开头先问大家一个问题,图片中有3条路线。哪一条路线小球会最先到达右下角?

![](data:image/svg+xml;utf8,)

有可能有些人已经知道答案了,图中的b线路的达到目的点的用时最短。我们也称之为“最速曲线”。虽然线路a的直线距离较短,但其没有最充分的利用势能增加速度。而最速曲线则平衡了速度和距离的矛盾,使小球最快速地抵达终点。

如果说要从投资界找出一条最速曲线的话,那也就“凯利公式”莫属了。

在赌博游戏中,你的单次收益是与你下注的量是成正比的。也就是最速曲线中的距离最短。但是如果你的下注量过大,在若干次下注后,你的破产几率是十分高的。你的下注量过小,则资金的累积速度也是较慢的。

如何平衡这两者间的矛盾?

贝尔实验室的约翰凯利博士最早研究了这个问题。他证明了[1]申农在通讯噪音干扰理论中使用的数学模型同样适用于投资者对于风险和收益的管理。如果信息传输中将噪音干扰引起的错误降低到零,那么,同理,**投资者在追求最大复利收益的同时也可以把坡长的风险降低到零。**申农提出的这种两全其美的理论同样可以应用于赌博当中。可惜天妒英才,在凯利散步时,他向他同事喊道“等一会儿”。然后就倒地,最终死于脑溢血。当时他才41岁。

凯利公式的论文一经发表则引起了轰动。发现21点赌局漏洞的索普在其横扫美国赌场中应用了凯利公式来管理其资金,避免破产的风险。沃伦巴菲特的投资组合中也完美地使用了凯利公式。

这个神奇的财富公式长啥样?

f=\frac{ b\times p-q}{b}

式中f为你该用资产多少比例下注

b为盈亏比

p为胜率

q为亏损概率,即q=1-p

其公式证明过程如下:

![](data:image/svg+xml;utf8,)

哈哈,繁复的证明过程可以略过,对于普通人没啥意义。我们只要知道公式本身就行~

如果有兴趣的同学可以私下研究。

经典的公式往往简单到极富美感,凯利公式就是其一。区区几个变量就能有这效果,实在是领人陶醉。我们只需使用连小学生都会的加减乘除,即能获得我们的仓位极限。

举点例子,来看看其作用:

假设:胜率p为0.6,盈亏比b为1.3

所以,经计算本赌局的期望值EV为0.38,对赌徒有利

设初始资金为1

初始仓位为0.1f至1.9f,即凯利公式所计算的仓位的0.1倍至2倍

则交易次数为200次后,最终资金数额为下图所示

![](data:image/svg+xml;utf8,)

图中横坐标为仓位,如0.1代表0.1倍的f,1.3为1.3倍的f。纵坐标为资金额度。

从图中我们可以明显看出,经过多次的模拟实验后仓位在f下的资金增长速度是最快的。正如凯利本人所说,在赌局有利条件下,即期望值为正时,根据凯利系统操作就可以在免于破产的情况下获得最大额度的利润。

**那么如果期望值为0****或者负时怎么办?凯利所给出的最佳结论是停止下注!**任何仓位控制或者加减仓方法,都无法长久盈利下去!

从上面的结果我们可以看出,盈亏比和胜率决定了f,f决定了资金增长速率。那么期望值EV不变,p和b的改变会对f有什么影响?进一步对资金增长速率有什么影响?

看以下表格

![](data:image/svg+xml;utf8,)

从表中我们可以发现所有的系统EV都是相等的。盈亏比b越小,胜率p越大,而f越大。在EV相同时,资金的增长速率只与单次下注额有关。所以提高胜率可以明显提高我们每次赌局的最大下注额,提升资金增长速度。

那这结论有何实际意义?对于低胜率的趋势交易者,在一定条件下提高胜率可以大幅提高所能下注的最大额度,加快资金的积累。注意,这条结论只是在理论条件下。且不论趋势交易者提高胜率的难度,更有时不时飞过一尾黑天鹅飘过的影响。

凯利公式虽如此之厉害,但我更关心其在股票和期货市场的应用。凯利公式最开始应用时是用于赌马、21点和轮盘等项目。这些项目与股票和期货市场是有十分大的不同点的。也就是这些不同点造成了凯利公式在运用于这些市场时会遇到一些问题。

首先,赌场里的项目胜率和盈亏比都是基本固定的。你压上注,赢多少,即盈亏比都是一个固定值。根据计算,你也很容易获得单次的获胜概率。你每一次的赌博的p和b都是统一值,即是接近真值的。这个数值除非赌场改变规则,调整赌博器具或是出老千,才能改变其数值。而股票和期货市场则不同。我们虽然可以通过历史数据回测计算其平均胜率和盈亏比,但是这些数值只是一个统计量,我们所获得也都是平均值。比如盈亏比p为3,这只是所有数据的平均值,实际每一笔盈利有可能是2,也有可能是4。对于亏损来讲,股票和期货市场是有可能超过你的平均值的。这就导致了使用p和b的平均数去计算凯利公式的f值会偏大。比如说你碰到了连续3次1.5倍平均值的亏损,那你会发生一次十分巨大的回撤。但是凯利公式中的均值将这些偏大的亏损都被平均了。你的交易数据越离散,平均值越不能代表总体。如果强行使用凯利公式,则有可能发生致命问题,谁都不会拿自己的资金去开这样的玩笑。

**其次,赌场中的项目每次都是独立事件,其概率没有连续性。**这也就我们耳熟能详的“赌徒谬论”的基础。在赌博中,一但出现连续亏损,赌徒会倾向于之后下更大的注。这是典型的谬论,因为在赌博中每一局都是独立事件,本次的结果对于下一次的概率没有影响。关于赌徒谬论会在之后的章节详细讨论,本文不作详细讨论。在股票和期货市场中却与纯赌博的系统有很大区别。正如我们在第一篇中所说的(https://zhuanlan.zhihu.com/p/23492626),市场的后一日的涨跌是有可能与前一日的涨跌有关系的。这也是趋势交易者的利润所在。换句话说,**股票和期货市场的每次下注的结果是有连续性的,而不是纯随机的独立事件。**实际市场是具有肥尾的,而不是标准的正态分布。从结果来看也就是更容易产生连续的亏损,一但碰到这种肥尾,对于投资者的损失必然是巨大的。凯利公式的推导是基于纯随机的系统,市场只有Hurst值在0.5时,才能使用其计算f值。而非随机的股票和期货市场中使用凯利公式时,计算出的f值也会偏大,导致资金增长率的下降。

综上所述,凯利公式在应用于股票和期货市场时会有很大的问题。有经验的人士都会觉得凯利公式所计算出的仓位是极其激进的。那么是不是不能使用了?或者有什么办法能够曲线救国呢?

首先明确一点,**凯利公式的第一目的是控制破产风险,而不是提高你的资产增长率。**所以,为了解决实际应用问题,笔者推荐两个方案:

1)以最大回撤为计算指标的仓位计算。知乎的ddr Fe的回答十分精彩,有意者可移步(https://www.zhihu.com/question/30953342)。

2)如果您懒得去研究这些数学问题,那么工科有工科的解决方法。您可以根据自己的系统参数所计算出的f值乘上一个系数去控制你的最大仓位。此处所计算出的f不是你能买多少股票,而是你的单笔损失占总本金的比例。这一个系数经验值在30%至50%,如果是一位风险承受度较低的投资者,可进一步降低其系数。

另外,就算理论上计算出了最大仓位值,也必须匹配个人的心理承受能力去操作。每个都有其所能承受的最大仓位限制。超过这一限制,个人对系统的执行力会显著地下降,也就是操作会变形。个人还需结合自己的实际情况进行资金管理。

结论:

1 期望值为正时,凯利公式是在赌徒免于破产的情况下,最快速增加资产的仓位控制。

2 期望值为零与负时,停止下注。

3 相同期望值时,提高系统的胜率可以提高最大仓位,提高资产增长率。

4 凯利公式应用于股票和期货市场时,由于市场状态的不同,而不能使用过于激进的凯利公式计算仓位。

5 通过改进或者降低凯利公式,将其应用于股票和期货市场。

[1] 财富公式:玩转拉斯维加斯和华尔街的故事