Appearance
第 11 讲:再平衡——多久换一次
本讲要点
调仓频率会改变收益与换手;不含成本的对比没有说服力。
1. 再平衡是什么
在 动量轮动 里,再平衡通常就是:按约定周期重新算动量、重新选 Top-N、把权重调回目标。
它回答的不是「拐点在哪」,而是:
多久重算一次、多久允许动手换仓一次。
第 8–10 讲默认月末再平衡。本讲固定同一套 Universe 与「Top-2 等权」信号逻辑,只改频率,并引入简单交易成本。
2. 三种频率
| 频率 | 含义(本实验) |
|---|---|
周频 W-FRI | 每个周五(或当周最后交易日)重算并调仓 |
月频 ME | 每月最后一个交易日(与第 8 讲一致) |
季频 QE | 每季最后一个交易日 |
动量定义与频率对齐:用上一再平衡日到本再平衡日的区间收益排序,持有到下一期。
3. 成本怎么扣
定义单向换手为 (0.5 \sum_i |\Delta w_i|)(首期按建仓全额计入)。
单边成本取 (c) 个基点(bps)时,本期净收益 ≈ 毛收益 − 换手 × (c/10000)。
本讲对比 (c = 0 / 10 / 20) bps。数值是教学假设,不是实盘报价;目的是看结论会不会因成本翻转。
4. 代码要点
python
panel = prices.resample(rule).last().dropna(how="any") # rule: W-FRI / ME / QE
mom = panel.pct_change()
# … Top-2 等权得到 weights …
port = (weights * next_ret).sum(axis=1) # 毛收益
turnover = 0.5 * weights.diff().abs().sum(axis=1) # 单向换手
net = port - turnover * (cost_bps / 10000)脚本:easy-quant/code/11_rebalance.py
5. 运行结果
固定窗口 2021-01-01—2026-03-04,池子与第 8 讲相同:
text
周频 W-FRI 成本= 0bps 调仓=263 毛收益= 72.44% 净收益= 72.44% 均换手=49.62%
周频 W-FRI 成本=10bps 调仓=263 毛收益= 72.44% 净收益= 51.41% 均换手=49.62%
周频 W-FRI 成本=20bps 调仓=263 毛收益= 72.44% 净收益= 32.92% 均换手=49.62%
月频 ME 成本= 0bps 调仓= 62 毛收益= 63.56% 净收益= 63.56% 均换手=49.19%
月频 ME 成本=10bps 调仓= 62 毛收益= 63.56% 净收益= 58.67% 均换手=49.19%
月频 ME 成本=20bps 调仓= 62 毛收益= 63.56% 净收益= 53.92% 均换手=49.19%
季频 QE 成本= 0bps 调仓= 20 毛收益= 76.97% 净收益= 76.97% 均换手=37.50%
季频 QE 成本=10bps 调仓= 20 毛收益= 76.97% 净收益= 75.67% 均换手=37.50%
季频 QE 成本=20bps 调仓= 20 毛收益= 76.97% 净收益= 74.38% 均换手=37.50%| 频率 | 调仓次数 | 毛收益 | 净收益(10bps) | 净收益(20bps) |
|---|---|---|---|---|
| 周频 | 263 | 72.44% | 51.41% | 32.92% |
| 月频 | 62 | 63.56% | 58.67% | 53.92% |
| 季频 | 20 | 76.97% | 75.67% | 74.38% |

读法:
- 不计成本时,周频毛收益可以高于月频——容易得出「越勤越好」。
- 加上 10–20bps 后,周频净收益大幅下滑;季频因调仓少、换手低,净收益更稳。
- 因此:频率是策略参数;任何频率排名都必须带成本列,否则不可比。
本窗口季频净收益最高,仍是样本内现象,换窗后未必成立;教学结论是方法,不是「应永远季频」。
6. 本讲小结
- 再平衡 = 规定何时重算、何时换仓
- 频率 ↑ → 调仓次数与成本敏感度 ↑
- 下一讲:在两次再平衡之间,若单票大跌,是否用止损提前退出