加一条"沪深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.70% vs -0.12%,差距超过1.5个百分点
- 2. 过滤后超额从-0.23%改善到-0.12%,提升约0.11个百分点
- 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月。数据仅用于教学演示,不构成投资建议。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。