博客
Kelly 准则:用你的 Trade 计算,并选择一个比例
Kelly 准则给出在长期增长最快时,一笔平均亏损的 Trade 可以占用账户的比例。用胜率和盈亏比计算,了解它在为什么定规模,并选择与你的 Trade 数量相符的比例。
12 分钟阅读Dennis Jahn#术语表#仓位大小
交易涉及风险。Tradeways 提供交易日志和分析软件,不提供投资建议。 阅读风险披露.
相关
博客
Kelly 准则给出在长期增长最快时,一笔平均亏损的 Trade 可以占用账户的比例。用胜率和盈亏比计算,了解它在为什么定规模,并选择与你的 Trade 数量相符的比例。
12 分钟阅读Dennis Jahn#术语表#仓位大小
交易涉及风险。Tradeways 提供交易日志和分析软件,不提供投资建议。 阅读风险披露.
相关
我们使用 Cookie(包括分析类)来改进 Tradeways。 · 隐私
Kelly 准则给出每笔 Trade 应承担风险的账户比例,使账户以尽可能快的长期速度增长。对只有盈利或亏损两种结果的 Trade,公式为 Kelly % = W − (1 − W) ÷ R,其中 W 是你的胜率,R 是平均盈利除以平均亏损。胜率为 45%、平均盈利是平均亏损的 2 倍时,Kelly 为 0.45 − 0.55 ÷ 2 = 17.5%。
这 17.5% 是一笔平均亏损的 Trade 会占用的账户比例,它是上限,不是目标。本文说明如何用你的交易日志计算它,比例高于或低于它时增长会怎样,以及为什么胜率背后的 Trade 数量决定了你该采用其中多少。
Kelly % = W − (1 − W) ÷ R
结果为正,就是一笔平均亏损最多可以占用的账户比例。结果为 0 或更低,说明所测量的 Trade 没有可供定规模的 Edge:按这些平均值,无论承担多少风险,都会拉低账户的长期增长。
下面的交易者是假设的。在 25,000 USD 的账户上,44 笔已平仓 Trade 中有 18 笔盈利、22 笔亏损、4 笔 Breakeven。
| 输入 | 计算 | 数值 |
|---|---|---|
| 胜率 W | 18 ÷ (18 + 22) | 45% |
| 平均盈利 | 5,400 USD ÷ 18 | 300 USD |
| 平均亏损 | 3,300 USD ÷ 22 | 150 USD |
| 盈亏比 R | 300 ÷ 150 | 2.0 |
| Kelly | 0.45 − (0.55 ÷ 2.0) | 17.5% |
按完整 Kelly,一笔平均亏损的 Trade 会占用 25,000 USD 的 17.5%,即 4,375 USD。半 Kelly 为 2,187.50 USD,四分之一 Kelly 为 1,093.75 USD。这位交易者实际的平均亏损为 150 USD,占账户的 0.6%。
公式把一笔 Trade 当作一次下注:要么亏掉你承担风险的金额,要么赢得该金额的 R 倍。所以 Kelly 比例定的是你的平均亏损,不是持仓价值,也不一定是你的止损距离。
如果你的平均亏损等于你计划在止损处承担的风险,两者就相同。如果你经常在止损之前出场,平均亏损就小于计划风险。假设上面的交易者平均亏损只有计划风险的 0.8。要让平均亏损保持在半 Kelly 的 8.75% 账户比例,他每笔 Trade 的计划风险应为 8.75% ÷ 0.8 ≈ 10.9%。这只是演示换算,不是建议使用的规模:下文关于 Trade 数量的部分说明了为什么 40 笔有结果的 Trade 支持的比例要低得多。要把计划风险换算为你所交易标的的持仓规模,请使用持仓规模计算器。
Kelly 让增长最大化,但在峰值附近增长曲线很平坦,而 Drawdown 却随比例持续加深。账户比例为 f 时,每笔 Trade 的长期增长为 W × ln(1 + f × R) + (1 − W) × ln(1 − f)。以示例为例:
| Kelly 的比例 | 平均亏损占用 | 增长,占完整 Kelly 的比例 | 连续 5 次亏损的代价 |
|---|---|---|---|
| 四分之一 | 4.375% | 45% | 20.0% |
| 一半 | 8.75% | 76% | 36.7% |
| 完整 | 17.5% | 100% | 61.8% |
| 一倍半 | 26.25% | 77% | 78.2% |
| 两倍 | 35% | 6% | 88.4% |
最后一列中的每次亏损,都按当时账户余额的这个比例计算。半 Kelly 保留了 76% 的增长率,并把连续 5 次亏损的代价从账户的 61.8% 降到 36.7%。一倍半 Kelly 的增长速度与半 Kelly 大致相当,同样的连续亏损造成的 Drawdown 却超过两倍。两倍 Kelly 时,增长接近于零,超过约 35.6% 就转为负值:即使每笔 Trade 的期望值都为正,账户也会随时间缩水。低于 Kelly 时,你放弃一部分增长,换取较小的 Drawdown;高于 Kelly 时,你放弃的增长差不多,却要承受更大的 Drawdown。
在这个胜率下,连续 5 次亏损并不罕见。每笔有结果的 Trade 亏损概率为 55%,且各笔 Trade 相互独立时,按直接计算,40 笔 Trade 中至少出现一次连亏 5 笔或更多的概率约为 62%,100 笔则约为 92%。
John Kelly 1956 年的论文 A New Interpretation of Information Rate(2026 年 10 月 16 日查阅)定义了这个公式所依据的长期增长率,并证明对于赔率为 1 比 1 的下注,下注比例等于获胜概率减去失败概率时增长最大,也就是上面 R = 1 时的公式。同一篇论文还证明,每次都押上全部本金,会让持续下注的赌徒以概率 1 破产。
你的胜率是由有限笔 Trade 得出的估计值。它的标准误为 √(W × (1 − W) ÷ n),其中 n 是盈利笔数加亏损笔数。对示例中 40 笔有结果的 Trade,约为 √(0.45 × 0.55 ÷ 40) ≈ 7.9 个百分点。
胜率低一个标准误,即 37.1%,盈亏比不变,Kelly 为 0.3713 − 0.6287 ÷ 2 ≈ 5.7%。如果这才是真实胜率,按测得的 17.5% 定规模就约为 Kelly 的三倍,此时的增长率为负。所以 45% 胜率下的 40 笔 Trade,无法排除完整 Kelly 会让账户缩水的可能。
下表保持测得的胜率 45% 和盈亏比 2.0 不变,只改变有结果的 Trade 数量。
| 有结果的 Trade 数 | 标准误 | 胜率低一个标准误 | 该胜率下的 Kelly |
|---|---|---|---|
| 40 | 7.9 个点 | 37.1% | 5.7% |
| 100 | 5.0 个点 | 40.0% | 10.0% |
| 200 | 3.5 个点 | 41.5% | 12.2% |
| 400 | 2.5 个点 | 42.5% | 13.8% |
盈亏比同样是估计值,少数几笔大额盈利就可能让它移动。按悲观胜率对应的 Kelly 数值定规模,可以在你的估计偏高时,让你保持在峰值以下。半 Kelly 也不会自动安全:在 40 笔 Trade 时,示例的半 Kelly 8.75% 仍高于胜率低一个标准误时的 5.7%。在那个胜率下,8.75% 的增长仍然为正,但你已经越过了峰值,用更大的 Drawdown 换来更少的增长。
Breakeven Trade。 正好以零平仓的 Trade 不会改变账户,所以不会改变使增长最大的比例。它只会降低每笔 Trade 的增长,因为决定结果的 Trade 变少了。这就是 Breakeven 既不计入 W 也不计入 R 的原因。如果你的 Breakeven 在扣除费用后是小额亏损,就应该算作亏损。在 Tradeways 中,Breakeven 阈值会把小额盈利和亏损归入 Breakeven。如果它把你想算作亏损的 Trade 也归了进去,请在查看 Kelly 数值之前调低它。
大小不同的 Trade。 公式假设每笔盈利都等于平均盈利,每笔亏损都等于平均亏损。真实的 Trade 各不相同。如果示例中的盈利 Trade 分布在 100 USD 和 500 USD 之间,平均仍为 300 USD,那么在这些结果上使长期增长最大的比例约为 14.5%,而不是 17.5%。在这个例子中,盈利的分散使最优值降低了 3 个百分点,这又是一个让你比公式更保守地定规模的理由。
Tradeways Dashboard 上的 Kelly 准则 Widget(见 Widget 文档)使用:
对示例的 44 笔 Trade,卡片显示 17.5% 和“45% WR · 2.00 R:R”,下方是平均盈利和平均亏损。数值为负,表示该范围内的 Trade 按这些平均值没有 Edge。范围内没有盈利或没有亏损 Trade 时,卡片显示“—”。
由于该 Widget 遵循全局筛选,你可以单独查看某个策略、代码或一天中某个时段的 Kelly 数值。每个筛选后的数值依据的 Trade 更少,因此按它定规模之前,请对照上表检查它的 Trade 数量。蒙特卡洛模拟展示选定的比例在同一批 Trade 的不同排列下会怎样,破产风险是某个比例把账户拖到你设定的 Drawdown 阈值的概率,持仓规模则介绍固定比例定规模。
Kelly 比例描述的是过去的结果,不能预测下一笔 Trade。在用它为持仓定规模之前,请阅读 Tradeways 风险披露。
查看 Tradeways Dashboard 可以显示什么,然后把 Kelly 准则 Widget 添加到胜率旁边,并筛选到你想定规模的 Setup。