Q-CodeQ-Code 打开工作台

月末月初日历择时

事件驱动A股风险 低进阶更新 2026-09-25#月内效应#日历择时#指数级

仅在月末月初窗口持有股指的指数级日历择时框架:窗口收益差分年台账先行,衰减监控触发降级。

策略目标

Ariel 记录了美股的月内效应:上半月的股票收益显著高于下半月 [1];Lakonishok 与 Smidt 用九十年长历史确认这类季节异常真实存在且随时间缓慢变化 [2]。月末月初的资金与再平衡节奏(机构调仓、工资现金流、组合再平衡)是候选解释。A 股的资金日历更有本土特色:月末银行考核与流动性紧张、月初资金回补、季末冲量节奏,都让月内不同时段的资金环境不同(本土机制属实务观察,待验证)。本策略登记为指数级日历择时框架:仅在月末与次月初的窗口持有股指,其余时间空仓或货币工具——纯量价数据即可实现,与春节日历窗口条目的分工:那是单一节日窗口的个案登记,本条目是覆盖每个月的常规日历结构。

数据需求(量价 + 日历)

数据 字段 频率 用途
量价 指数日收益 日频 窗口内外收益统计
日历 交易日历 日频 窗口定义
参数 窗口长度 N1/N2、货币基准收益 配置 择时规则

指数载体建议宽基指数(或对应 ETF),单标的即可实现;无需个股数据。

窗口定义

持有窗口 = 每月最后 N1N_1 个交易日 + 次月前 N2N_2 个交易日(默认 N1=N2=4N_1 = N_2 = 4,参数化),覆盖月末月初资金最活跃的时段 [1][2]。窗口外空仓,基准收益按货币工具收益计入。月内效应的另一半(上半月对下半月)作为替代口径并行统计。

执行规则

观察框架先行:分年度统计窗口内外收益差、窗口胜率与含货币收益的净值对比,确认结构存在后才升级实盘。执行:窗口开始日收盘调仓(或次日开盘,执行时点列入敏感性),空仓期以货币 ETF 承接资金。与春节窗口叠加的规则:春节落在窗口附近时合并窗口,避免频繁进出。衰减监控:前半样本与后半样本的窗口收益差对照,季节异象被发现后普遍走弱 [2],衰减即触发降级。

风险与失效场景

  • 机制是本土叙事:月末资金紧张的解释属实务观察,未经 A 股数据验证前不可当结论;
  • 衰减:季节异象被发现后普遍减弱是常态 [2],历史窗口收益差不能外推;
  • 窗口定义敏感:N1/N2 与执行时点的微小变化可能改变结论;
  • 成本敏感:日历策略年换手有限但收益差薄,佣金与冲击直接侵蚀净值;
  • 极端月份:系统性风险不认日历,窗口内的暴跌照样发生,框架无止损维度;
  • 载体偏差:ETF 折溢价与跟踪误差在窗口进出时点集中暴露。

验证状态

待验证。需要完成:窗口内外收益差的分年序列;N1/N2 与执行时点敏感性;前半与后半样本的衰减对照;含成本与含货币收益的净值对照;与春节窗口叠加规则的行为统计。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Ariel, R. A. (1987). A Monthly Effect in Stock Returns. Journal of Financial Economics, 18(1).(月内效应的原始证据)

[2] Lakonishok, J., & Smidt, M. (1988). Are Seasonal Anomalies Real? A Ninety-Year Perspective. Review of Financial Studies, 1(4).(季节异常的长历史与持续性问题)

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

策略逻辑结构

  1. 指数日收益与日历 — 宽基指数与交易日历
  2. 窗口定义 — 月末 N1 与次月前 N2 交易日
  3. 窗口内外分组 — 收益与胜率统计
  4. 货币基准对照 — 空仓期机会成本口径
  5. 择时台账 — 分年收益差与净值对照
  6. 衰减监控 — 前后半样本对照

AI 生成提示词

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

请生成一个 QMT 兼容的 A 股月末月初日历择时观察模块。宽基指数日收益与交易日历由参数注入:定义持有窗口为每月最后 N1 个交易日加次月前 N2 个交易日(默认各 4,参数化),统计窗口内外收益差、窗口胜率与含货币工具基准收益的净值对照,输出分年台账与前后半样本的衰减对照;上半月对下半月的替代口径并行统计;模块不产生自动交易信号,结构确认前仅输出台账。兼容回测与实盘分支,参数内联在 init,输出单个完整 Python 文件并包含详细日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台