大盘择时过滤:加一条”沪深 300 站上年线”,效果差多少

青 青柠量化
2026-10-17

加一条"沪深300站上250日均线才允许开仓",同一个策略的超额收益能改善吗? 近两年实测:能——过滤掉的熊市信号比牛市信号弱得多,超额改善约0.11个百分点;但由于A股2024—2025年大部分时间处于年线上方,过滤的实际影响相对有限。

什么是大盘择时过滤

大盘择时:不改变策略的买卖信号,只加一个前置条件——当大盘处于某种状态时才允许开仓。

最常见的规则:

沪深300收盘 > 250日均线(年线)→ 允许开仓
沪深300收盘 < 250日均线 → 不开新仓(已持仓可以继续持有到正常出场)

为什么选250日均线?

  • – 250个交易日约等于一年,是"年线"的标准定义
  • – 沪深300在年线上方,说明过去一年指数整体上涨,市场有基本面支撑
  • – 逻辑简单、参数固定,避免对均线参数过拟合

A股近两年:年线上方 vs 下方有多少交易日

数据范围:2024年10月—2026年10月

年份 年线上方(牛市) 年线下方(熊市) 合计
2024(10月起) 61天 0天 61天
2025 240天 3天 243天
2026 143天 45天 188天

2026年出现了明显的熊市区间(45个交易日,约占2026年迄今交易日的24%),这段时间会过滤掉大量信号。

MA20策略:有过滤 vs 无过滤

策略:MA20金叉(收盘上穿20日均线),次日开盘买入,持有20日,来回成本0.15%。

全期汇总(2024年10月—2026年10月)

方式 信号数 平均20日收益 净收益(扣成本) 超额(vs同日全票均值)
全部信号(无过滤) 128,563 +1.62% +1.47% -0.23%
牛市信号(有过滤) 120,162 +1.64% +1.49% -0.12%
熊市信号(被过滤掉) 8,401 +1.26% +1.11% -1.70%

核心结论:

  1. 1. 被过滤的熊市信号明显更弱:超额 -1.70% vs -0.12%,差距超过1.5个百分点
  2. 2. 过滤后超额从-0.23%改善到-0.12%,提升约0.11个百分点
  3. 3. 过滤信号占比仅6.5%(8401/128563),对总体影响有限

按年分组:牛熊市信号对比

年份 牛市信号数 牛市20日收益 熊市信号数 熊市20日收益
2024 13,624 -1.58% 0 —
2025 69,250 +3.71% 372 +4.46%
2026 37,288 -1.02% 8,029 +1.11%

2026年有趣:熊市区间的信号反而收益更高(+1.11% vs -1.02%)。这是反弹效应——指数跌破年线后部分股票短期超跌反弹,MA20金叉捕捉到了这些信号。但超额仍然更差(-1.36% vs -0.42%),说明整体市场也在反弹,没有明显超出大盘。

大盘择时的两面性

择时的好处:

  • – 熊市期间市场整体下行,任何信号的基础收益都偏低
  • – 过滤后减少了系统性风险期间的建仓,降低账户整体波动
  • – 美股长期数据(Northstar Capital,1927-2026):200日均线规则最大回撤 -34% vs 持有 -84%,夏普比率 0.73 vs 0.46

择时的代价:

  • – 错过了一部分有效信号(2025年熊市仅3天,基本无影响;2026年熊市信号8029个被过滤)
  • – 反弹行情会被完全错过(指数跌破年线后的大反弹,不开仓)
  • – 美股实证(375只股票测试):83%的股票最大回撤下降,但只有22%的总收益超过持有

常见误区

误区1:大盘择时是万能保险
熊市期间仍有强势个股,择时过滤会错过这部分机会。2025年熊市仅3天,过滤几乎没有意义。

误区2:250日是最优参数
100日、120日、200日均线的效果差别不大。Northstar Capital研究显示50-300日各参数在夏普改善上几乎相同,过度优化参数会引入过拟合。

误区3:择时有效就能取代策略优化
本课数据中,无论有没有大盘过滤,超额都是负数(-0.23% 和 -0.12%)。MA20金叉本身效力有限,择时只是锦上添花,不能救一个本身无效的策略。

在青柠中实操

在青柠量化策略编辑器中,大盘择时过滤通过"入场前置条件"实现:

{
  "entry": {
    "filter": {
      "indicator": "ma",
      "params": { "period": 250, "symbol": "000300.SH" },
      "condition": "close_above_ma"
    },
    "signal": {
      "indicator": "ma",
      "params": { "period": 20 },
      "condition": "cross_above"
    }
  }
}

系统会在每个信号日同时检查沪深300是否在年线上方,只有满足条件才会生成实际开仓信号。

下一课

第54课讲A股的特殊规则:T+1、涨跌停买不进卖不出、ST股——这些规则直接影响策略的可行性,不了解就会在回测和实盘之间埋下巨大的预期差。

相关课程


口径说明:MA20金叉策略,全A股票池,后复权,非ST,排除北交所,来回成本0.15%,次日开盘买入,持有20日,超额=信号收益−同日票池均值同口径收益。数据范围:2024年10月—2026年10月。数据仅用于教学演示,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。