G
GweiKit
GweiKit / 解读 / 盈亏与仓位

凯利公式是什么:凯利公式计算、例子、半凯利和用在仓位上的盲点

作者 林越 · GweiKit编辑组发布 2026-10-25盈亏与仓位
凯利公式是什么:凯利公式计算、例子、半凯利和用在仓位上的盲点

知道了胜率和盈亏比,下一个问题是"每次下多少"。押得太少,本金长得慢;押得太多,几次连亏就回不来。凯利公式给出的是一个比例:在什么条件下,每次押本金的多少,长期增长最快。下面按凯利(J. L. Kelly, Jr.)1956 年的原文讲它从哪来,再给出按胜率和盈亏比的算法,用演示数字算几个例子,最后说清楚把它用到交易仓位上时要小心什么。

凯利公式是什么

凯利公式出自凯利发表在《贝尔系统技术期刊》(The Bell System Technical Journal)1956 年 7 月号上的论文《A New Interpretation of Information Rate》(信息率的一种新解释)。这篇论文本来讲的是通信理论:一个赌徒能比别人先从一条"私人线路"收到比赛结果,但线路有噪声,收到的结果可能是错的。他该怎么下注?

原文的答案是一个和"期望收益最大"不同的标准,在结论里是这么说的:

At every bet he maximizes the expected value of the logarithm of his capital.

我们的译文:每一次下注,他都让本金对数的期望值最大。原文接着解释,这样做不是因为对数代表了他对钱的偏好,而是因为反复下注时,能逐次相加、能用上大数定律的是本金的对数。说白了:反复下注、赢的钱接着押的时候,决定最后剩多少的,是每次本金"乘以"多少,而不是每次"加上"多少。

为什么不全押:原文的出发点

原文先看最简单的情形:赔率 1 赔 1,线路传错的概率是 p,传对的概率是 q。赌徒每次都全押,确实能让期望本金最大,但原文紧接着写:

This would be little comfort, however, since when N was large he would probably be broke and, in fact, would be broke with probability one if he continued indefinitely.

我们的译文:这没什么可安慰的,因为下注次数 N 一大,他多半已经输光;事实上,只要一直押下去,他输光的概率是 1。全押时只要输一次,本金就归零,之前赢多少次都没用。

所以原文改成每次只押本金的一个固定比例,再求让长期增长率最大的那个比例。在赔率 1 赔 1 的情形下,原文得到的结果是:押注比例 = q − p,也就是"传对的概率减传错的概率"。换成交易的说法,就是胜率减败率。注意原文里的 p 是出错的概率,和很多中文资料里 p 表示胜率正好相反,对照原文时别看反了。

凯利公式计算:按胜率和盈亏比

交易里的赔率很少正好是 1 赔 1。把胜率记作 W,盈亏比记作 R(和盈亏比怎么算一篇的记法一样:赢一次赚 R,输一次亏 1),每次拿本金的比例 f 去承担这一笔的亏损。按原文"让每次本金对数的期望最大"的定义,要最大化的是:

W × ln(1 + R × f) + (1 − W) × ln(1 − f)

对 f 求导、令它等于 0,解出来就是(本文推算):

凯利比例 f = W − (1 − W) ÷ R

R = 1 时,它就是 W − (1 − W),和原文 1 赔 1 情形的结果一样。原文本身处理的是更一般的多选项、有抽水的情形,写法和这里不同;上面这个按胜率和盈亏比的写法,是本文从原文的定义推出来的,可以用下面的演示数字在表格软件里复核。

两点读法:

  • f 是"可能亏掉的钱"占本金的比例,不是仓位大小。一笔交易设了止损,f 对应的是止损打掉时亏掉的金额。合约里同样的 f,杠杆不同、止损距离不同,开出来的仓位大小完全不同。
  • f 小于或等于 0,就是不做。说明按你估的胜率和盈亏比,这笔交易长期是亏的,和盈亏平衡胜率表的结论一致。

用演示数字算几个例子

下面的胜率和盈亏比都是演示假设,不代表任何策略的真实表现;"每笔复利增长"指长期平均下来,本金每笔大约按多少比例增长(本文计算)。

演示胜率 W盈亏比 R凯利比例 f押满凯利每笔复利增长
A55%10.55 − 0.45 = 10%约 0.50%
B40%20.4 − 0.6 ÷ 2 = 10%约 0.98%
C40%1.20.4 − 0.6 ÷ 1.2 = −10%不做

A 和 B 算出来的比例一样,都是 10%,但 B 的盈亏比高,同样押 10% 增长得更快。C 是负数:盈亏比 1.2 时不赚不亏需要的胜率是 1 ÷ (1 + 1.2) ≈ 45.45%,40% 不够,凯利公式的答案就是不做。

半凯利:押多了比押少了更伤

