凯利公式详解:f* = (bp - q) / b 的数学推导与交易含义
说到资金管理,凯利公式是个绕不开的话题。我第一次接触它是在做期货回测的时候,当时觉得这公式挺玄乎的——凭什么一个数学式子就能告诉我该押多少仓位?后来自己手推了一遍,才明白它背后的逻辑其实很朴素。
从赌场到交易:凯利公式的起源
凯利公式最早是贝尔实验室的约翰·凯利研究出来的。他当时在琢磨一个通信理论问题,后来发现这玩意儿用在赌博上特别合适。再后来,交易员们发现它也能用来算仓位。
公式长这样:
f* = (bp - q) / b
其中:
- f* —— 最优投资比例(仓位占比)
- b —— 赔率(盈亏比)
- p —— 胜率(盈利概率)
- q —— 败率(亏损概率),q = 1 - p
说白了,这个公式就是在告诉你:给定你的胜率和赔率,每次该押多少本金才能让长期增长最快。
数学推导:一步步拆解
推导过程其实不复杂。我们从一个简单的赌博模型开始。
假设你每次下注本金的一定比例 f。赢了,你的资金变成原来的 (1 + bf) 倍;输了,变成原来的 (1 - f) 倍。连续赌 n 次,其中赢了 w 次,输了 l 次(w + l = n),最终资金是:
F_n = F_0 * (1 + bf)^w * (1 - f)^l
取个对数,方便计算:
ln(F_n / F_0) = w * ln(1 + bf) + l * ln(1 - f)
两边除以 n,得到平均对数增长率:
G(f) = p * ln(1 + bf) + q * ln(1 - f)
这里 p = w/n,q = l/n。我们要找的就是让 G(f) 最大的 f。
对 G(f) 求导,令导数为零:
dG/df = p * b / (1 + bf) - q / (1 - f) = 0
解这个方程:
p * b * (1 - f) = q * (1 + bf)
p * b - p * b * f = q + q * b * f
p * b - q = f * (p * b + q * b)
f = (p * b - q) / (b * (p + q))
因为 p + q = 1,所以:
f* = (bp - q) / b
嗯,推导完了。你看,其实就是个求极值的问题。
交易含义:凯利公式到底在说什么
公式本身是数学,但放到交易里,含义就丰富多了。
1. 胜率和赔率的平衡
凯利公式的核心思想是:胜率再高,赔率太低也别重仓。反过来,赔率再高,胜率太低同样不能押太多。
举个例子:
| 场景 | 胜率 p | 赔率 b | 凯利仓位 f* |
|---|---|---|---|
| 高胜率低赔率 | 80% | 0.5 | (0.5*0.8 - 0.2) / 0.5 = 40% |
| 低胜率高赔率 | 30% | 4 | (4*0.3 - 0.7) / 4 = 12.5% |
| 中等胜率中等赔率 | 60% | 1.5 | (1.5*0.6 - 0.4) / 1.5 = 33.3% |
你看,第一种情况胜率高达80%,但因为赔率只有0.5(赚只能赚一半),凯利建议只押40%。第二种情况胜率只有30%,但赔率是4倍,凯利建议押12.5%。
核心结论:凯利公式本质上是在帮你做「风险-收益」的最优配置。它不关心你单次赚多少,只关心长期复利增长。
2. 什么时候不该下注
如果 f* ≤ 0,说明这笔交易不值得做。从公式看:
f* ≤ 0 => bp - q ≤ 0 => bp ≤ q => p ≤ q / b
举个例子,如果赔率 b = 1(盈亏比1:1),那么 p ≤ 0.5 时就不该下注。说白了,胜率不到一半的公平游戏,别玩。
注意:凯利公式假设你每次下注的比例是固定的,而且交易是独立重复的。实盘中这两条很难完全满足,所以凯利算出来的仓位通常要打折用。
实战中的凯利:我踩过的坑
我曾经在回测一个趋势跟踪策略时,直接用凯利公式算出来的仓位跑实盘。结果呢?连续三次亏损后,账户回撤超过30%。后来复盘才发现,问题出在两点:
- 参数估计不准:回测的胜率和赔率是历史数据算的,未来不一定重复。
- 交易不独立:趋势策略的盈亏是序列相关的,凯利公式的独立性假设不成立。
从那以后,我养成了一个习惯:凯利仓位 × 0.25 才是实际仓位。这叫「半凯利」或「四分之一凯利」,虽然增长慢一点,但睡得着觉。
我的建议:凯利公式更适合作为仓位上限的参考,而不是精确的仓位指令。先用它算出一个「天花板」,再根据自己的风险承受能力往下调。
知识体系图:凯利公式的核心逻辑
下面这张图帮你理清凯利公式的来龙去脉:
几个关键点再强调一下
- 凯利公式不是圣杯:它假设你知道准确的 p 和 b,这在交易中几乎不可能。我一般用历史回测的保守估计值。
- 仓位要打折:实盘中,我建议用凯利仓位的 1/4 到 1/2。增长慢点没关系,活得久更重要。
- 别在连续亏损后加仓:凯利公式不包含「赌徒谬误」——它假设每次交易独立。连续亏损后,你的胜率并不会自动回升。
一句话总结:凯利公式告诉你「最多押多少」,而不是「应该押多少」。真正的仓位,要在凯利仓位的基础上,结合你的心理承受能力和资金规模来定。
好了,凯利公式的推导和含义就聊到这儿。下一章我们聊聊怎么在实际策略中估算 p 和 b——这两个参数估不准,公式再漂亮也没用。