波动率衰减能做成策略吗:5 个方向的固定规则回测
起点是一篇文章的观点:A 股大波动之后很久静不下来,持续的高波动会侵蚀复利(波动损耗)。我们把它拆成 5 个可以事先写死规则的方向,全部带成本回测,并做前后分段和随机对照。结果只有一个通过:给 ETF 动量加「波动率管理仓位」。它已经上了影子账本,只记账不下单。
结论总表
所有规则都在跑结果之前写死,参数变体全部列出,不只挑最好的一个。前段指 2013–2019,后段指 2020 年以后(④⑤ 的划分另见各节)。
| 方向 | 代表结果(年化 / 夏普 / 最大回撤) | 对照 | 前段 → 后段 | 判定 |
|---|---|---|---|---|
| ① ETF 动量 + 止损 −8% + 20 日波动率管理 | 14.1% / 1.28 / −16.3% | 只止损 15.0% / 1.15 / −24.5% | 前段 1.35→1.39,后段 0.96→1.16 | 影子账本 |
| ① ETF 动量基线 + 20 日波动率管理 | 13.0% / 1.14 / −20.7% | 12.4% / 0.86 / −32.1% | 前段 1.24→1.32,后段 0.56→0.95 | 通过 |
| ① 微盘 v2 + 波动率管理 | 26.8% / 1.38 / −22.1% | 34.1% / 1.42 / −23.9% | 两段都没有提升 | 否决 |
| ② 再平衡:黄金 + 创业板、4 资产组合 | 14.5% / 0.83 / −24.3%(黄金/创业板月调) | 买入持有 13.1% / 0.68 / −36.5% | 每年多 0.6–2.9 个百分点,两段都为正 | 验证现有月度再平衡,不新增 |
| ② 再平衡:微盘 v2 + 现金或红利低波 | 16.5% / 1.40 / −12.8% | 买入持有 24.1% / 1.36 / −16.9% | 每年少 4–12 个百分点 | 否决 |
| ③ 波动调整趋势强度做 ETF 轮动(9 种) | 最好 10.1% / 0.65 / −31.6% | 52 周高点 12.4% / 0.86 / −32.1% | 前段 0.38(基线 1.24) | 否决 |
| ④ 极端信号反转 | 信号后 1–3 个月跑输 1–4%,t 值都不到 1.5 | 无条件约 0 | 叠加到轮动:后段 0.56→0.48 | 否决 |
| ⑤ 按过去 5 年超额收益或夏普定策略权重 | 20.4% / 1.44 / −13.2%;17.5% / 1.50 / −10.3% | 等权 19.3% / 1.50 / −11.7% | 两段都没有稳定赢过等权 | 否决,保留等权 |
影子账本:/etf-momentum/vol-managed。虚拟 100 万元,从 2026-10-09 收盘起记,之后每个 A 股交易日晚上自动追加一行,只记账不下单。
① 波动率管理仓位
规则:总仓位 = min(1, 目标波动 ÷ 最近 N 日已实现波动)。波动用策略自己的日收益计算,只用前一天收盘以前的数据。不加杠杆,剩下的钱放银华日利(511990)。仓位变动不小于 0.1 才调,调整成本按 |Δ仓位| × 单边成本计。目标波动有两种取法:一是到当时为止全部历史波动的中位数(事前可知),二是固定 15%、20%、25%。N 取 20 和 60。另外测了「20 日波动高于历史 80 分位就降到 50% 或 0」的简单版本。
- ETF 动量:8 个变体的夏普全部高于基线(0.92–1.15,基线 0.86),回撤在 −20% 到 −30% 之间(基线 −32%),年化基本不变。改善在后段更明显。
- 对照一:把仓位固定在相同的平均水平,夏普仍是 0.86。所以提升来自「什么时候减仓」,不是仓位低。
- 对照二:把仓位序列按 20 日分块随机打乱 300 次,没有一次追平实际夏普。打乱版的调仓成本按天计,比实际版稍吃亏,所以这项对照偏乐观。
- 叠加止损:叠加 −8% 移动止损后,夏普 1.15→1.28,回撤 −24.5%→−16.3%,代价是年化少约 0.9 个百分点。两者都在崩盘月起作用,叠加带来的额外好处比单独使用时小。
- 微盘 v2:夏普 1.36–1.43,基线 1.42,跟同平均仓位的固定仓位版本差不多。打乱对照约 35% 的次数追平或超过。原因可能是微盘的大跌来得太急(例如 2024-02),事前算出的波动来不及反应。否决。
② 再平衡收益
两种资产固定 50/50(或 4 资产各 25%)。比较按周、月、季调仓,以及偏离超过 5%、10%、20% 再调,基准是同样初始权重的买入持有。理论上能多出的收益约为 ½(Σwσ² − σ组合²)。
- 黄金 + 创业板:再平衡每年多 1.3–2.3 个百分点,回撤从 −36.5% 降到约 −24%。理论值为 1.6 个百分点,两段都为正。4 资产组合(国证 2000、红利低波、黄金、创业板)多约 1.0–1.3 个百分点。每年换手只有 0.1–0.4 倍。
- 黄金 + 科创 50:数据从 2020-12 才有,样本短,只多 0.1–1.3 个百分点,前段约为 0。
- 微盘 v2 + 现金或红利低波:每年少 4–12 个百分点。两边收益差得太大,再平衡就是在不停卖出赢家,这个机制不成立。
- 结论:这一节证明组合层每月再平衡是对的,但不算一个新策略。往组合里加黄金这类低相关资产是新方向,要另外讨论。
③ 波动调整趋势强度做 ETF 轮动
池子、溢价闸门、同类去重、成交方式和成本都跟站点一样,只把打分换成三种:对数价格回归斜率 ÷ 残差波动、年化斜率 × R²、区间收益 ÷ 波动,窗口各取 60、120、250 日。换仓门槛 = 0.25 × 当期各 ETF 分数的标准差,事先定好。
- 9 种打分的全样本夏普在 0.13–0.65 之间,全部低于 52 周高点版的 0.86。
- 随机选 3 只跑 100 次,夏普中位数 0.41,90 分位 0.56。60 日和 120 日的版本都不如随机。
- 只有 250 日窗口的版本后段好看(0.79–0.85),但前段只有 0.13–0.38,两段不一致。
- 原因:除以波动以后,国债、红利这类低波动品种排名被抬高,轮动变成了选低波动,跟进攻型轮动的初衷相反。
④ 极端信号反转
信号 A:最近 120 日涨幅超过这个标的自己过去所有时间的最高值(至少要有 3 年历史)。信号 B:连涨周数超过自己的历史最长纪录。同一标的两次信号至少间隔 126 日,算一次事件。
| 集合 · 信号 | 事件数 | 21 日超额 | 63 日超额 | 126 日超额 | 63 日 t 值 |
|---|---|---|---|---|---|
| 申万一级 · A | 12 | −1.8% | −2.6% | −2.1% | −0.74 |
| 申万一级 · B | 13 | −0.2% | −3.6% | −5.1% | −1.03 |
| 站点 ETF 池 · A | 61 | −1.6% | −2.3% | −0.5% | −1.46 |
| 站点 ETF 池 · B | 43 | −0.6% | −0.1% | +1.3% | −0.06 |
超额相对申万一级等权平均。方向跟文章一致,但样本很少,ETF 事件之间还高度重叠,统计上不显著。叠加到站点轮动(调仓时剔除最近 63 日内触发过 A 信号的 ETF)后变差:12.4% / 0.86 / −32.1% → 11.6% / 0.83 / −28.9%,后段 0.56→0.48。否决,最多在页面上当「过热」提示用。
⑤ 按过去 5 年超额收益或夏普定策略权重
对象是 6 个策略:ETF 动量、两个转债策略、微盘 v2、红利低波 + ERP、业绩预告漂移。每年年末定一次权重,权重与过去最多 5 年(至少 1 年)的超额收益或夏普成正比,组合层成本 5bp。回测区间 2020-01—2026-05。
- 按超额收益加权,会把微盘权重推到约 30%:年化多 1.1 个百分点,但夏普 1.50→1.44,回撤 −11.7%→−13.2%。
- 按夏普加权,夏普跟等权一样(1.50),年化少 1.8 个百分点。
- 随机权重跑 300 次,夏普中位数 1.43。等权已经在约 70 分位。
- 局限:样本只有 6 年,前几年凑不满 5 年历史;而且这些策略本身就是事后挑出来的。保留等权。
限制
- ETF 池按当前成交额筛选,有幸存者偏差,历史数字偏乐观。
- ①的提升集中在少数大跌月份,遇到 V 形反弹会跑输。这跟移动止损的特点相同,两者有重叠。
- 纸面成交价按收盘价算,没有计入盘口冲击。影子账本不代表实盘收益。
- 本研究在同一批数据上试了不少变体。我们报告的是整组变体是否稳定,不是最好的那一个,但仍有多重检验的风险。所以①先放影子账本观察 3–6 个月,再决定要不要改站点策略。
下载与复现
影子账本每晚由 scripts/vol_shadow/gen_etf_mom_vol_shadow.py 生成,挂在每日刷新流程(工作日 20:00)上。