📑 本文目录
大跌后10次反弹9次:贵州茅台为何是A股最强左侧标的——CSI800股性扫描揭秘反弹率选股因子
一个反直觉的数字:茅台大跌后,10次反弹9次
做量化的人喜欢谈动量、谈因子、谈IC值,但很少谈一个朴素到近乎直觉的问题:一只股票大跌之后,第二天到底会不会反弹?
这个问题看似简单,答案却出人意料。我最近跑了一遍CSI800成分股的月度股性扫描(715只有完整数据的标的),其中有一个字段叫 dn_rebound_rate——即”大跌后次日上涨的概率”。排名出来后,贵州茅台以 0.90 的反弹率高居第一。
这意味着:在茅台的历史上下跌达到”大跌”标准的日子里,10次里有9次第二天是涨的,而且平均次日收益 +1.045%。
这不是”价值投资”的玄学叙事,也不是财经媒体爱讲的”核心资产永远涨”——而是一个可以用865个交易日数据复现的统计事实。本文就来拆解这个被严重低估的选股维度:反弹率因子。
什么是”反弹率”:一个被因子库遗忘的朴素指标
先定义清楚。股性扫描里有两个相关字段:
| 字段 | 含义 | 与传统指标的区别 |
|---|---|---|
dn_rebound_rate | 大跌后T+1日上涨的概率(0到1) | 胜率思维,不看幅度只看方向 |
dn_next_mean | 大跌后T+1日的平均收益(百分比) | 期望值思维,兼顾方向和幅度 |
它和”胜率”不同:胜率是所有交易日的上涨占比,而反弹率只统计大跌之后那一天。它本质上衡量的是一只股票在遭遇抛售后的”自我修复能力”——或者说,市场对这只股票的”抄底共识强度”。
大跌的标准不是固定百分比阈值,而是结合该股票自身波动率的异常跌幅判定(股性扫描脚本的内部逻辑),这样能避免用同一个-5%阈值去衡量低波动的长江电力和高波线的北交所标的——对前者-3%就是大跌,对后者-5%才算。这也是为什么茅台的CSV显示大跌次数约10次(big_dn_freq=0.0116 × 865天),反弹9次,反弹率0.90。
不同跌幅阈值下的验证
为了验证这个0.90不是小样本幻觉,我用 stock_daily 表对茅台做了独立交叉验证,按固定百分比阈值统计:
| 跌幅阈值 | 大跌次数 | 反弹次数 | 反弹率 | 平均次日收益 |
|---|---|---|---|---|
| 跌幅小于-3% | 275 | 147 | 53.5% | +0.064% |
| 跌幅小于-4% | 121 | 69 | 57.0% | +0.537% |
| 跌幅小于-5% | 55 | 39 | 70.9% | +1.347% |
数据揭示了一个清晰的规律:跌得越狠,反弹概率越高。在-5%阈值下(55次样本),反弹率已达70.9%,平均次日收益+1.35%。而股性扫描的0.90对应的是更严格的”异常大跌”标准(约10次样本,9次反弹),两者方向完全一致——茅台在极端下跌后几乎必反弹。
几个最近的实例:
| 大跌日期 | 当日跌幅 | 次日涨幅 | 结果 |
|---|---|---|---|
| 2026-06-26 | -3.59% | +2.25% | 反弹 |
| 2026-04-27 | -3.79% | +0.13% | 微涨 |
| 2025-04-07 | -4.39% | +3.00% | 强反弹 |
| 2024-10-09 | -7.42% | +2.81% | 强反弹 |
唯一需要注意的:样本越严格(跌幅阈值越高),次数越少,统计置信度下降。-5%阈值下55次还算充足,但更极端的-7%以上就只剩个位数样本了,0.90这个数字要带着”小样本敬畏”去看。
CSI800反弹率TOP10全景:什么股票”跌了能涨回来”
看完茅台个案,来看全市场。以下是715只CSI800成分股中反弹率最高的10只(过滤了大跌次数不足的标的):
| 排名 | 代码 | 名称 | 反弹率 | 次日均收 | 30日波动率 | 体质 | 波动型 |
|---|---|---|---|---|---|---|---|
| 1 | 600519 | 贵州茅台 | 0.90 | +1.045% | 21.2% | 混合型 | 低波动 |
| 2 | 600926 | 杭州银行 | 0.86 | +1.982% | 20.0% | 均值回归型 | 低波动 |
| 3 | 601816 | 京沪高铁 | 0.86 | +1.029% | 18.3% | 均值回归型 | 低波动 |
| 4 | 601607 | 上海医药 | 0.85 | +1.138% | 19.8% | 混合型 | 低波动 |
| 5 | 600905 | 三峡能源 | 0.80 | +1.339% | 15.3% | 均值回归型 | 低波动 |
| 6 | 600642 | 申能股份 | 0.80 | +0.945% | 24.3% | 均值回归型 | 中波动 |
| 7 | 600901 | 江苏金租 | 0.78 | +1.105% | 27.3% | 混合型 | 中波动 |
| 8 | 002252 | 上海莱士 | 0.75 | +0.726% | 20.7% | 混合型 | 低波动 |
| 9 | 601018 | 宁波港 | 0.75 | +1.880% | 18.7% | 均值回归型 | 低波动 |
| 10 | 600177 | 雅戈尔 | 0.75 | +0.950% | 18.1% | 均值回归型 | 低波动 |
共性一眼可见:
- 清一色低波动(10只里7只低波动,3只中波动,没有一只高波动)
- 防御性行业集中——银行(杭州银行、苏州银行)、公用事业(三峡能源、申能)、交通运输(京沪高铁、宁波港)、医药(上海医药、上海莱士)、消费(茅台、雅戈尔)
- 均值回归型占比高(10只里6只均值回归型,而全样本均值回归型仅占13.1%)
这和直觉吻合:能在大跌后迅速反弹的,都是那些”跌了有人接”的股票——要么是机构必配的核心资产(茅台),要么是稳定分红的公用事业(三峡能源),要么是有明确底部的银行股(杭州银行)。
反面教材:反弹率最低的10只
对比看一下反弹率垫底的标的:
| 代码 | 名称 | 反弹率 | 次日均收 | 体质 |
|---|---|---|---|---|
| 600930 | 华电新能 | 0.23 | -0.582% | 动量型 |
| 603345 | 安井食品 | 0.26 | -0.845% | 动量型 |
| 601988 | 中国银行 | 0.29 | -0.404% | 动量型 |
| 000958 | 电投产融 | 0.29 | -0.750% | 动量型 |
| 601066 | 中信建投 | 0.33 | +0.154% | 动量型 |
注意两个特征:全部是动量型体质,而且次日平均收益为负——这意味着这些股票大跌之后不仅不反弹,还会继续跌。中国银行反弹率0.29可能让人意外(银行不是防御股吗?),原因是大盘银行股波动极小,一旦出现”大跌”往往意味着系统性风险来临,第二天自然继续杀跌。这与杭州银行(小盘银行、均值回归型0.86)形成鲜明对比:同为银行,体质不同反弹率天差地别。
反弹率 vs 体质 vs 波动率:三层结构拆解
单看个股排名还不够,要看群体规律。按体质和波动率分组统计:
体质维度
| 体质 | 数量 | 占比 | 平均反弹率 | 平均次日收益 |
|---|---|---|---|---|
| 均值回归型 | 94 | 13.1% | 0.600 | +0.529% |
| 混合型 | 302 | 42.2% | 0.539 | +0.309% |
| 动量型 | 319 | 44.6% | 0.470 | -0.010% |
均值回归型不仅反弹率高(0.60 vs 动量型0.47),更重要的是次日期望收益为正且显著(+0.53% vs 动量型几乎为零)。动量型的-0.010%意味着:动量股大跌之后抄底,期望收益约等于零——典型的”接飞刀”。
波动率维度
| 波动型 | 数量 | 占比 | 平均反弹率 | 平均次日收益 |
|---|---|---|---|---|
| 低波动 | 75 | 10.5% | 0.583 | +0.570% |
| 中波动 | 227 | 31.7% | 0.513 | +0.198% |
| 高波动 | 413 | 57.8% | 0.506 | +0.126% |
低波动股的反弹率(0.583)和次日收益(+0.57%)全面碾压高波动股。这与行为金融学的解释一致:低波动股的持有者多为长期机构和价值投资者,大跌时他们不会恐慌抛售反而会加仓;高波动股的持有者多为短线游资,大跌时踩踏出逃,第二天继续杀。
一个朴素的结论浮现:要找”跌了能涨回来”的股票,就找”低波动 + 均值回归型”的标的。 这两类在全市场各占约10-13%,交集更小,但正是这个交集贡献了反弹率TOP10的大部分成员。
“低估 + 高反弹”:构建双因子左侧选股池
反弹率单独用价值有限——一只反弹率0.90但估值已经到99%分位的股票,大跌后反弹也只是在高位震荡,赚不到大钱。真正有价值的是把反弹率和估值结合:低估值提供安全边际,高反弹率提供入场时机的胜率。
白酒板块的当下验证
以白酒行业为例。截至2026-08-03,估值周报显示:
| 行业 | 估值分位 | 信号 |
|---|---|---|
| 白酒 | 7.8% | 🟡低估 |
| 保险 | 15.1% | 🟡低估 |
| 白色家电 | 16.5% | 🟡低估 |
| 中药 | 17.0% | 🟡低估 |
白酒处于7.8%的历史极低分位。而白酒板块内的反弹率数据:
| 标的 | 反弹率 | 次日均收 | 体质 | 波动型 |
|---|---|---|---|---|
| 贵州茅台 | 0.90 | +1.045% | 混合型 | 低波动 |
| 珠江啤酒 | 0.609 | +0.654% | 混合型 | 中波动 |
| 青岛啤酒 | 0.615 | +0.383% | 混合型 | 中波动 |
| 重庆啤酒 | 0.526 | +0.262% | 动量型 | 中波动 |
| 山西汾酒 | 0.435 | -0.235% | 动量型 | 中波动 |
| 古井贡酒 | 0.39 | -0.357% | 动量型 | 高波动 |
白酒板块内部严重分化:茅台0.90一骑绝尘,古井贡酒0.39接近接飞刀。 同样的低估值环境下,选茅台和选古井贡酒,左侧抄底的胜率完全不同。这就是反弹率因子的增量价值——在低估值板块内部做二次筛选,找到”跌了真的能涨回来”的那只。
双因子选股池构建逻辑
选股条件:
估值分位 小于 20%(低估区间)
反弹率 大于 0.75(大跌后高概率反弹)
大跌次数 大于 5次(样本充足,排除小样本噪音)
波动类型 = 低波动 或 中波动(排除高波动接飞刀型)
输出:
白酒 → 贵州茅台(估值7.8% ∩ 反弹率0.90)
银行 → 杭州银行、苏州银行(均值回归+低波动)
公用事业 → 三峡能源、申能股份
交运 → 京沪高铁、宁波港
这个池子的逻辑是:在市场恐慌、这些股票出现大跌时买入,赌的是次日反弹的统计规律 + 估值修复的中期空间。 它不是追涨策略,而是纯粹的左侧抄底策略——前提是你要等得到那个”大跌日”。
反弹率因子的三个陷阱
诚实地说,反弹率不是万能因子,它至少有三个陷阱。
陷阱一:反弹率高不等于能赚大钱
茅台反弹率0.90、次日均收+1.045%听起来很美,但一年里茅台出现”大跌”的日子可能只有3-5天。如果只在大跌日次日卖出,全年从这个信号里能获取的收益也就3-5%。反弹率衡量的是单次交易的胜率和微小期望,不是趋势性收益。要赚大钱还得靠估值修复的大波段,反弹率只是帮你选一个”入场胜率更高的买点”。
陷阱二:小样本偏差
反弹率0.90如果只基于10次大跌,95%置信区间约是[0.55, 0.99]——区间极宽,真实反弹率可能是0.55也可能是0.99。CSV里 big_dn_freq 字段就是用来判断样本充足度的。我的过滤条件是 big_dn_freq 大于 0.005(865天里至少4-5次大跌),但更严格的标准应该是至少10次以上。对那些上市不足2年、还没经历过足够大跌的新股,反弹率数据基本不可用。
陷阱三:体质漂移
一只股票的体质(均值回归/动量/混合)不是永恒的。茅台过去3年是混合型,但如果它的基本面发生质变(比如增速从20%降到5%),持有者结构改变,它的反弹行为也会变。用历史反弹率预测未来,隐含假设是”这只股票的持有者行为模式没变”。2024年茅台从”核心资产信仰”转向”增速放缓担忧”,其反弹率是否依然维持0.90,需要持续跟踪验证——这也是为什么股性扫描要每月更新一次。
实操:如何获取和使用反弹率数据
数据获取
股性扫描CSV由月度cron(job 27786b150f16)生成,路径:
/home/user/quant/results/guxing_analysis/csi800_guxing_YYYYMMDD.csv
每次更新约715只CSI800成分股的40+个股性指标,dn_rebound_rate 和 dn_next_mean 是其中的两个字段。
DuckDB查询模板
把股性扫描数据和估值数据做JOIN,可以快速构建双因子选股池。核心查询逻辑如下:
import duckdb
import pandas as pd
con = duckdb.connect('/mnt/c/Users/Administrator/clawd/data/quant/quant_v2.duckdb', read_only=True)
# 读取股性扫描CSV
guxing = pd.read_csv('/home/user/quant/results/guxing_analysis/csi800_guxing_20260801.csv')
con.register('guxing', guxing)
# 读取行业估值
val = con.execute("""
SELECT code, price_percentile, signal
FROM valuation_scores
WHERE type='industry' AND date='2026-08-03'
""").fetchdf()
# 双因子JOIN:低估值行业 + 高反弹率个股
# 注意估值表code是行业名(如"白酒"),需手动映射到个股
由于估值周报的行业分类和股性扫描的个股代码不在同一张表里,实际操作中需要一张”个股到行业的映射表”来做JOIN。这是目前数据管道的一个缺口——如果后续把行业归属写进股性扫描CSV,这个查询就能完全自动化。
信号使用场景
反弹率因子最适合的场景不是每天都看,而是等到市场大跌日才激活:
- 某日大盘跌幅超过2%,触发”扫描模式”
- 在双因子选股池中,查找当日跌幅进入该股票”大跌区间”的标的(参考股性扫描的
support字段) - 次日开盘买入,赌反弹统计规律
- 反弹率告诉你”买哪个”,估值告诉你”值不值得等”
小结:被遗忘的朴素智慧
回到开篇的问题——大跌之后会不会反弹?答案是:取决于你买的是什么股票。
CSI800的715只成分股告诉我们:
- 均值回归型 + 低波动的股票,大跌后反弹率约60%,次日期望收益+0.5%以上
- 动量型 + 高波动的股票,大跌后反弹率不到50%,次日期望收益接近零——抄底等于赌博
- 茅台0.90的反弹率并非孤例,杭州银行0.86、京沪高铁0.86同样亮眼,它们共同的特征是”低波动 + 防御行业 + 机构重仓”
当白酒行业趴在7.8%估值分位、宏观评分一周内从+6.0砸到-6.5的当下,“低估 + 高反弹”双因子选股池给出的信号很清晰:如果要在这个位置做左侧,茅台是胜率最高的标的——但前提是,你要等到它大跌的那一天。
反弹率因子不会告诉你趋势在哪里,它只告诉你一件事:当恐慌来临时,哪些股票会有人接。 在一个均值回归越来越弱、动量越来越强的A股市场里,这个朴素的信息,可能比任何复杂因子都更有用。
相关阅读:
- 宏观评分12.5分跳水:PMI破荣枯线后的防守调仓清单 — 白酒低估判断的宏观源头
- 低估商品的左侧窗口:估值分位择时的8年回测 — 左侧布局方法论
- 蓝筹v2信号42天前向验证:RSI极值的抄底胜率 — 蓝筹超卖反弹的前置研究
- 90资产估值温度计:全市场低估高估全景 — 估值判断方法论