← 返回目录
p5.10动手⏱ 约 17 分钟

风险预算:整章唯一一个答案不来自数据的参数

能承受 20% 回撤,沪深300 最多放 10%、ERC 能放 60%;而"仓位减半回撤也减半"是错的,实测差 15 个百分点

🔎 最后验证 2026-07📚 来源:分块自助 5000 条路径的回撤分布与仓位反推,2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt🧰 numpy 2.5.1、qlab(本课自研)、Python 3.12.13
为什么学这个

P5 前九节的参数都来自数据:均线长度、因子权重、协方差、成本假设、停机线……

这一节的参数不来自数据,来自你自己。

流程是整章唯一一次从后往前推:

① 你先说一个数:这笔钱最多能亏多少(可承受回撤 L)
② 生成 5000 条路径 → 得到满仓时的最大回撤**分布**
③ 反推:让「回撤超过 L」的概率不高于 5% 的仓位上限
④ 剩下的钱不进这个策略

实测结果(可承受回撤 20%):

沪深300 买入持有   仓位上限 10%
ERC 风险平价       仓位上限 60%      —— 相差 6 倍

这就是 p5.9 那 347 万差价买到的东西:同样的风险预算下,低回撤的对象允许你放更多本金

顺带纠正一个几乎人人都会想当然的近似:"仓位减半,回撤也减半"是错的。

💡 打个比方

装修预算不是"这个沙发多少钱",而是"我一共能花多少"。

先定总额,再分配。

没人会先看中一套家具再回头问自己拿不拿得出钱——但几乎所有人在投资上都是这么做的:先看中一个策略,再决定放多少钱。

一、先要一个分布,不是一个点

用分块自助(块长 21 日)生成 5000 条路径,得到满仓时的最大回撤分布:

对象中位95 分位99 分位实测
沪深300 买入持有-58.5%-82.3%-88.7%-46.7%
ERC 风险平价(p5.9)-19.2%-30.1%-35.9%-19.5%

回撤是负数,所以"95 分位"取的是分布的第 5 百分位——更坏的那一端

沪深300 的实测回撤 -46.7%,比分布的中位数(-58.5%)还要浅。

用一个点估计去定仓位,等于假设历史正好演了最典型的一遍。而本例里它甚至演得比典型情况更温和。

二、"仓位减半,回撤也减半"是错的

对象仓位实测 95 分位线性 w·D误差复利 1-(1-D)^w误差
沪深3001.00-83.1%-82.3%-0.8-82.3%-0.8
0.50-56.4%-41.2%-15.3-58.0%+1.5
0.25-32.9%-20.6%-12.3-35.2%+2.3
ERC1.00-30.3%-30.1%-0.3-30.1%-0.3
0.50-16.2%-15.0%-1.2-16.4%+0.1
0.25-8.4%-7.5%-0.9-8.6%+0.2
⚠️ 避坑

正确的关系在复利里,不在比例里。

回撤定义为"期末比例相对峰值下跌多少",而期末比例随仓位取幂:

回撤 ≈ 1 − (1 − D)^w
  • 回撤小的时候两者差不多:ERC 半仓,线性 -15.0%、复利 -16.4%、实测 -16.2%
  • 回撤大的时候差得离谱:沪深300 半仓,线性 -41.2%、复利 -58.0%、实测 -56.4%

线性近似会让你低估 15 个百分点——而那正是你最需要它准的时候。

直觉解释:满仓亏 82% 意味着剩下 0.177。半仓不是"亏 41%",而是大致 0.177^0.5 = 0.42,即亏 58%

复利在赚钱那边是朋友,在亏钱这边是敌人——它对两边一视同仁。

三、风险预算表

让"回撤超过 L"的概率 ≤ 5% 的仓位上限:

对象L=10%L=20%L=30%L=40%
沪深300 买入持有0%10%20%30%
ERC 风险平价20%60%90%100%

读法:如果你最多能接受 20% 的回撤,那么放进沪深300 的钱不应超过总资金的 10%

其余的 90% 不是浪费,是前提。

它是"你能在 -46% 的时候不卖掉"这件事的成本——而 p4.8 已经证明,错过那几个月,策略就失效了(最好的 1 个月贡献 48.7%)。

🔧 动手做:让"你能承受多少"决定"你该放多少"(6 分钟)

这一节反过来:先说你最多能亏多少(L),再反推仓位上限。跑 python risk_budget.py,然后改 L_GRID 试不同的 L(0.10 / 0.20 / 0.30)。

你会看到(实测):满仓时沪深300 买入持有,历史实测回撤是 -46.7%,而 5000 条分块自助路径的 95 分位是 -82.3%——分布比历史演过的那一遍坏得多。你能承受的回撤(L)越小,反推出的满仓比例上限就越低。

想明白:P5 前九节的参数都来自数据,这一节的参数来自你自己。剩下不进场的钱不是浪费,是你能扛过回撤、不在最低点割肉的前提。仓位不该由"我想赚多少"定,该由"我能亏多少还睡得着"定。

四、同一笔钱分给谁,差多少

可承受回撤沪深300 仓位上限ERC 仓位上限相差
20%10%60%6.0 倍
30%20%90%4.5 倍

这就是 p5.9 那 347 万差价买到的东西。

