凯利公式由贝尔实验室科学家 John L. Kelly Jr. 于1956年提出,最初用于解决电话线路噪声问题,后被引入投资领域,用于计算最优开仓比例,实现资金的长期复利最大化。 ________________________________________ 一、核心公式 基础形式(二元结果) f∗=bp−qb=bp−(1−p)bf∗=bbp−q=bbp−(1−p) 参数 含义 f* 最优仓位比例(占当前总资金的比例) b 盈亏比(赢时赚 b 倍,即净收益/净亏损) p 胜率(获胜概率,0~1) q = 1-p 败率(失败概率) 理解公式的分子 • bp = 每次开仓的期望收益 • q = 每次开仓的期望亏损 • bp - q = 单次开仓的净期望值(Edge) 只有当 bp > q(即期望值为正)时,f* 才大于 0,才应该开仓。 ________________________________________ 二、实例演算 场景:一个策略胜率 60%(p=0.6),每次对了赚 1 元,错了亏 1 元(b=1)。 f∗=1×0.6−0.41=0.6−0.41=0.2f∗=11×0.6−0.4=10.6−0.4=0.2 结论:每次应投入总资金的 20%。 胜率 盈亏比 最优仓位 f* 50% 2:1 25% 60% 1:1 20% 40% 3:1 20% 55% 1:1 10% 30% 5:1 16% 50% 1:1 0%(不值得参与) ________________________________________ 三、扩展形式 1. 连续结果(投资实战更常用) 当收益不是"赢或输"的二元结果,而是连续分布时: f∗=μ−rσ2f∗=σ2μ−r • μ = 策略的期望收益率 • r = 无风险利率 • σ² = 收益率的方差(波动率平方) 2. 多资产同时开仓 当同时投资多只标的,需要解一个最大化问题: max⁡fE[ln⁡(1+fTR)]fmaxE[ln(1+fTR)] 用数值优化(如牛顿法)求解各标的的 f* 向量。 ________________________________________ 四、为什么是"对数最优"? 凯利的目标函数是最大化资金的对数增长率: G(f)=p⋅ln⁡(1+bf)+q⋅ln⁡(1−f)G(f)=p⋅ln(1+bf)+q⋅ln(1−f) • 对 G(f) 求导,令导数为 0,解得 f* • 对数效用函数天然具有风险厌恶特性 • 意味着:任何其他固定比例策略,长期来看都会被凯利超越 ________________________________________ 五、实战中的关键修正 1. 半凯利(Half Kelly) fhalf=f∗2fhalf=2f∗ 策略 长期增长率 最大回撤 波动 全凯利 f* 100% ~50% 极高 半凯利 f*/2 ~75% ~25% 适中 四分之一凯利 f*/4 ~44% ~12% 较低 实战中绝大多数交易员使用半凯利或更保守的比例,因为: • 胜率和盈亏比是估计值,存在误差 • 全凯利的回撤太大,心理难以承受 • 参数高估时全凯利会导致严重亏损 2. 考虑连续亏损 凯利假设每次开仓独立,但市场存在连续亏损期。如果连亏 N 次: 剩余资金=(1−f)N剩余资金=(1−f)N f 连亏5次 连亏10次 20%(全凯利) 32.8% 10.7% 10%(半凯利) 59.0% 34.9% 5% 77.4% 59.9% ________________________________________ 六、核心优缺点 优点: • 数学上有严格的最优性证明 • 永不会破产(f* < 1 时每次只投入部分资金) • 自动实现"赢时加仓、输时减仓" 缺点: • 需要准确估计 p 和 b,实际中很难精确 • 波动巨大,不适合低风险偏好者 • 假设每次开仓独立,忽略了市场相关性 ________________________________________ 七、一句话总结 凯利公式告诉你:在知道胜率和盈亏比的前提下,每次该开仓多少才能让资金长期增长最快。但在实战中,几乎所有人都会用半凯利甚至更保守的比例。 下面是用 Python 实现凯利公式并做蒙特卡洛模拟,对比全凯利、半凯利、固定仓位等不同策略的长期表现。 核心结论: 策略 中位数终值 爆仓概率 推荐度 全凯利 25% 103万 (10x) 2% ⭐ 高风险 半凯利 12.5% 57万 (5.7x) 0% ⭐⭐⭐⭐ 最佳平衡 1/4凯利 6.25% 28万 (2.8x) 0% ⭐⭐⭐ 最稳健 固定 20% 92万 (9.2x) 2% ⭐ 高风险 固定 10% 44万 (4.4x) 0% ⭐⭐⭐ 稳健 关键发现:全凯利和固定20%都出现了2%的爆仓概率——在50笔交易的周期内,有2%的路径资金跌破初始10%。这正是实战中几乎没人用全凯利的原因。