因子投资-12-动量反转与换手率因子

QUANT RESEARCH NOTE LESSON 12

价格趋势有时延续、有时反转。中期赢家继续赢称动量,最近一个月和很长周期的赢家转弱常称短期、长期反转。换手率描述交易活跃度,也可能承载关注、分歧、流动性与过度交易。三者都来自市场数据,却对应不同期限和机制。

类型核心课程
模块经典因子
阅读约 6 分钟
材料10 节 · 1 段代码

本节解决什么问题

价格趋势有时延续、有时反转。中期赢家继续赢称动量,最近一个月和很长周期的赢家转弱常称短期、长期反转。换手率描述交易活跃度,也可能承载关注、分歧、流动性与过度交易。三者都来自市场数据,却对应不同期限和机制。

前置知识与学习目标

需要第 01、08、09 讲。学完后你应该能:

  • 精确定义跳过最近一月的 12-1 动量;
  • 区分短期反转、长期反转与动量;
  • 计算换手率和异常换手;
  • 解释重叠持有和动量崩溃;
  • 处理 A 股涨跌停、停牌、IPO 和卖空约束。

直觉与手算

一只股票过去 11 个纳入形成期的月收益均为 2%,最近一个月为 -15%。若动量信号跳过最近月:

若不跳过,信号变为 1.2434×0.85-1≈5.69%。一个月反转和买卖价差反弹几乎抹掉中期趋势,所以文献常跳过最近月。

假设当月成交股数 2000 万股,自由流通股 1 亿股,换手率为 20%。若过去一年同月频平均换手 10%,异常换手可定义为 20%/10%-1=100%,或取对数差。两种口径不能混用。

定义与公式

因子接口

定义与公式 5 行 × 7 列
name direction formula rebalance lag economic_story failure_modes
12-1 MOM 高为赢家 t-12 至 t-2 月收益连乘 月 跳过最近 1 月 信息扩散慢、锚定、趋势风险 崩溃、换手、跳跃
短期反转 低过去收益为高信号 -R(t-1) 或过去周收益 周/月 1 日至 1 月 流动性供给、价差反弹 涨跌停延迟、成本
长期反转 过去长期输家为高信号 负的 36–60 月累计收益 年/月 常跳过近期 过度反应均值回归 样本短、公司转型
换手率 方向依假说 成交股数/自由流通股 日/月 当期可得 关注、分歧、流动性 分母变化、重复成交
异常换手 高表示异常活跃 当期/历史基准-1 日/月 历史窗口 事件关注与分歧 IPO、停牌复牌、制度变化

12-1 动量

本知识库把形成日为月末 t 的 12-1 动量明确写为:

即使用 t-12 至 t-2 共 11 个月,跳过 t-1 最近月。不同数据库可能把“12-1”写成不同端点;复现时以明确月份集合为准,不只写简称。

反转

短期反转信号可用 -R(t-1);长期反转常用过去 36–60 月累计收益的负值。反转期限越长,上市历史和样本选择越严重;新股会系统缺失。

换手率

成交金额/自由流通市值是另一近似。A 股双边撮合的“成交股数”不应再乘 2;供应商字段定义需核对。异常换手可取:

中位数对极端复牌日更稳健,但历史窗口必须只使用过去。

动量崩溃

动量组合通常做多赢家、做空输家。市场急剧从下跌转向反弹时,过去输家常高 Beta、高杠杆并暴涨,空头腿造成大亏。平均正溢价不能描述这种负偏度和状态风险。

Python 最小实验

PYTHON 可复现实验
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import numpy as np
import pandas as pd

monthly = pd.Series([
0.02, 0.02, 0.02, 0.02, 0.02, 0.02,
0.02, 0.02, 0.02, 0.02, 0.02, -0.15,
])
momentum_12_1 = (1 + monthly.iloc[:-1]).prod() - 1
including_recent = (1 + monthly).prod() - 1

turnover = 20_000_000 / 100_000_000
historical_turnover = 0.10
abnormal_turnover = turnover / historical_turnover - 1

assert np.isclose(momentum_12_1, 1.02 ** 11 - 1)
print(momentum_12_1, including_recent, turnover, abnormal_turnover)

切片 iloc[:-1] 的含义依赖输入已经严格包含 t-12 至 t-1。真实函数应使用月份键选择端点并断言连续性,不依赖“最后 12 行”。

A 股实现注意事项

  1. 涨跌停延迟。 信息可能因连续封板分多日进入价格;短期反转也可能只是不可成交价格的后续调整。
  2. 停牌。 形成期内停牌会减少有效收益月、复牌产生跳跃。必须规定最少有效月和停牌处理。
  3. IPO。 上市不足 12 个月没有标准动量;不能用较短窗口后与完整窗口信号混排而不标记。
  4. 复权。 动量使用含公司行动的总回报口径,避免送转除权被识别成崩跌。
  5. 做空。 输家腿往往融券不可得,研究 H-L 与可执行多头动量是不同产品。
  6. 换手分母。 限售股解禁会突然增加自由流通股本,使换手下降,即使成交不变。
  7. 重叠组合。 月度形成并持有 K 月会产生 K 个子组合和自相关;HAC 与换手都要按真实重叠结构计算。
  8. 反转成本。 短期反转频繁交易且偏向流动性差股票,毛收益最容易被价差和冲击吞噬。

常见错误与边界

  • 只写“12 个月动量”,不说明是否跳过最近月和端点。
  • 对数收益相加后忘记转回简单累计收益用于排序解释。
  • 缺一个月数据仍用相同行数切片,实际跨越更久时间。
  • 用未来复权信息或未来自由流通股本。
  • 月末信号按月末收盘成交。
  • 只报告长期平均,不展示动量崩溃月份和负偏度。
  • 把高换手直接解释为高流动性;它也可能意味着高分歧和冲击。
  • 将研究多空收益当作 A 股可执行收益。

价格信号没有稳定的单一机制。动量可能来自信息缓慢扩散、行为偏差、风险和行业趋势;反转可能来自流动性供给、价差反弹或过度反应。机制需要状态和横截面预测,而非仅凭收益符号命名。

原书与论文

原书第 3 章(PDF 文件页 97–157)讨论动量、反转和交易相关因子,第 5 章(192–223)提醒实践成本。

Jegadeesh 与 Titman(1993)是中期动量核心文献:DOI 10.1111/j.1540-6261.1993.tb04702.x。Carhart(1997)把动量因子用于基金绩效归因:DOI 10.1111/j.1540-6261.1997.tb03808.x。

练习

  1. 用明确月份标签实现 6-1、12-1、12-2 三种动量,列出每种实际纳入月份。
  2. 构造连续两日涨停后开板的路径,讨论收盘动量信号与可成交收益差异。
  3. 比较成交股数/总股本、成交股数/自由流通股本、成交额/自由流通市值三种换手。
  4. 找出市场急跌后反弹月份,分别观察赢家和输家腿 Beta 与收益。
  5. 对动量组合加入 1、3、6、12 个月持有期,计算重叠收益和换手。

小结与下一步

动量、反转和换手必须用精确时间窗口定义。跳过最近月隔离中期趋势与短期反转,重叠持有改变标准误,动量崩溃暴露均值之外的状态风险。A 股约束尤其使空头腿和短期高换手难以实现。

下一讲转向财务报表:盈利、投资和质量因子如何定义,以及为什么“好公司”不等于“好股票”。


因子投资-12-动量反转与换手率因子
https://www.polarishaw.top/2026/07/17/因子投资-12-动量反转与换手率因子/
作者
Polaris
发布于
2026年7月17日
许可协议