Learning
VOL. XXXII · NO. 09 · Trading · 01 JAN 1970

Kelly + ruin probability:回撤阈值与杠杆上限的数学推导

交易实操 · 01 JAN 1970 · 7 min read · 1,606 words
· · ·

R4 + R5 硬性要求——回撤与杠杆必须从 ruin 推,不是拍数字

交易实操·支柱③「决策引擎」第 3 讲 / 共 34 讲

**预计时间:**22 分钟读 + 8 分钟做习题。

本课要解决的问题
市场常见的「回撤 20% 降半仓 / 回撤 30% 空仓」是 ad-hoc 拍数字。Kelly + ruin probability 给出 数学推导的回撤阈值与杠杆上限。本课包含 R4 + R5 两个核心硬性要求。

前言

0007 EV + Bayesian 更新 给 EV 公式和机会排序。本课给 Kelly + ruin probability 数学推导——这是 R4(风险阈值)和 R5(杠杆上限)的硬性要求。


1. Kelly 公式(二元胜负 + 连续形式)

1.1 二元胜负

f=bpqbf^* = \frac{b \cdot p - q}{b}

1.2 连续形式

f=μrfσ2f^* = \frac{\mu - r_f}{\sigma^2}

1.3 几何增长

g=pln(1+fb)+qln(1f)g = p \cdot \ln(1 + f \cdot b) + q \cdot \ln(1 - f)

g 是每笔期望对数增长率。最大化 g 的仓位就是 Kelly

worked example:f=0.17、b=1.5、p=0.6 → g = 0.6 × ln(1 + 0.17 × 1.5) + 0.4 × ln(1 − 0.17) ≈ +6.1%/笔


2. ruin probability 推导(数学)

2.1 简化形式(独立同分布二元赌博)

P(ruin)exp(2pqfTb)P(\text{ruin}) \approx \exp(-2 \cdot p \cdot q \cdot f \cdot T \cdot b)

其中 T 是交易次数(不是日历时间)。

2.2 worked example

p=0.55、q=0.45、f=0.2、b=1.2、T=100 → P(ruin) ≈ exp(−2 × 0.55 × 0.45 × 0.2 × 100 × 1.2) = exp(−11.88) ≈ 6.9 × 10^{-6}

2.3 half-Kelly vs full Kelly

half-Kelly ruin_prob ≈ 全 Kelly 的 1/100(指数项减半 → e^−x → e^−(x/2) → 平方关系)。这是为什么 half-Kelly 是行业共识稳健值。


3. R4 硬性要求:回撤阈值从 ruin 数学推导(不是拍数字)

3.1 错误(ad-hoc):拍数字「回撤 20% 降半仓」「回撤 30% 空仓 30 天」

R1 三问检查:

  • ① 影响变量:无数学定义
  • ② 推导依据:无
  • ③ trade-off:无量化

禁止使用

3.2 正确(数学推导):从期望最大回撤 + ruin_prob 阈值推导

Step 1 — 期望最大回撤的数学估计

半 Kelly + 5 年 + p=0.6 + b=1.5 下,期望最大回撤 ≈ f*(safe) × σ × √T × z(其中 z 是 95% CI 因子 ≈ 1.65)。

简化推导

  • 单笔风险 = f × ATR ≈ f × σ × √(1/252)
  • 5 年累计波动 ≈ σ × √(5 × 252) × z
  • 在 worst case 下,账户会经历 σ × √T × z 倍标准差的回撤

worked example(500 万、f=0.15、σ=20%、T=5 年)

  • 单笔 σ 贡献 = 0.15 × 0.20 × √(1/252) ≈ 0.0019(占账户 0.19%)
  • 5 年累计 = 0.20 × √(5 × 252) ≈ 7.1
  • 期望最大回撤 ≈ 0.15 × 7.1 ≈ 1.07(账户 107%)

注意 107% 远超 100%,意味着 5 年后破产概率显著。half-Kelly + 5 年需要降低 f 或缩短 T。

Step 2 — 阈值数学公式

设账户回撤阈值 = D*,则触发动作:D* > D*_expectation → 模型假设破坏(H3 或 H4)→ 降到 1/3-Kelly + 重检 p。

禁止「回撤 > 20% 一律降半仓」——必须按 ruin 数学推导。


4. R5 硬性要求:杠杆上限从 ruin 约束推导(不是拍数字)

4.1 错误(ad-hoc):拍数字「f* > 0.3 加 1.5 倍」「f* > 0.5 加 2 倍」

R1 三问检查:

  • ① 影响变量:杠杆 L 没有任何数学推导
  • ② 推导依据:无
  • ③ trade-off:无量化

禁止使用

