先给答案:凯利公式算的是"每笔交易最多拿账户的百分之几去冒险",公式是 f = p − (1 − p) ÷ b。p 是胜率,b 是盈亏比,也就是平均每次赚的除以平均每次亏的。胜率 50%、盈亏比 2,算出来是 25%,意思是这一笔打到止损时,最多可以亏掉账户的 25%。
这个数在实盘里很少有人照着用。常见做法是只用一半(半凯利)甚至四分之一,再把它当成上限:算出来比你平时每笔亏的 1% 还小,说明这套打法的优势很薄;算出来是 0 或负数,说明在这组胜率和盈亏比下,这笔根本不该做。下面有计算器和对照表,填自己的数就能看。
凯利公式怎么算:把胜率和盈亏比代进去
凯利公式出自 1956 年贝尔实验室研究员凯利(John Kelly)的一篇论文,原本研究的是信号传输,后来被用到下注和投资上。放在交易里,最常用的是这个写法:
f = p − (1 − p) ÷ b
f 是每笔最多亏掉账户的比例,p 是胜率,b 是盈亏比。比如胜率 50%,平均每次赚 2 元、亏 1 元,b 就是 2,f = 0.5 − 0.5 ÷ 2 = 0.25,也就是 25%。换成胜率 40%、盈亏比 1.5,f = 0.4 − 0.6 ÷ 1.5 = 0,这套做法刚好没有优势,凯利给出的答案是一分钱都不该押。
胜率和盈亏比从哪来,期望值计算器那页讲过:至少记三十笔、扣掉手续费、不同打法分开算。凯利公式和期望值是一回事的两面:期望值告诉你这套打法赚不赚钱,凯利告诉你赚钱的前提下每笔该冒多大风险。期望值是负的,凯利一定算出 0 或负数。
凯利公式计算器
填你自己最近三十笔以上的胜率和盈亏比,再填账户金额。结果会同时给出全凯利和半凯利,以及按半凯利算,这一笔打到止损最多能亏多少钱。
12.5%
按半凯利,这一笔打到止损最多亏 1,250。这是上限,不是目标:它比你平时每笔定的风险(比如 1%)还大时,按你自己的小数字来。
| 全凯利 | 25.0% |
| 要有优势,胜率至少需要 | 33.3% |
只按你填的数字算,数字不会离开你的浏览器;没算手续费和滑点。胜率和盈亏比是过去的记录,不保证以后还是这样。
凯利公式仓位对照表
下面是常见胜率和盈亏比组合下的全凯利比例,也就是每笔最多亏掉账户的比例。实盘建议至少再除以 2。
| 胜率 \ 盈亏比 | 1 : 1 | 1.5 : 1 | 2 : 1 | 3 : 1 |
|---|---|---|---|---|
| 35% | 不做 | 不做 | 2.5% | 13.3% |
| 40% | 不做 | 不做 | 10.0% | 20.0% |
| 45% | 不做 | 8.3% | 17.5% | 26.7% |
| 50% | 不做 | 16.7% | 25.0% | 33.3% |
| 55% | 10.0% | 25.0% | 32.5% | 40.0% |
| 60% | 20.0% | 33.3% | 40.0% | 46.7% |
"不做"表示凯利算出来是 0 或负数,这组数字下没有优势。表里最该看的不是右下角那些很大的数,而是左边那一片"不做":盈亏比 1 比 1 时,胜率不到一半就没有任何一个仓位是对的,再怎么调仓位都救不回来。
算出来的比例,怎么变成仓位
凯利算出来的是"打到止损时最多亏多少",不是"拿多少钱去买"。这两件事差得很远。
还是账户 1 万元、半凯利 12.5% 的例子:这一笔最多亏 1,250 元。如果止损放在买入价下方 5%,仓位就是 1,250 ÷ 5% = 25,000 元,比整个账户还大,现货买不起,只能开杠杆。按很多人用的每笔 1% 来算,最多亏 100 元,仓位是 2,000 元。同一套打法,按半凯利下的仓位是 1% 规则的十二倍多,这也是为什么半凯利在交易里也常常被认为太激进。
换算公式只有一个:仓位 = 这笔最多亏的钱 ÷ 止损距离。单笔风险计算器里把"每笔最多亏多少"填成凯利给的数,就能直接算出仓位;止损距离怎么定,止损设多少合适那篇有完整的方法。
为什么实盘更常用半凯利
凯利公式的目标是让账户长期增长得最快,但它对下注比例非常敏感。下面这张图还是胜率 50%、盈亏比 2 的例子,横轴是每笔冒险的比例,纵轴是长期增长速度,全凯利记为 100%。
两个数字值得记住。半凯利只押一半,长期增长还剩约 76%,账户的起伏却小了一半。押到两倍凯利,长期增长归零,再多就是越做越少,哪怕这套打法本身是赚钱的。曲线两边不对称,押少了吃亏不大,押多了吃亏很大,所以在拿不准的时候,往少的一边偏是更划算的选择。
凯利公式的盲点:胜率是你估出来的
公式里的胜率和盈亏比,都被当成确定的数。可你手里只有过去几十笔的记录,真实的胜率可能比记录低。假设你记下来是胜率 50%、盈亏比 2,于是按全凯利每笔冒 25%;而这套打法真实的胜率其实只有 45%。按真实情况算,最优比例是 17.5%,你押的 25% 已经超了。这时候反而是半凯利(12.5%)的长期增长更高:能拿到最优的约 92%,你以为的"全凯利"只拿到约 83%。
记录里的胜率偏高,最常见的原因有几个。刚连赢了一段,觉得找到了门道,这是把运气当本事;只拿最近一个月的单子算,正好赶上顺风行情,这是近因偏误;把"赚来的钱"单独记一本账,觉得押大一点也无妨,这是心理账户。这三种情况都会让你算出一个更大的凯利比例,而它们出现的时候,恰恰是最不该加大的时候。
凯利公式还有一个容易被忽略的好处:它按比例下注,亏了之后账户变小,下一笔按新的账户算,押的钱也跟着变小。这和"输了就加倍、想一把赢回来"正好相反,后者在输了想翻本那篇里叫马丁格尔。另外,公式默认每笔亏损不会超过止损,可跳空和插针会让实际亏损比计划的大,这是又一个应该打折用的理由。
还常被问到的三件事
凯利公式是什么意思?
一个用来算"每次该押多大比例"的公式:f = p − (1 − p) ÷ b,p 是胜率,b 是盈亏比。放在交易里,f 是每笔打到止损时最多亏掉账户的比例。它的目标是让账户长期增长最快,算出 0 或负数,表示这组胜率和盈亏比下不该做。
半凯利是什么?为什么更常用?
半凯利就是把凯利算出来的比例除以 2。按凯利公式的增长率算,它能保留全凯利约四分之三的长期增长,账户起伏却小了一半;而且胜率估高了的时候,半凯利受的伤小得多。所以实际使用时,半凯利甚至四分之一凯利比全凯利常见。
凯利公式能用在炒币或者合约上吗?
能算,但要注意三点。胜率和盈亏比要用自己的真实成交记录,不能用别人宣传的数字;合约里凯利算的是打到止损时亏掉的钱占账户的比例,不是杠杆倍数;币价跳空、插针时实际亏损可能比止损大,所以更要打折用,算出来的数当上限,不当目标。
这篇参考了哪些资料
- Wikipedia · Kelly criterion:凯利公式的来历、二元下注的公式,以及全凯利、半凯利、四分之一凯利的说法。
- Kelly (1956), A New Interpretation of Information Rate,Bell System Technical Journal:凯利公式的原始论文。
- 文中对照表、增长曲线和"胜率估高"的算例,都按凯利公式 f = p − (1 − p) ÷ b 与长期增长率 p × ln(1 + b × f) + (1 − p) × ln(1 − f) 计算,未计手续费。