4. 动量指标选择与计算规则
动量轮动策略的成败,很大程度上取决于“动量”这个核心变量如何被定义和计算。同样是“过去一段时间涨得好”,用绝对收益、相对强弱还是风险调整后收益来衡量,选出的行业可能截然不同。本节聚焦指标选择与计算规则,把“用什么算、算多长、多久算一次、数据怎么清洗”这四个问题讲清楚,为后续排序与调仓打下可复现的基础。
三类动量指标的本质差异
绝对动量衡量的是资产自身在一段时间内的累计收益,最常用的形式是区间收益率:
R_abs = P_t / P_{t-N} - 1
其中 P_t 为当期收盘价(或复权净值),N 为回看窗口长度。绝对动量的优点是直观、计算简单、对数据要求低;缺点是它把上涨和下跌的幅度一视同仁,一个波动剧烈、靠单次暴涨拉高收益的行业,会与一个稳步上行的行业得到相同甚至更高的分数。
相对动量衡量的是资产相对于基准(如沪深300或全市场等权指数)的超额表现,常见形式为区间收益之差或相对强弱比值:
R_rel = R_i - R_bench 或 RS = (1+R_i) / (1+R_bench)
相对动量剔除了市场整体涨跌的影响,更适合判断“谁在领涨”,在普涨行情中不会因为所有行业都为正而失去区分度。但它对基准的选择敏感,基准换一个,排序可能就变。
风险调整动量则把收益与承担的风险联系起来,典型做法是用区间收益除以同期波动率,或采用夏普式的比值:
R_adj = R_abs / σ_ann, σ_ann = std(日收益率) × √252
它惩罚高波动行业,倾向于选出“涨得稳”的品种。代价是对窗口内波动率的估计较敏感,样本较短时噪声大,且会系统性压低高弹性行业的排名。
计算窗口与频率的设计
窗口长度直接决定策略的“性格”。短窗口(如20日)反应快、换手高、易受噪声和短期反转影响;长窗口(如120日、250日)更稳定但滞后明显,容易在趋势反转时“高位站岗”。一个常见且稳健的做法是采用多窗口合成,例如将20日、60日、120日收益率分别标准化后等权相加,兼顾短期动能与中期趋势。为避免单点价格造成的偶然性,还可用“跳过最近5日”的窗口(即计算 P_{t-5}/P_{t-N-5}-1),规避短期反转效应。
计算频率方面,日频计算、周频或月频调仓是主流组合。日频计算保证信号及时,但若每日调仓,交易成本会吞噬大部分超额收益。建议日频计算信号、按固定周期(如每周最后一个交易日或每月末)执行调仓,并在两次调仓之间设置缓冲带,减少边界抖动带来的无效换手。
数据预处理规则
动量对数据质量极为敏感,预处理必须在计算之前完成,且规则要固定下来、全程一致:
- 复权处理:必须使用后复权或前复权价格序列,避免分红除权造成的价格跳空被误判为下跌。同一策略内复权方式保持一致。
- 缺失值:停牌、新股上市不足窗口长度时,该行业当期不参与排序,而非用0填充;若某行业连续缺失超过阈值(如10个交易日),应标记为不可选。
- 异常值:对单日涨跌幅超过合理范围(如±20%)的记录核查是否为数据错误,确认错误则以前一有效值或行业指数替代,并记录处理日志。
- 对齐:所有行业与基准的交易日历必须对齐到同一交易日序列,避免因交易日错位导致窗口错配。
下面这张图把“原始行情→预处理→三类指标计算→合成排序信号”的完整数据流与关键参数集中呈现,便于对照实现:
一个可复现的计算示例
假设某行业指数后复权收盘价在T日、T-20日、T-60日分别为1.25、1.18、1.10,基准同期收益为3%。则:
- 20日绝对动量 = 1.25/1.18 − 1 ≈ 5.93%;60日绝对动量 = 1.25/1.10 − 1 ≈ 13.64%。
- 20日相对动量 = 5.93% − 3% = 2.93%。
- 若该行业近20日日收益率标准差为1.4%,年化波动率 ≈ 1.4%×√252 ≈ 22.2%,风险调整动量 ≈ 5.93%/22.2% ≈ 0.267。
把全部行业按同一规则算出三个指标后,先各自做横截面Z-score标准化,再按“相对动量0.5 + 风险调整动量0.3 + 绝对动量0.2”加权得到综合分。这样既保留了相对强弱的区分度,又对高波动行业施加了适度惩罚。权重不是拍脑袋定的,应通过历史回测比较不同权重下的年化收益、最大回撤与换手率,选择在样本外仍稳健的一组。
指标与规则一旦确定,就应固化为可配置的参数表(窗口集合、权重、调仓频率、缺失阈值),并在每次调仓时输出各行业的原始指标值、标准化值与综合排名,便于事后归因。规则的价值不在于复杂,而在于定义清晰、口径统一、可重复执行——这正是动量轮动从想法走向策略的关键一步。