Q-CodeQ-Code 打开工作台

季节性动量选股

因子选股A股风险 中高级更新 2026-09-25#月度季节性#日历效应#量价因子

同月历史收益的横截面季节性:同月对齐与错位半年双口径并行,预测符号的交替结构由镜像对照裁决。

策略目标

同一只股票在特定日历月份的历史收益,会系统性重复到其他年份的同一月份——Heston 与 Sadka 在美股横截面上确认了这种月度季节性:以过去若干年同月收益排序,未来同月收益具有可预测性,且呈现"一年前同月与两年前同月符号交替"的滞后结构 [1]。季节性的机制至今没有定论:基本面现金流节奏、税收与再平衡时点、投资者行为节律都曾被提出,属于证据稳固但解释薄弱的因子。A 股的结构性日历冲击更强——春节消费潮、年报与一季报的披露节奏、季末考核时点,都可能放大或改写月度季节性的形态(站点已有指数级春节日历窗口条目,本条目下沉到个股截面)。本策略登记为月度季节性截面框架:按同月历史收益排序构建组合,方向与滞后结构由数据裁决。

数据需求(量价)

数据 字段 频率 用途
量价 个股月度收益(后复权) 月频 同月历史收益
状态 ST、上市日期 基础信息 过滤

每个日历月每年只有一个观测点,样本年数即统计功效——上市不满 5 年的标的没有足够的同月观测,降级处理或剔除;农历节日(春节在 1-2 月漂移)与公历月的错位问题需要替代口径检验。

季节性因子双口径

Si12=mean({ri,m−12k}k=1K),Si6=mean({ri,m−6−12k}k=0K)S^{12}_i = mean\left(\left\{r_{i, m-12k}\right\}_{k=1}^{K}\right), \qquad S^{6}_i = mean\left(\left\{r_{i, m-6-12k}\right\}_{k=0}^{K}\right)

S12S^{12} 为同月对齐口径(滞后 12、24、36 个月的同月平均),S6S^{6} 为错位半年口径。原文核心发现是两类口径的预测符号相反 [1],在 A 股样本内哪个成立属于实证问题:两口径并行排序,方向与口径由镜像对照裁决。

执行规则与方向裁决

月度调仓;剔除 ST、上市不满 5 年的标的;按 S12S^{12} 与 S6S^{6} 两口径分别排序,各输出最高 40 只与最低 40 只的双向对照台账。方向与滞后结构由数据裁决后才允许升级为单侧实盘组合。与短期反转、动量因子的正交化列入验证清单——"去年同月是旺季"可能只是动量或反转的换装,季节性因子必须证明独立的残存信息。

风险与失效场景

  • 机制不明:季节性的理论根基弱于动量与价值,衰减或漂移的先验判断缺乏依据;
  • 样本饥渴:每年只积累一个同月观测,5 年仅 5 个点,统计功效天然受限;
  • A 股政策扰动:季末冲量、考核与维稳节奏会改写月度规律,历史形态未必延续;
  • 农历错位:春节在公历 1-2 月漂移,纯公历口径可能稀释季节信号,需农历对齐替代口径;
  • 与动量/反转纠缠:同月历史收益与短期反转窗口重叠,正交化是必做项;
  • 样本期依赖:不同起始年份的子样本可能给出相反结论。

验证状态

待验证。需要完成:双口径的双向镜像对照(裁决性检验);滞后结构 12/24/36 与错位半月的分年统计;农历对齐口径的替代检验;与动量、反转因子的正交化;不同起始年份的子样本稳定性。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Heston, S. L., & Sadka, R. (2008). Seasonality in the Cross-Section of Stock Returns. Journal of Financial Economics, 87(2).(月度季节性的横截面证据)

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

策略逻辑结构

  1. 月度收益历史 — 后复权月度收益序列
  2. 样本充分性 — 同月观测计数与降级规则
  3. 季节性因子 — 同月对齐与错位半年双口径
  4. 范围过滤 — ST、上市不满 5 年剔除
  5. 双向组合 — 两口径 Top/Bottom 各 40 只
  6. 镜像与正交化 — 方向裁决与动量反转对照

AI 生成提示词

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

请生成一个 QMT 兼容的 A 股月度季节性截面选股观察模块。后复权月度收益由参数注入:计算每只股票过去 5 年同月平均收益(同月对齐口径)与错位半年口径(滞后 18、30 个月的同月平均),剔除 ST 与上市不满 5 年标的;按两口径分别排序输出最高 40 只与最低 40 只的双向对照台账,用于方向与滞后结构裁决,模块不产生自动交易信号。兼容回测与实盘分支,参数内联在 init,输出单个完整 Python 文件并包含详细日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台