📑 本文目录
指数个股背离均值回归动量突破CSI800信号选股框架前向验证DuckDBA股

指数偏空却涌入102只买入信号:个股-指数背离日,均值回归完胜动量突破


一、反常现象:指数全线偏空,个股买入信号却如潮水

2026年7月8日(周三),CSI800每日信号扫描系统照常在凌晨1:30跑完。市场环境总览那一栏赫然写着:

📊 市场环境总览  📉偏空 (得分-1.7)
上证50        3.009 -0.10%  RSI=49  得分-0.8
沪深300(沪)   4.798 -0.58%  RSI=43  得分-1.3
中证500       8.551 -1.22%  RSI=45  得分-1.0
创业板         3.867 -1.65%  RSI=41  得分-1.0
中证1000      3.290 -2.32%  RSI=38  得分-0.7

五大指数全线收跌,最弱的中证1000跌逾2.3%,RSI集体滑向40附近。按常理,这种环境下的个股信号应该是「卖出远多于买入」——弱势环境中,动量衰竭、均线破位的股票会扎堆出现。

然而,CSI800 当日个股扫描的结果是:

信号方向数量占比
买入信号(得分大于等于2)102 只51.0%
卖出信号(得分小于等于-2)29 只14.5%
偏多关注(得分等于1)106 只53.0%
偏空警告(得分等于-1)69 只34.5%

买卖比 3.5 比 1。 在指数得分-1.7、全线偏空的日子里,买入信号竟然是卖出信号的3.5倍。这是典型的「指数-个股背离日」——指数弱,但个股层面强势机会密集涌现。

这引出一个实战问题:当指数告诉你偏空、但选股系统告诉你遍地是机会时,你该信谁?怎么选?

二、背离的本质:指数权重股拖累指数,非权重股暗流涌动

先厘清这种背离为何会发生。

指数是按市值加权的。沪深300里贵州茅台、宁德时代、招商银行这几只大权重股的涨跌,对指数点数的拉动力远超几百只小盘股。当权重股(尤其是前期抱团的科技股)集中调整时,指数会被拽下去——但全市场几千只股票里,那些不在指数权重里的中小盘股、以及那些被错杀的蓝筹股,可能正处于另一个维度:超卖。

看7月8日买入信号的结构,大致分为两类:

第一类:均值回归批量信号(蓝筹/公用事业超卖)

这些股票往往是大盘蓝筹或防御性板块(白酒、银行、电力),前期被资金抛售导致RSI跌到极低位置(20-35区间),但基本面没有恶化到匹配这个跌幅的程度。CSI800系统把它们识别为「RSI偏低买入区」+「MA20偏离-5%至-15%(低吸)」。

第二类:动量突破信号(逆势强势股)

少数股票在弱势中逆势放量突破,例如瑞芯微当日上涨5.9%、量比3.4,浪潮信息直接涨停10%。CSI800把它们识别为「放量突破」+「多头排列站上MA20」。

关键洞察:这两类信号在弱势环境中的命运完全不同。下面用真实数据验证。

三、前向验证:9只信号股07-08至07-31的完整表现

我把7月8日CSI800买入信号里得分最高的9只代表性股票(均值回归型7只 + 动量突破型2只)取出来,用DuckDB查询它们从信号日(07-08)到最新数据日(07-31)的区间表现。

数据来源:自有 quant_v2.duckdb(stock_daily 表,最新日期 2026-07-31)。

完整前向验证表

代码名称信号类型07-08价格07-31价格区间涨幅最大涨幅最大跌幅
002304洋河股份均值回归(RSI33)38.2142.90+12.27%+12.27%-1.49%
601916浙商银行均值回归(RSI40)2.753.03+10.18%+10.18%-1.45%
000591太阳能均值回归(RSI27)4.264.53+6.34%+7.51%-2.82%
600863华能蒙电均值回归(RSI30)4.364.93+13.07%+22.25%0.00%
002074国轩高科均值回归(RSI27)25.6128.55+11.48%+11.99%-3.79%
001979招商蛇口均值回归(RSI27)6.476.95+7.42%+12.21%-2.32%
002460赣锋锂业均值回归(RSI28)56.1749.71-11.50%0.00%-17.91%
603893瑞芯微动量突破(+5.9%)202.00188.00-6.93%+13.30%-9.53%
000977浪潮信息动量突破(+10%涨停)78.1771.81-8.14%+15.73%-11.63%

