Skip to content

第 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-012026-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)
周频26372.44%51.41%32.92%
月频6263.56%58.67%53.92%
季频2076.97%75.67%74.38%

再平衡频率对照(10bps)

读法:

  1. 不计成本时,周频毛收益可以高于月频——容易得出「越勤越好」。
  2. 加上 10–20bps 后,周频净收益大幅下滑;季频因调仓少、换手低,净收益更稳。
  3. 因此:频率是策略参数;任何频率排名都必须带成本列,否则不可比。

本窗口季频净收益最高,仍是样本内现象,换窗后未必成立;教学结论是方法,不是「应永远季频」。


6. 本讲小结

  • 再平衡 = 规定何时重算、何时换仓
  • 频率 ↑ → 调仓次数与成本敏感度 ↑
  • 下一讲:在两次再平衡之间,若单票大跌,是否用止损提前退出

上一讲:等权 · 下一讲:止损