还是用演示 A(胜率 55%、盈亏比 1,凯利比例 10%),换几个押注比例算长期增长(本文计算):

  • 押 5%(半凯利):每笔复利增长约 0.38%,是押满凯利的约四分之三;
  • 押 10%(凯利):约 0.50%,这是这组数字下能达到的最快增长;
  • 押 20%(两倍凯利):约 -0.01%,已经变成负增长,长期是缩水的。

可以看到,押少一半,增长只少四分之一左右;押多一倍,增长直接没了。增长率在凯利比例两边不对称,押多那一边掉得更快。这就是很多人用"半凯利"的原因:少押一半,换来对估计误差的余地。

估计误差有多要命,再算一个(本文计算):你以为胜率是 55%,按 10% 下注;实际胜率只有 50%、盈亏比 1,这时每笔是约 -0.50%,长期在亏。期望本身是 0,按凯利比例下注却在稳定缩水,原因就是你押多了。

用在交易仓位上的盲点

凯利原文自己写明了这套理论成立要什么条件:

The essential requirements for the validity of the theory are the possibility of reinvestment of profits and the ability to control or vary the amount of money invested or bet in different categories.

我们的译文:这套理论成立的基本条件,是赚到的钱可以再投入,以及能够控制或调整投在各个类别上的金额。原文还举了一个反例:如果每周只许押 1 美元、赢的钱不许再押,那就该让每次的期望收益最大,而不是用这套办法。

原文也写明了它证明到了哪一步:

It should be noted that we have only shown that our gambler's capital will surpass, with probability one, that of any gambler apportioning his money differently from ours but still in a fixed way for each received symbol, independent of time or past events.

我们的译文:要注意,我们只证明了,这位赌徒的本金以概率 1 会超过另一位"分配方式不同、但同样对每种收到的信号都按固定方式分配、与时间和过去的结果无关"的赌徒。也就是说,它比的是各种固定比例的押法,不是所有可能的押法。

放到加密交易里,本站的看法是还要再加几条:

  • 胜率和盈亏比是估的。原文里的概率是已知的;交易里的胜率、盈亏比来自你过去的记录,样本少、行情变了都会让它失真。上一节的例子说明,估高一点就足以让长期从赚变亏。
  • 亏损不一定停在止损。公式假设输一次正好亏掉 f。跳空、插针、滑点、强平都可能让实际亏损超过止损设定的金额,合约杠杆越高越明显;强平价怎么算见强平价计算器。
  • 手续费要先扣。手续费会把实际盈亏比压低,用扣费前的盈亏比算凯利,比例会偏大;见盈亏比怎么算里"手续费会把盈亏比压低"一节。
  • 同时开几笔,不能各算各的。公式是一笔接一笔下注的情形;几笔方向相同、同涨同跌的仓位同时开着,合起来的风险比单算一笔大。

和凯利公式一起看的另外两个数:连亏叠起来最深跌多少,见最大回撤是什么、怎么算;收益和波动合起来怎么评价,见夏普比率是什么。

常见问题

凯利公式是什么?

凯利公式出自凯利(J. L. Kelly, Jr.)1956 年发表在《贝尔系统技术期刊》上的论文《A New Interpretation of Information Rate》。它回答的是:可以反复下注、赢了的钱还能接着押的时候,每次该押本金的多大比例,才能让本金长期增长得最快。原文的做法是每次让本金对数的期望值最大,而不是让期望收益最大。

凯利公式怎么计算?

把胜率记作 W,盈亏比记作 R(赢一次赚 R,输一次亏 1),凯利比例 = W − (1 − W) ÷ R,算出来是每次拿本金的多大比例去承担这一笔的亏损。例如胜率 40%、盈亏比 2,凯利比例 = 0.4 − 0.6 ÷ 2 = 10%。这个一般写法是本文从原文的增长率定义推出来的;原文直接写出的是赔率 1 赔 1 的情形,结果是胜率减败率。

半凯利是什么?

半凯利就是只押凯利比例的一半。用本文的演示数字算(胜率 55%、盈亏比 1),押满凯利每笔复利增长约 0.50%,押一半约 0.38%,增长速度保留了约四分之三,押上去的比例却少了一半。胜率和盈亏比都是估出来的,估高了就会押多,半凯利是给估计误差留的余地。

凯利公式算出来是负数怎么办?

负数说明这笔交易按你估的胜率和盈亏比,期望是亏的,凯利公式给的答案是不做。凯利原文在讨论多个选项时也写到,所有选项的期望都不划算时就一注不下。比如胜率 40%、盈亏比 1.2,凯利比例 = 0.4 − 0.6 ÷ 1.2 = −10%;这时的胜率也低于不赚不亏需要的约 45.45%。

资料来源

按胜率和盈亏比的凯利公式写法、演示表、半凯利与两倍凯利的增长率、胜率估高的例子,都是本文的推算,可以照着步骤在表格软件里复核。

本文为算术科普,不构成投资建议,不预测价格、不承诺收益、不推荐币种、策略或带单者。文中胜率与盈亏比均为演示假设。加密资产价格波动大,本金可能亏损;按凯利比例下注同样可能连续亏损。