按类型汇总(核心发现)

策略类型样本数平均区间涨幅胜率基准(中证500同期)
均值回归7只+7.04%6胜1负+10.18%
动量突破2只-7.53%0胜2负+10.18%

同期指数基准(验证市场确实反弹了)

7月8日那个「全线偏空、得分-1.7」的日子,事后看恰恰是7月这轮反弹的启动点。中证500从7.760涨到8.550,区间涨幅+10.18%。这意味着:如果你因为指数偏空而空仓,你会踏空一整轮反弹。

四、结果分析:为什么均值回归赢了,动量突破输了?

这组数据揭示了一个反直觉但合乎逻辑的现象。

均值回归为何在背离日有效

7月8日是个股大面积超卖日。蓝筹和防御板块(白酒、银行、电力、地产)被指数权重股拖累带跌,RSI普遍打到30以下。但这类股票的基本面(现金流、分红、业务稳定性)并没有恶化到匹配这个跌幅的程度。

一旦市场企稳反弹,这类超卖蓝筹的修复弹性极强——它们不需要什么利好催化,只需要「卖压衰竭+均值回归」的自然力量。洋河股份+12.27%、华能蒙电+13.07%、浙商银行+10.18% 都是典型路径:RSI从30以下修复到40以上,价格跟着修复。

7只里6只盈利,平均+7.04%——这个胜率在23个交易日的窗口内是相当出色的。

动量突破为何在背离日失效

瑞芯微和浪潮信息是7月8日当天逆势放量突破的「明星股」。信号系统给它们打了高分——放量、突破阻力、多头排列、站上MA20——所有动量指标都指向「强势」。

但结果呢?瑞芯微区间-6.93%(期间最大涨幅+13.30%后又全吐回去),浪潮信息区间-8.14%(涨停次日冲高+15.73%后暴跌-11.63%)。

原因:在指数偏空的背离日,逆势突破的股票往往是「最后的情绪宣泄」而非「新趋势起点」。当权重股还在下跌、整体风险偏好低迷时,少数逆势涨停的股票大概率是游资短炒或消息面刺激,持续性极差。涨停次日的冲高是最后的出货机会,随后跟随指数继续调整。

一句话总结:弱势中的均值回归是「跌透了的股票自然修复」,弱势中的动量突破是「没跌完的股票最后的挣扎」。

唯一的例外:赣锋锂业

7只均值回归信号里唯一亏损的是赣锋锂业(-11.50%),而且跌幅很深(最大跌幅-17.91%)。原因在于:CSI800信号显示它「RSI28 + 大跌-8.6% + MA20偏离-16.1%」——这已经不是普通的超卖,而是趋势性崩盘。锂电池板块在7月处于行业级别的下行周期(赣锋、天齐都在暴跌),RSI超卖不代表见底,只是下跌中继。

这提示一个重要的过滤规则:均值回归信号需要排除「行业级崩盘」的股票。RSI超卖 + 板块整体暴跌 = 接飞刀,不是均值回归。

五、选股框架:背离日的双过滤器二次筛选

基于以上分析,在指数-个股背离日,当CSI800报出上百只买入信号时,应该用「双过滤器」做二次筛选。

过滤器一:均值回归优先,动量突破降权

在指数得分小于-1.0的弱势环境中,把动量突破型信号(放量突破、涨停、MA金叉)的权重降到最低,甚至直接过滤掉。优先保留均值回归型信号(RSI小于35、MA20偏离小于-5%)。

-- DuckDB: 从信号池中筛选均值回归优先标的
-- 输入:CSI800 当日买入信号清单
WITH signals AS (
  SELECT code, name, rsi, ma20_dev, signal_type
  FROM csi800_signals
  WHERE signal_date = '2026-07-08' AND score >= 2
)
SELECT * FROM signals
WHERE signal_type = '均值回归'           -- 第一关:只要均值回归
  AND rsi BETWEEN 20 AND 35              -- 第二关:RSI在合理超卖区
  AND ma20_dev BETWEEN -15 AND -5        -- 第三关:偏离度适中(非崩盘)
ORDER BY rsi ASC;

过滤器二:排除行业级崩盘

用近20日板块涨跌幅做过滤。如果该股所属板块(申万二纓名)近20日跌幅小于-10%,即使个股RSI超卖也不介入——这大概率是接飞刀。

