Q-CodeQ-Code 打开工作台

动量因子选股

因子选股A股风险 中进阶更新 2026-09-24#动量#截面因子#对照组

传统截面动量(12-1)在 A 股以对照组姿态登记:动量效应偏弱、反转偏强,策略定位为验证框架而非成品。

策略目标(对照组定位)

截面动量是海外证据最强的因子之一 [1],但A 股的中期动量效应偏弱、短期反转偏强,是多项跨市场研究的共识性结论——东亚市场的动量表现系统性弱于北美 [2]。因此本策略在 A 股以"对照框架"登记:同时构建动量前组与后组,用真实的分组收益差回答"A 股动量是否存在、方向如何",而不是预设它有效。

数据需求(量价)

数据 字段 频率 用途
量价 日收盘价(后复权) 日频 12-1 动量
状态 上市日期、ST 标记 基础信息 过滤

12-1 口径:过去 12 个月收益剔除最近 1 个月,规避短期反转对动量信号的污染,这是动量研究的标准做法 [1]。

12-1 动量

Momi,t12−1=Pi,t−21Pi,t−252−1Mom_{i,t}^{12-1} = \frac{P_{i,t-21}}{P_{i,t-252}} - 1

分子用一个月前价格、分母用一年前价格。截面降序:前 40 只为动量组,后 40 只为对照组。

组合与对照规则

月度调仓,动量组与对照组各 40 只等权,两组同规则运作。判定标准:若长样本中动量组系统性跑输对照组,则确认 A 股反转主导,本框架可无缝切换为反转因子选股(降序反排即可),代码结构完全复用。

风险与失效场景

  • 因子方向存疑:A 股动量可能整体不显著甚至为负,直接当成有效因子使用是登记此策略最想防止的错误;
  • 动量崩溃:市场剧烈反转时高动量组回撤极深 [3];
  • 换手与成本:月频 40 只组合的成本敏感;
  • 窗口重叠:12 个月窗口意味着信号高度自相关,组合成员月度间变化小,实际换手集中在尾部。

验证状态

待验证。需要完成:动量组与对照组的长期收益差(本策略的核心输出);不同形成期(3/6/12)与持有期(1/3/6)的矩阵;2015、2024 等反转剧烈期的崩溃深度。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers. Journal of Finance, 48(1).(截面动量奠基)

[2] Chui, A. C. W., Titman, S., & Wei, K. C. J. (2010). Individualism and Momentum around the World. Journal of Finance, 65(1).(东亚市场动量偏弱的系统性证据)

[3] Daniel, K., & Moskowitz, T. (2016). Momentum Crashes. Journal of Financial Economics, 122(2).(动量崩溃风险)

[4] Q-Code 量化策略工作台

策略逻辑结构

  1. 日行情数据 — 后复权收盘价序列
  2. 12-1 动量 — 过去 12 个月剔除最近 1 个月
  3. 范围过滤 — 剔除 ST 与上市不足一年
  4. 动量前组 — 动量最高的 40 只等权
  5. 对照组 — 动量最低的 40 只等权
  6. 月度再平衡 — 排名缓冲与对照日志

AI 生成提示词

复制以下提示词,打开 Q-Code 工作台粘贴到 AI 对话框,即可自动生成该策略的 QMT 策略代码(单个完整 .py 文件,支持 QMT 回测与实盘)。

请生成一个 QMT 兼容的 A 股动量因子对照选股策略。股票池为参数注入的成分股清单,剔除 ST 与上市不足一年,计算 12-1 动量(过去 12 个月剔除最近 1 个月的累计收益),按动量降序取前 40 只等权持有;同时生成对照组(动量后 40 只)用于分组对照。月度调仓、排名缓冲、单票上限写入 init,禁止未来函数,兼容回测与实盘分支,输出单个完整 Python 文件并包含前组与对照组的分月对照日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台