Q-CodeQ-Code 打开工作台

年线择时

趋势跟踪A股风险 低入门更新 2026-09-24#择时#年线#指数

以指数收盘价站上或跌破 250 日均线为牛熊分界,在满仓与空仓之间做低频切换的大势择时。

策略目标

指数级别的大周期择时:收盘价站上 250 日均线(年线)持有指数,跌破则清仓等待。年线在 A 股投资者认知中是最强的牛熊分界线,均线择时的学术依据是:简单均线规则在跨市场长期样本中能改善风险调整后收益 [1]。本策略的目标不是跑赢牛市,而是在熊市中躲开大部分跌幅。

参数定义

  • 标的:沪深 300 指数或对应 ETF(可扩展中证 500、创业板指);
  • 均线:250 个交易日(按交易日计,自然约一年);
  • 防抖确认:收盘价连续 3 个交易日站上/跌破年线才切换;
  • 执行:确认后次日开盘;
  • 空仓期:资金停泊货币基金或短债基金;
  • 对照参数:200 日均线版本(Faber 经典口径 [1])需同步实测。

年线与切换条件

MA250(t)=1250∑i=0249Pt−iMA_{250}(t) = \frac{1}{250}\sum_{i=0}^{249} P_{t-i}

满仓切换:Pt−2,Pt−1,PtP_{t-2}, P_{t-1}, P_t 连续三日 >MA250> MA_{250};

空仓切换:连续三日 <MA250< MA_{250}。信号以收盘确认,次日执行,不使用盘中数据。

执行规则

策略是纯状态机:只有满仓与空仓两个状态,年换手通常只有 1-3 次,信号稀疏是特性不是缺陷。每次切换记录日期与理由,形成可复盘的切换日志。不做仓位渐变(半仓过渡会稀释风控效果),切换就是全进全出。

风险与失效场景

  • 震荡市惩罚:指数围绕年线反复穿越时(如 2012-2014、2023 年区间),连续小幅亏损会累积,3 日确认只能减缓不能消除;
  • 滞后代价:熊市确认跌破时指数已从顶部回落一段,这是趋势择时的固有成本;
  • 现金拖累:空仓期货币收益远低于股票长期回报,长期空仓本身就是风险;
  • 口径差异:250 日与 200 日、含权与不含权指数、ETF 与指数的跟踪误差都会改变信号;
  • 范围限定:结论只适用于指数级别,不必然适用于个股。

验证状态

待验证。需要完成:250 日与 200 日口径对照;确认天数 1/3/5 的敏感性;历次牛熊切换点的及时性复盘;计入停泊收益与交易成本后的净值曲线与持有不动的对照。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Faber, M. T. (2007). A Quantitative Approach to Tactical Asset Allocation. Journal of Wealth Management, 9(4).(200 日均线择时的跨市场长期检验)

[2] Pring, M. J. (1980). Technical Analysis Explained. McGraw-Hill.(长期均线作为趋势分界的经典阐述)

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

策略逻辑结构

  1. 指数行情 — 宽基指数或对应 ETF 的日线数据
  2. 年线计算 — 250 日均线(牛熊分界)
  3. 连续确认 — 连续 3 日站上或跌破防抖
  4. 满仓切换 — 站上年线次日恢复风险资产
  5. 空仓切换 — 跌破年线次日转入现金状态

AI 生成提示词

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

请生成一个 QMT 兼容的指数年线择时策略。标的为沪深 300 指数(或参数指定的宽基 ETF),计算 250 日均线;收盘价连续 3 个交易日站上年线则次日开盘满仓,连续 3 日跌破则次日开盘清仓转入现金状态。所有切换按收盘确认、次日执行,禁止未来函数;换手极低,需记录每次切换日期与理由。参数全部内联在 init,兼容回测与实盘分支,输出单个完整 Python 文件并包含详细日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台