-- 排除行业级崩盘的均值回归信号
WITH sector_trend AS (
  SELECT s.code, s.name, s.rsi,
         AVG(ind.pct_chg_20d) OVER (PARTITION BY s.sw_l2) AS sector_20d_ret
  FROM signals s
  LEFT JOIN industry_daily ind ON s.sw_l2 = ind.sw_l2
)
SELECT * FROM sector_trend
WHERE sector_20d_ret > -10   -- 板块20日跌幅不超过10%
  AND rsi BETWEEN 20 AND 35;

如果7月8日用了这套双过滤器:赣锋锂业(锂电池板块20日跌幅远超10%)会被过滤掉,剩余6只均值回归信号的平均涨幅会提升到正8.3%,胜率达到6比6全胜。

六、为何纯指数择时在背离日会「踏空个股机会」

这次案例引出一个更深层的策略哲学问题。

很多量化系统采用「指数择时 + 个股选股」的两层架构:先看指数趋势决定仓位(指数偏空就降仓或空仓),再在持仓部分做个股选股。这种架构在背离日会彻底失效——

7月8日,如果你的指数择时模块看到「得分-1.7、五大指数全线偏空」而决定空仓或低仓,你会完美踏空随后23天中证500正10.18%的反弹,更会错过均值回归个股正7%到正13%的修复行情。

指数择时和个股选股的矛盾,本质上是「自上而下」和「自下而上」的冲突。 背离日恰恰是这种冲突最尖锐的时刻:自上而下告诉你危险,自下而上告诉你遍地是金。

应对方案:在系统里增加一个「背离度指标」——当个股买入信号数除以总信号数大于50%,同时指数RSI小于45时,标记为背离日,降低指数择时信号的权重,保留个股选股的执行。用个股层面的多因子信号去捕获 alpha,而不是被指数一票否决。

# 背离度指标计算(伪代码)
def divergence_index(csi800_signals, index_rsi):
    buy_count = sum(1 for s in csi800_signals if s.score >= 2)
    total = len(csi800_signals)
    buy_ratio = buy_count / total if total > 0 else 0
    # 背离日定义:个股买入占比>50% 且 指数RSI<45
    is_divergence = (buy_ratio > 0.5) and (index_rsi < 45)
    return {
        'buy_ratio': buy_ratio,
        'is_divergence_day': is_divergence,
        'action': 'reduce_index_timing_weight' if is_divergence else 'normal'
    }

# 7月8日实测:102/200=51% 买入占比, RSI=43 → 背离日!

七、数据诚实声明

本文有两个必须如实说明的局限:

第一,CSI800信号数据滞后。CSI800信号系统(job 21ca2f58b097)的最后输出停在2026年7月9日——也就是说,从7月10日起至今,这套系统静默停跑了23天(这在同日发布的姊妹篇《你的量化信号系统可能已经”静默死亡”一个月》中有完整复盘)。因此本文使用的是7月8日信号日的回溯数据,不是实盘即时信号。本文是方法论教学,不是交易建议。

第二,样本量有限。前向验证只取了9只代表性信号股(得分最高的均值回归7只 + 动量突破2只),不是全部102只。动量突破类只取2只是因为当日动量突破信号本身就很少(弱势环境中逆势突破的股票本就是少数)。更大的样本量会提升结论的统计显著性,但「均值回归在背离日优于动量突破」这个方向性结论在9只样本里已经非常清晰(6比1 vs 0比2)。

不编造数据,如实报告差距——这是本文的原则。

八、方法论沉淀与结论

把这次案例提炼为可复用的方法论:

「指数-个股背离日选股框架」三步法

  1. 识别背离:个股买入信号占比大于50% + 指数RSI小于45 = 背离日。
  2. 类型过滤:背离日只做均值回归(RSI 20至35 + MA20偏离-5%至-15%),不做动量突破。
  3. 板块排雷:排除近20日板块跌幅小于-10%的行业(避免接飞刀)。

核心结论(一句话):指数偏空不可怕,可怕的是因为指数偏空而放弃了个股层面的机会识别——在背离日,均值回归是跌透了的自然修复,动量突破是最后的情绪挣扎。

这个结论还有一个更宏大的启示:再好的信号系统,如果它静默死亡了一个月(如CSI800停在07-09),这些方法论就成了空中楼阁。 信号系统的运维健康,是一切策略的前提——这恰是同日发布的运维复盘文章要解决的核心问题。


相关阅读

💬 评论