三大系统共振预警:科技股RSI86过热、蓝筹RSI17超卖,A股风格拐点信号全解析
一句话回答你的问题
2026年6月18日收盘,A股出现了一个教科书级别的风格背离信号:科技龙头生益科技RSI飙至86.4(极度超买),而消费蓝筹双汇发展RSI跌至17.0(极度超卖)——通信ETF近20天涨26.5%,沪深300只涨3.66%。当三个独立信号系统(CSI800日线扫描、蓝筹v2估值模型、行业估值周报)同时指向”卖科技、买蓝筹”,这大概率是一次风格轮动的拐点。
引言:三个系统说了同一件事
做量化交易最怕的是什么?不是信号太少,而是信号太多、互相矛盾。但当三个完全独立的信号系统在同一天给出方向一致的判断时,这个信号的置信度就远超单一指标。
2026年6月19日凌晨,我的三套自动化扫描系统(均通过Hermes Agent定时任务运行)同步产出了当日信号:
- CSI800日线扫描系统:买入信号229只,几乎全部为蓝筹股的均值回归型(双汇发展RSI21、顺丰控股RSI24、新奥股份RSI19);卖出信号16只,集中在半导体和电子板块(生益科技RSI86)。
- 蓝筹v2估值模型:白名单20只中明确买入5只,包括中国石油(胜率80%/年化+18.7%)、招商蛇口(RSI仅6.3)、中国平安、中国神华——零卖出。
- 行业估值周报:高估16个行业中点名半导体、通信;低估机会集中在消费(白酒/食品)和金融(保险/证券)。
如果你读过我们之前的文章《震荡市该追涨还是抄底?2861条信号实证动量vs均值回归胜率真相》,就知道信号胜率高度依赖市场状态。本文要回答的核心问题是:当科技板块短期涨幅透支、蓝筹板块跌入超卖区,这究竟是”动量延续的回调”还是”风格反转的起点”? 让数据说话。
一、数据全景:RSI极端分化的冰与火
1.1 蓝筹超卖组——8只RSI低于32的标的
我通过DuckDB从stock_daily表提取了最近26个交易日的收盘价,用Wilder平滑法自行计算RSI14和RSI21,数据截至2026年6月18日:
| 股票名称 | 代码 | 最新价 | RSI14 | RSI21 | PE(TTM) | PB |
|---|---|---|---|---|---|---|
| 新奥股份 | 600803 | 16.28 | 16.0 | 18.2 | — | — |
| 双汇发展 | 000895 | 22.79 | 17.0 | 18.7 | 16.5 | 4.36 |
| 海螺水泥 | 600585 | 17.76 | 19.1 | 21.4 | 13.7 | 0.55 |
| 顺丰控股 | 002352 | 31.55 | 23.3 | 26.5 | — | — |
| 招商蛇口 | 001979 | 7.25 | 24.3 | 28.6 | — | — |
| 中国平安 | 601318 | 49.38 | 24.3 | 26.1 | 7.3 | 0.95 |
| 中国石油 | 601857 | 9.58 | 26.9 | 30.2 | 12.6 | 1.22 |
| 中国神华 | 601088 | 41.26 | 31.6 | 39.4 | 19.7 | 2.03 |
关键发现:8只蓝筹的RSI14全部低于32,其中新奥股份16.0和双汇发展17.0已经进入极端超卖区域。更值得注意的是它们的估值——海螺水泥PB仅0.55(破净)、中国平安PE仅7.3、中国石油PE 12.6,这些是典型的”价格超跌+估值低位”的双底结构。
如果你熟悉《布林带均值回归策略》的逻辑,就会知道RSI低于20在统计上意味着过去14天的上涨幅度极小、下跌幅度较大,价格严重偏离均值。这正是均值回归策略最偏爱的入场条件。
1.2 科技过热组——RSI突破70的元件/电子股
| 股票名称 | 代码 | 最新价 | RSI14 | RSI21 | PE(TTM) | PB |
|---|---|---|---|---|---|---|
| 生益科技 | 600183 | 183.87 | 86.4 | 84.3 | 87.0 | 19.05 |
| 深南电路 | 002916 | 453.80 | 70.6 | 67.1 | 77.1 | 17.03 |
| 沪电股份 | 002463 | 147.90 | 67.0 | 66.0 | 59.1 | 16.05 |
| 信维通信 | 300136 | 107.45 | 55.6 | 53.1 | 129.7 | 11.97 |
生益科技RSI14达到86.4——这意味着过去14个交易日中,价格上涨日的幅度远超下跌日,几乎所有交易者都在追涨。结合PE 87倍、PB 19倍的估值水平,这只股票已经同时具备了”技术面超买”和”基本面高估”的双重风险信号。
两组数据的对比一目了然:科技组PE动辄60-130倍,蓝筹组PE普遍7-20倍;科技组PB 12-19倍,蓝筹组海螺水泥仅0.55倍。这不是简单的行业差异,而是市场资金极端偏好的结果。
二、风格背离的放大镜:ETF端的数据印证
2.1 通信ETF一骑绝尘
如果个股的RSI分化还不够直观,ETF端的涨幅差异则将这一趋势放大了数倍。以下是从etf_daily表提取的多周期涨幅对比:
| ETF名称 | 代码 | 5日涨幅 | 20日涨幅 | 60日涨幅 | 近1年涨幅 |
|---|---|---|---|---|---|
| 通信ETF | 515880 | +13.66% | +26.53% | +69.02% | +317.57% |
| 半导体ETF | 512480 | +16.48% | +16.37% | +65.29% | +146.38% |
| 创业板50 | 159949 | +11.36% | +11.85% | +29.43% | +129.18% |
| 沪深300 | 510300 | +4.90% | +3.66% | +8.92% | +115.56% |
通信ETF近20天涨了26.5%,而同期沪深300只涨3.66%——差距达到7倍以上。再看60日周期,通信ETF涨69%、沪深300涨8.9%,差距同样是近8倍。通信ETF近一年更是翻了3倍有余(+317.6%)。
这种级别的分化在A股历史上并不罕见,但每一次极端分化之后,都伴随着一次风格切换。这不是主观判断,而是均值回归的铁律。
2.2 结构性泡沫的量化信号
让我们把RSI极端值和ETF涨幅放在一起看:
- 通信ETF 60日涨69% → 其成分股生益科技RSI飙至86.4
- 沪深300 60日涨8.9% → 其成分股中国平安RSI仅24.3
当动量极端强劲时(20日+26%),RSI必然会被推至超买区;当板块长期被忽视时(20日+3.66%),RSI必然陷入超卖区。 这就是风格轮动的物理基础——资金不可能永远只流入一个方向。
在《ETF轮动策略实战》一文中,我们详细介绍了如何用动量评分捕捉趋势。但今天的数据告诉我们的恰恰是动量的反面:当一个板块的动量已经持续到RSI 86+、PE 87倍的时候,风险收益比已经严重恶化。
三、三大系统共振——信号置信度分析
3.1 为什么要看”多系统共振”?
单一技术指标的超买超卖信号胜率有限——我们在动量vs均值回归的2861条信号回测中发现,均值回归型信号在震荡市的整体胜率约31.8%。但如果多个独立维度(技术面+基本面+资金面)同时确认,胜率会显著提升。
下面是2026年6月18日三大系统的共振矩阵:
| 验证维度 | 科技板块(卖) | 蓝筹板块(买) | 数据来源 |
|---|---|---|---|
| 技术面RSI | 生益科技86.4(超买) | 双汇发展17.0(超卖) | stock_daily自计算 |
| 基本面估值 | 半导体PE 87/PB 19(高估) | 保险PE 7.3/PB 0.95(低估) | stock_info_snapshot |
| 行业评分 | 通信/半导体列入高估16席 | 白酒/保险列入低估区 | 估值周报 |
| 资金流向 | — | 中化国际成交额+888% | stock_daily.amount |
| 系统信号 | CSI800卖出16只 | CSI800买入229只+蓝筹v2买入5只 | Hermes cron输出 |
五维度中四个方向一致——这是一个高置信度的风格拐点预警。唯一需要注意的是资金流向维度:中字头(中化国际、深桑达A、中核科技)成交额暴增,但它们属于”央企改革”主题而非传统蓝筹。不过,CSI800买入信号中确实包含了部分中字头(中国石油、中国神华),资金面也有交叉验证。
3.2 中字头的异动——央企改革资金涌入
从stock_daily的amount字段计算的5日成交额变化:
| 股票名称 | 代码 | 最新日成交额(亿) | 5日前均值(亿) | 增幅 |
|---|---|---|---|---|
| 中化国际 | 600500 | 35.62 | 3.61 | +887.9% |
| 深桑达A | 000032 | 36.67 | 3.75 | +878.8% |
| 中核科技 | 000777 | 10.77 | 1.19 | +803.7% |
| 中银证券 | 601696 | 12.99 | 2.69 | +383.7% |
| 中国神华 | 601088 | 22.69 | 18.74 | +21.0% |
| 中国石油 | 601857 | 12.37 | 20.34 | -39.2% |
中化国际的成交额5天内暴增了近9倍,深桑达A和中核科技也暴增了8倍以上。这种级别的量能爆发通常意味着两类资金行为之一:要么是主题炒作资金集中涌入,要么是机构大资金在低位建仓。结合”中特估”(中国特色估值体系)主题在2026年的持续升温,后者的可能性更大。
需要注意的是,中国石油成交额反而下降了39.2%——这说明中字头的资金异动是结构性的,集中在央企改革概念股而非所有央企。
四、实战代码:构建风格轮动预警系统
下面是用DuckDB + Python实现的多维度风格轮动预警系统的核心代码。你可以在本地复现本文所有数据。
4.1 RSI计算(Wilder平滑法)
import duckdb
def calc_rsi(closes, period=14):
"""Wilder平滑法计算RSI"""
if len(closes) < period + 1:
return None
gains, losses = [], []
for i in range(1, len(closes)):
delta = closes[i] - closes[i - 1]
gains.append(max(delta, 0))
losses.append(max(-delta, 0))
# 初始均值(简单平均)
avg_gain = sum(gains[:period]) / period
avg_loss = sum(losses[:period]) / period
# Wilder平滑
for i in range(period, len(gains)):
avg_gain = (avg_gain * (period - 1) + gains[i]) / period
avg_loss = (avg_loss * (period - 1) + losses[i]) / period
if avg_loss == 0:
return 100.0
rs = avg_gain / avg_loss
return round(100 - 100 / (1 + rs), 1)
def get_stock_rsi(con, code, days=26):
"""从DuckDB获取收盘价并计算RSI14和RSI21"""
rows = con.execute(
f"SELECT close FROM stock_daily WHERE code='{code}' "
f"ORDER BY date DESC LIMIT {days}"
).fetchall()
closes = [r[0] for r in rows][::-1] # 反转为时间正序
if len(closes) < 22:
return None, None, None
price = closes[-1]
rsi14 = calc_rsi(closes, 14)
rsi21 = calc_rsi(closes, 21)
return price, rsi14, rsi21
💡 数据库搭建:如果你还没有本地量化数据库,可以参考《DuckDB搭建A股量化数据库教程》,4589只股票+ETF+可转债的本地数据库,零成本、全离线、秒级查询。
4.2 风格背离检测器
def detect_style_divergence(con, overbought_codes, oversold_codes):
"""
检测风格背离:计算超买组和超卖组的RSI中位数
当两组RSI中位数之差 > 50 时,判定为极端背离
"""
def median_rsi(codes):
rsis = []
for code in codes:
_, rsi14, _ = get_stock_rsi(con, code)
if rsi14 is not None:
rsis.append(rsi14)
rsis.sort()
n = len(rsis)
return rsis[n // 2] if n > 0 else 50
overbought_med = median_rsi(overbought_codes)
oversold_med = median_rsi(oversold_codes)
gap = overbought_med - oversold_med
result = {
'overbought_median_rsi': overbought_med,
'oversold_median_rsi': oversold_med,
'divergence_gap': gap,
'signal': 'EXTREME_DIVERGENCE' if gap > 50 else 'NORMAL'
}
return result
# 实际调用
con = duckdb.connect("quant_v2.duckdb", read_only=True)
tech_overbought = ['600183', '002916', '002463', '300136'] # 生益科技/深南电路/沪电股份/信维通信
bluechip_oversold = ['000895', '002352', '600803', '600585', '601318', '601857', '601088']
result = detect_style_divergence(con, tech_overbought, bluechip_oversold)
print(f"超买组RSI中位数: {result['overbought_median_rsi']}")
print(f"超卖组RSI中位数: {result['oversold_median_rsi']}")
print(f"背离缺口: {result['divergence_gap']} → {result['signal']}")
# 输出示例:背离缺口: 62.7 → EXTREME_DIVERGENCE
con.close()
4.3 成交额异动监测
def detect_volume_spike(con, codes, lookback_days=5):
"""检测成交额的短期异动"""
spikes = []
for code in codes:
rows = con.execute(
f"SELECT amount FROM stock_daily WHERE code='{code}' "
f"ORDER BY date DESC LIMIT {lookback_days + 5}"
).fetchall()
if len(rows) < lookback_days + 5:
continue
latest = rows[0][0]
baseline = sum(r[0] for r in rows[lookback_days:]) / 5
if baseline > 0:
pct = (latest / baseline - 1) * 100
spikes.append((code, latest / 1e8, baseline / 1e8, round(pct, 1)))
return sorted(spikes, key=lambda x: -x[3])
# 检测中字头异动
zhongzi_codes = ['600500', '000032', '601696', '000777', '601088']
for code, latest, base, pct in detect_volume_spike(con, zhongzi_codes):
print(f"{code}: 最新{latest:.1f}亿 vs 均值{base:.1f}亿 → {pct:+.1f}%")
五、交易策略:风格轮动怎么执行?
5.1 不要试图精确抄底逃顶
看到以上数据,很多人的第一反应是”卖掉科技股、满仓蓝筹股”。但这是最危险的操作。我在均值回归策略实战中反复强调过一个教训:
均值回归策略最大的风险不是方向错误,而是时机错误。 一个超卖的股票可以在RSI=20继续跌到RSI=10,一个超买的股票可以在RSI=80继续涨到RSI=95。趋势的末端往往最疯狂。
所以更稳健的做法是分批操作+确认信号:
- 减仓信号:科技板块RSI突破80 + PE处于历史90分位以上 → 减仓1/3
- 加仓信号:蓝筹板块RSI低于20 + PB低于1(破净)→ 加仓1/3
- 确认信号:等待超买组RSI跌破70(动量衰退确认)+ 超卖组RSI突破30(底部反转确认)→ 执行剩余仓位
5.2 用ETF做风格切换
个股的风险太大(尤其是科技股的波动率),用ETF做风格轮动是更好的选择:
| 操作方向 | 标的 | 逻辑 |
|---|---|---|
| 减仓 | 通信ETF(515880)、半导体ETF(512480) | 20日涨幅>16%,RSI成分股>80 |
| 观察 | 沪深300(510300)、创业板50(159949) | 温和上涨,未极端 |
| 加仓 | 消费ETF、金融ETF、红利ETF | 对应RSI超卖的白酒/保险/煤炭 |
这与我们在白马股多因子选股策略中介绍的ROE+估值框架是一致的——低估值的优质蓝筹在均值回归行情中往往有超额收益。
5.3 一个重要的反面教材
如果你觉得”三个系统共振=稳赚不赔”,请注意以下数据:
通信ETF近1年涨了317%,60日涨了69%。在过去的一年里,任何一次”科技过热了该回调了”的判断都被市场证伪了。 均值回归不是”价格回到过去”,而是”极端状态不可能永远持续”。但极端状态持续的时间,可能远超你的预期和你的持仓耐心。
这就是为什么我在自己的交易系统中,把均值回归信号只作为仓位管理的参考,而不是唯一的交易依据——动量vs均值回归的2861条信号回测已经证明,均值回归型信号在单边上涨市中的胜率会进一步下降。
六、风格轮动的数据工程:如何自动化监测
要把以上分析变成每天自动运行的系统,关键在于数据工程。以下是我的实际架构(已通过Hermes Agent的cron定时任务实现):
6.1 三层数据验证体系
第一层:技术面信号(每日01:30运行)
├── CSI800日线扫描 → 输出买入/卖出信号
├── RSI/MA/BB多指标打分
└── 信号分类(动量型/均值回归型/混合型)
第二层:估值面信号(每周五运行)
├── 行业PE/PB历史分位
├── 宏观评分(SHIBOR/CPI/PMI)
└── 高估/低估行业清单
第三层:资金面信号(每日盘后运行)
├── 成交额异动监测(本文的+888%信号)
├── ETF资金净流入/流出
└── 北向资金动向(如有数据)
当三层信号方向一致时,触发”共振预警”通知(推送到飞书群)。这就是为什么我能在6月19日早上第一时间看到这个风格拐点信号——不是因为我盯盘,而是因为系统在凌晨1:30自动扫描完成后推送了提醒。
6.2 为什么用DuckDB而不是Pandas?
在上述系统中,DuckDB承担了所有历史数据查询的工作。原因很简单:
- 查询速度:5年4589只股票的日线数据(约500万行),计算RSI只需秒级响应
- SQL窗口函数:
ROW_NUMBER() OVER(PARTITION BY code ORDER BY date DESC)一行搞定”取每只股票最新N天数据”的操作,而Pandas需要groupby+head两步 - 零依赖:一个.duckdb文件就是一个完整数据库,不需要单独部署数据库服务
详细的DuckDB量化数据库搭建教程,可以参考这篇文章。
FAQ
Q1:RSI低于多少算超卖?高于多少算超买?
经典标准是RSI<30为超卖、RSI>70为超买。但在实战中,A股的波动性更大,我倾向于用更极端的阈值:RSI<20为极度超卖(强买入信号)、RSI>80为极度超买(强卖出信号)。本文中双汇发展RSI=17、生益科技RSI=86都属于极端区域。具体阈值的选取应结合回测数据——可以参考布林带均值回归策略中的回测方法。
Q2:风格轮动信号出现后,一般多久会反转?
没有固定答案。根据我的经验,A股的风格切换通常在2-8周内完成。但极端情况下(如2025年的AI行情),一个风格可以持续数月。建议用RSI跌破70(超买消退)或RSI突破30(超卖反转)作为确认信号,而不是在RSI极端值时立即全仓操作。
Q3:中字头成交额暴增888%是不是操纵?
成交额的短期暴增有多种可能:机构建仓、游资炒作、利好消息驱动等。中化国际+888%和深桑达A+879%这类数据需要结合具体的市场环境判断。在”中特估”主题持续升温的背景下,央企改革概念股的资金涌入更可能是主题投资行为。成交额异动是一个”关注”信号,不是”买入”信号——必须结合估值和基本面综合判断。
Q4:这套风格轮动系统适合散户使用吗?
本文的代码和逻辑完全开源,任何人都可以用DuckDB+Python复现。但需要提醒:信号系统只是工具,交易的核心在于仓位管理和风险控制。建议先用模拟盘验证2-3个月,确认信号胜率后再投入实盘。
⚠️ 风险提示
本文所有数据和代码仅供学术研究和量化学习参考,不构成任何投资建议。RSI、PE等指标的超买超卖信号在单边趋势市场中可能持续失效。风格轮动策略的历史表现不代表未来收益。A股市场波动较大,请根据自身风险承受能力谨慎决策。作者持有文中提及的部分标的(中国平安、海螺水泥),存在利益冲突,请读者独立判断。
相关文章推荐
- 震荡市该追涨还是抄底?2861条信号实证动量vs均值回归胜率真相 — 本文的理论基础,均值回归型信号在震荡市的胜率深度回测
- 布林带均值回归策略:Python回测A股量化,7笔交易85.7%胜率实战 — 中国平安的均值回归策略完整回测,含Ptrade实盘代码
- ETF轮动策略实战:30只选池动量评分+可投资性双因子动态轮动 — 如何用动量评分捕捉趋势,与本文的均值回归形成互补
- 白马股多因子选股策略:ROE+增速+估值三因子模型年化+18.3%回测实录 — 蓝筹股选股的量化框架,本文蓝筹组的选股逻辑来源
- DuckDB搭建A股量化数据库教程:4589只股票本地数据库从零实战 — 本文所有数据查询的数据库搭建教程