Appearance
第 13 讲:组合怎么验收才专业
本讲要点
只报累计收益,在专业场景里不够格。
1. 用组合语言回答
第 8–12 讲已把主线跑通。验收时问的是:
这个组合相对基准怎样?风险多大?交易负担多重?
而不是「某一只票的 MACD 准不准」。
本讲对固定规则给出一张答辩用绩效表:
- 策略:月度动量 Top-2 等权(与第 8 讲一致)
- 基准:等权持有全池;沪深300买入持有
- 成本:本讲先报 0 bps(摩擦专论见第 15 讲)
2. 最少要报哪些数
| 指标 | 含义 |
|---|---|
| 累计收益 | 样本内总回报 |
| 年化收益 | 便于跨长度样本比较(近似) |
| 年化波动 | 月收益标准差 × √12 |
| Sharpe | 年化收益 / 年化波动(此处无风险利率≈0,入门简化) |
| 最大回撤 | 净值相对历史高点的最大跌幅 |
| 平均单向换手 | 调仓负担;越高越怕成本 |
Sharpe 的适用前提:收益近似平稳、样本足够长;短样本上数字噪声大,只作相对比较。
3. 代码要点
python
w = momentum_topn_weights(month_end, top_n=2)
rot = portfolio_period_returns(month_end, w, cost_bps=0)
# 等权全池、沪深300 同期月收益 …
# performance_table(returns) → 累计/年化/波动/Sharpe/回撤/换手脚本:easy-quant/code/13_portfolio_metrics.py(共用逻辑见 rotation_common.py)
4. 运行结果
text
窗口: 2021-01-01 → 2026-03-04
动量轮动 Top-2 累计 63.56% 年化 9.99% 波动 16.73% Sharpe 0.60 最大回撤 -24.14% 均换手 49.19%
等权持有全池 累计 48.20% 年化 7.91% 波动 18.10% Sharpe 0.44 最大回撤 -26.68%
沪深300买入持有 累计 -4.72% 年化 -0.93% 波动 18.67% Sharpe -0.05 最大回撤 -36.40%
相对等权全池: +15.36%
相对沪深300: +68.28%| 策略 | 累计 | 年化 | 波动 | Sharpe | 最大回撤 | 均换手 |
|---|---|---|---|---|---|---|
| 动量轮动 Top-2 | 63.56% | 9.99% | 16.73% | 0.60 | −24.14% | 49.19% |
| 等权持有全池 | 48.20% | 7.91% | 18.10% | 0.44 | −26.68% | — |
| 沪深300买入持有 | −4.72% | −0.93% | 18.67% | −0.05 | −36.40% | — |

读法:本窗口内轮动相对两个基准均占优,且 Sharpe 更高、回撤略好于等权全池。这是样本内成绩单;仍须第 14 讲滚动样本外,以及第 15 讲扣费后是否仍站得住。
5. 本讲小结
- 专业验收 = 基准 + 风险 + 风险调整 + 换手,而不是一张曲线
- 下一讲:把「选参」放进滚动训练/测试,看样本外分布