4.2 正确(数学推导):max_L such that P(ruin) < 1%

Step 1 — 杠杆暴露 = f(safe) × 名义杠杆 L*

Step 2 — ruin_prob 公式代入

P(ruin)exp(2pqfLTb)<0.01P(\text{ruin}) \approx \exp(-2 \cdot p \cdot q \cdot f \cdot L \cdot T \cdot b) < 0.01

取对数:

2pqfLTb<ln(0.01)=4.605-2 \cdot p \cdot q \cdot f \cdot L \cdot T \cdot b < \ln(0.01) = -4.605

解出 max_L:

Lmax=4.6052pqfTbL_{\max} = \frac{4.605}{2 \cdot p \cdot q \cdot f \cdot T \cdot b}

worked example(p=0.6、q=0.4、f=0.15、b=1.5、T=100 次交易)

Lmax=4.6052×0.6×0.4×0.15×100×1.5=4.60510.80.426L_{\max} = \frac{4.605}{2 \times 0.6 \times 0.4 \times 0.15 \times 100 \times 1.5} = \frac{4.605}{10.8} \approx 0.426

意味着不加杠杆(L=1.0 就已经接近 1% ruin_prob 上限)。如果想加杠杆,需要:

  • 缩短 T(更短时间窗口)
  • 提高 b(更紧的止损 → 更大盈亏比)
  • 提高 p(更可信的信号)

4.3 杠杆使用条件(条件式)

IFTHEN
f*(safe) ≤ 0不加杠杆
0 < f*(safe) ≤ 0.15不加杠杆(半 Kelly 已含安全边际)
0.15 < f*(safe) ≤ 0.25可考虑加 1.0 – 1.5 倍(数学验证 L × f < 1.0% ruin)
f*(safe) > 0.25不可持续(Kelly 假设 H1/H2/H3 被破坏)

5. 4 个实战修正

5.1 H1 对数效用修正(safety_factor)

个人效用safety_factor推导
比 log 更厌恶(多数散户)0.3(1/3-Kelly)ruin_prob 比 half-Kelly 低 2 个数量级
与 log 一致0.5(half-Kelly)行业共识稳健值
比 log 更激进(罕见)0.7自我确认必要性高

5.2 H2 有限时间修正

时间窗口safety_factor推导
< 1 年0.2样本少 + ruin 方差大
1 – 3 年0.3置信区间仍宽
3 – 10 年0.5Kelly 渐近收敛
10 年以上0.5 – 0.7接近理论值

5.3 H3 概率不准修正

  1. 每笔 Bayesian 更新(per 0007
  2. 敏感性分析:p ± 10%,若 f* 变化 > 50% → 此机会不入场
  3. 用悲观 p(先验 − 1σ)算 f*

5.4 H4 成本修正

f*(safe) = f × (1 − round_trip_fee − slippage − tax)

策略期望收益 < 4% → Kelly 退化 → 不入场。


6. p ≤ 0.5 且 b ≈ 1 时 f* ≤ 0

数学结果:

f=1.0×0.50.51.0=0f^* = \frac{1.0 \times 0.5 - 0.5}{1.0} = 0

→ 不加杠杆(EV 也接近 0)。


实操产出物

完成本课后,你应该产出:

  1. Kelly + ruin 计算表:输入 p/b/T/cost/safety_factor → 输出 f*(safe)、ruin_prob
  2. 回撤阈值表:不同时间窗口 + 不同 f*(safe) 下的期望最大回撤(数学计算)
  3. 杠杆上限表:不同 f*(safe) + ruin_prob 约束下的 max_L
  4. 个人 safety_factor 矩阵:行=时间窗口,列=效用函数偏好,填入具体数值

练习题

1

半 Kelly vs 全 Kelly 的 ruin_prob 比是?

2

「回撤 20% 降半仓」为什么是错的?

3

「f* > 0.3 加 1.5 倍杠杆」为什么是错的?

4

p=0.55、q=0.45、f=0.2、b=1.2、T=100 的 ruin_prob 是?

5

p=0.5、b=1.0 的 Kelly f* 是?

6

100x 收益的 0DTE 期权 + 500 万本金,最终年化期望是?


交叉引用


本课用户原话出处

“Kelly 不是公式,是风险约束工具。”

“回撤阈值必须从 ruin 数学推导,不是拍 20%/30%。”

“杠杆上限必须从 ruin 推导,不是拍 1.5/2 倍。“


合规声明

本课仅作为教育用途,不构成投资建议。Kelly 与 ruin probability 的数学推导见 Thorp (1997)、MacLean–Ziemba 系列论文。数字为框架示例,非收益承诺。投资有风险,决策请独立判断。