因子研究(3)——动量效应在 A 股的实证检验与改进
1. 摘要
本文基于 BigQuant 平台对 A 股市场 2015—2025 年 5,487 只股票(含 324 只已退市个股)的全量数据,系统检验价格动量因子(Price Momentum)与残差动量因子(Residual Momentum)的有效性,并从三个维度深化研究:
维度 | 核心发现 |
|---|---|
因子有效性 | A 股存在显著反转效应而非动量效应:最优参数(3 月回看,skip=0)IC 均值 = -0.032,ICIR = -0.244,T 统计量 = -2.66(显著) |
残差动量改进 | 剥离市场 / 行业 Beta 后,残差动量 ICIR 反转为正(+0.15),与原始动量方向相反,揭示 A 股的系统性收益驱动了表观的"反转"信号 |
市场状态依赖 | 因子有效性呈现显著状态依赖:震荡市 ICIR = +0.45(正向);牛市 ICIR = -0.36(反向);熊市 ICIR = -0.24(反向) |
核心结论:A 股 2015—2025 年整体表现为短期显著反转,中期效应衰减,价格动量因子呈现负向 IC;通过剥离系统性风险后的残差动量方向转正;因子有效性受市场状态显著调节,实盘应用需结合市场环境做动态切换。
2. 研究背景与动机
2.1 动量效应的经典文献背景
动量效应(Momentum Effect)最早由 Jegadeesh & Titman(1993)在美国市场系统记录:买入过去 3~12 个月表现好的股票、卖出表现差的股票,持有 3~12 个月可获得超额收益。此后,该效应在欧洲、亚太新兴市场均有记录,成为资产定价领域与因子投资领域的重要异象。
然而,A 股市场的动量效应长期存在争议:
散户为主的市场结构可能导致过度反应,形成短期反转而非延续;
涨跌停板制度(±10% / ST ±5%)限制了价格连续性;
机构化程度提升(2018 年后外资持续流入)可能改变市场定价机制;
行业板块轮动快,个股层面动量可能被行业效应所掩盖。
2.2 本文研究问题
A 股 2015—2025 年是否存在显著的价格动量效应?方向如何?
不同回看窗口(lookback)与跳过期(skip)参数如何影响因子有效性?
剥离系统性风险后的残差动量是否比原始动量更有效?
因子有效性是否随市场状态(牛 / 熊 / 震荡)发生变化?
动量信号与基本面因子(ROE、PE)的相关性如何?
3. 数据获取与质量控制
3.1 数据来源
字段 | 来源 | 说明 |
|---|---|---|
收盘价 / 日收益率 |
| 前复权价格 |
市值 |
| 用于规模因子与中性化 |
行业分类 |
| 申万 2021 一级行业 |
PE / PB |
| 估值因子 |
ROE |
| 盈利质量因子 |
查询时间范围延伸:为保证动量计算所需的历史窗口(最长 12 个月),数据实际从 2013-08-15 开始查询,向前扩展约 500 天。
3.2 幸存者偏差处理
这是本研究最重要的数据质量控制措施。
问题:若仅保留"当前仍在市"的股票进行回测,会系统性高估策略收益(因为已退市的亏损股票被隐性排除)。
处理方式:cn_stock_prefactors 保存所有曾上市股票的完整历史记录 → 查询时不附加"当前仍在市"过滤条件 → 历史任意截面自然包含当时存在的全部股票
量化效果:
样本 | 股票数 |
|---|---|
全量(含退市) | 5,487 |
纯存续样本 | 5,163 |
差值(退市股) | 324(占比 5.9%) |
3.3 数据过滤规则
WHERE
st_status = 0 -- 排除 ST(当期状态过滤)
AND suspended = 0 -- 排除停牌
AND list_days > 60 -- 排除次新股(上市不足 60 日)注:ST 过滤仅针对当期状态,历史上曾为 ST 但已摘帽的股票在其摘帽后的历史数据中仍被保留,避免前视偏差。
3.4 月度截面构建
取每月最后一个交易日为调仓基准日;
计算当月月度收益率:
monthly_ret = close.pct_change(1)(月末对月末);计算下期收益(
fwd_ret):用于 IC 计算和分层回测的因变量。