p5.9 里 ERC 的年化比纯美股低 3.6 个百分点,看起来是纯亏。但在同样的风险预算下,ERC 允许你放 6 倍的本金。

两者的最终结果不是简单的年化之差——你要比的是"年化 × 允许的仓位",而不是"年化"。

这也是为什么专业机构谈的是风险预算而不是收益目标:收益是结果,风险才是可分配的资源。

五、和停机线的关系(接 p5.8)

p5.8 的结论是:停机线不是"策略坏了的证据",是"我认赔的上限"。

风险预算做的是同一件事的事前版本:

停机线事后触发的开关
风险预算事前把仓位定到让它很少被触发

实测(仓位取自上面的预算表,L=30%):

沪深300 买入持有   仓位 20% 时,回撤超过 30% 的路径占比 2.6%
ERC 风险平价       仓位 90% 时,回撤超过 30% 的路径占比 3.0%

如果你的停机线经常被触发,问题多半不在策略,在仓位。

p5.8 实测过:-30% 的停机线在同一批收益下有 98% 的路径会触发。那不是策略的问题,是满仓的问题。

六、为什么这个参数必须由你来定

整章九节的参数都来自数据。只有"可承受回撤"这一个,数据里没有答案。

它取决于三件事,没有一件在行情里:

  1. 这笔钱多久之后要用
  2. 有没有可能被迫在低点动用
  3. 跌到什么程度你会睡不着——只有你知道

把这个数写进规格书的出场一栏(p5.1 第 ④ 类),然后不允许事后调整。

事后调整可承受回撤,和 p5.4 事后扩网格、p5.8 事后放宽停机线,是同一类操作:把约束变成了变量。

❓ 测验
你的策略满仓时 95 分位最大回撤是 -60%。你能承受 -30%,于是决定「仓位减半」。哪里不对?
✏️ 填空
回撤随仓位的正确关系是 1 − (1 − D) 的 ___ 次方,而不是 D 乘以仓位。

📌 免责:本课为技术教学,文中的可承受回撤取值与仓位上限均为演示假设,不构成任何投资建议或资产配置建议。

✅ 小结

P5 章完结。这一节的四件事:

  1. 先要分布,不要点估计。沪深300 满仓的回撤分布:中位 -58.5%、95 分位 -82.3%,而实测只有 -46.7%——历史演得比典型情况还温和。用点估计定仓位,等于假设历史正好演了最典型的一遍
  2. "仓位减半回撤也减半"是错的。正确关系是 1-(1-D)^w:沪深300 半仓,线性预测 -41.2%、实测 -56.4%,低估 15 个百分点;回撤越大,线性近似错得越离谱
  3. 风险预算表:可承受 20% 时,沪深300 仓位上限 10%、ERC 60%,相差 6 倍这就是 p5.9 那 347 万差价买到的东西——要比的是"年化 × 允许的仓位",不是"年化"
  4. 风险预算是停机线的事前版本。按预算定仓位后,回撤超过 30% 的路径只占 2.6%~3.0%。如果你的停机线经常被触发,问题多半不在策略,在仓位

整章唯一一个答案不来自数据的参数,就是"可承受回撤"。它取决于这笔钱多久要用、会不会被迫动用、以及跌到什么程度你会睡不着——写进规格书,不允许事后调整

P5 十节回顾:规格书 → 族谱 → 多因子 → 参数平原 → 滚动前推 → 蒙特卡洛 → 容量 → 停机线 → 风险平价 → 风险预算。

一条贯穿始终的线索:这十节里,没有一节的结论是"我找到了一个能赚钱的策略"。它们回答的全是另一个问题——在你相信任何一个结论之前,应该先排除什么。

下一章 P6 转向基金与定投:定投到底解决了什么问题、场内场外的成本差、以及一个几乎所有人都算错的收益率口径。

下一节 → P6 基金与定投量化
🔎 来源与核验· 4 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「满仓最大回撤分布(分块自助 5000 次,块长 21 日):沪深300 中位 -58.5%、95 分位 -82.3%、99 分位 -88.7%,实测 -46.7%;ERC 风险平价 中位 -19.2%、95 分位 -30.1%、99 分位 -35.9%,实测 -19.5%」
📚 本节 code/risk_budget.py,2026-07-31 于 ECS 实测(随机种子 20260731),输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「仓位缩放:沪深300 半仓实测 95 分位回撤 -56.4%,线性预测 -41.2%(误差 -15.3 pp),复利预测 1-(1-D)^w 为 -58.0%(误差 +1.5 pp);ERC 半仓实测 -16.2%,线性 -15.0%,复利 -16.4%」
📚 同上实测✓ 已核验 2026-07
「风险预算表(让回撤超过 L 的概率 ≤5% 的仓位上限):沪深300 在 L=10/20/30/40% 时为 0/10/20/30%;ERC 为 20/60/90/100%」
📚 同上实测✓ 已核验 2026-07
「按预算定仓位后的触发概率:沪深300 仓位 20% 时回撤超过 30% 的路径占 2.6%;ERC 仓位 90% 时占 3.0%」
📚 同上实测✓ 已核验 2026-07
可承受回撤取值(10/20/30/40%)与仓位上限均为演示假设;回撤分布基于分块自助,只刻画抽样不确定性,不覆盖结构性变化(见 p5.6)。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p6.1
基金数据管线:三种净值,三个完全不同的收益率
继续读下一节 →