摘要

“急跌之后反弹”是个人投资者最常见的抄底直觉之一:股价短期内大幅下挫、创出阶段新低,随后某一天止跌收阳,看起来像是超跌反弹的起点。本文基于 A 股全历史日线行情数据(2011 年 1 月至 2026 年 7 月,约 5,800 只股票、1,374 万行记录),对这一直觉做统计化验证。分桶分析发现该信号存在一个”甜蜜区间”(5 日跌幅 20%~35%),也发现了一个”死亡区间”(跌幅超过 40%,多为低价股/退市风险股);但对甜蜜区间信号做逐年拆解后,稳健性检验结果并不理想——10 日胜率在 28%~89% 之间大幅摆动,此前汇总统计得出的高胜率结论主要由个别大样本年份主导。进一步用全市场等权平均涨跌幅自建的大盘状态代理指标重新分组,找到了摆动的根源:同一个体信号,在”大盘同期也在下跌”时是有效的超跌反弹(10 日胜率 72%~76%),在”大盘平稳或上涨、个股逆势暴跌”时则是危险信号(10 日胜率仅 28%)。用更敏感的短期市场跌速/波动率指标替换粗糙的大盘状态判断后,多个此前失败的年份被自动排除出信号池,其余年份的胜率普遍提升至 90% 以上,但仍有一个年份(对应 2016 年初的”熔断”事件)尚未得到解释,本文如实记录为未解决的异常。


一、研究背景与信号定义

本文延续此前《放量突破选股信号的统计挖掘与仓位管理优化》一文的方法论:不预设结论,用真实历史数据做分桶统计,再依次做离群值处理、逐年稳健性检验,让数据本身决定阈值和结论,而非用少量案例或直觉倒推。

数据范围:与此前研究相同的 A 股全市场日线数据,收益率计算统一采用后复权价格(收盘价 × 复权因子)。

信号定义(初版)

  • – 过去 5 个交易日的价格变动幅度(复权价)低于某一负值阈值;
  • – 当日最低价创下过去 10 个交易日(含当日)的新低;
  • – 当日收盘价高于开盘价(止跌反转确认)。

该定义完全基于个股自身的开高低收数据,不涉及递归计算,用标准 SQL 窗口函数(LAG/LEAD/滚动 MIN)即可在全市场全历史范围内于数秒内完成统计,全文所有分桶结果均为全市场全历史真实计算,非抽样估计。


二、跌幅分桶:定位”甜蜜区间”与”死亡区间”

第一轮按过去 5 日跌幅粗分 6 档,统计后续 10 个交易日的收益率与胜率(全市场任意时点持有 10 日的基准:均收益 0.39%,胜率 49.3%):

过去 5 日跌幅 信号数(15 年) 10 日胜率 10 日均收益
跌超 20% 12,242 62.3% +6.09%
跌 15%~20% 20,353 56.7% +1.80%
跌 10%~15% 55,440 50.5% +0.09%
跌 5%~10% 178,599 46.5% −0.32%
跌 0%~5% 379,423 46.2% −0.15%
未跌反涨也创新低 74,600 46.3% −0.08%

跌幅越大、信号质量单调越好,跌超 20% 这一档远超基准。但这一单调关系并未一直延续——把跌超 20% 的样本继续细分至 40% 以上后:

过去 5 日跌幅 信号数 股价低于 3 元占比 平均股价 10 日胜率 10 日均收益
跌超 40% 262 46.6% 7.0 元 44.8% −0.35%
跌 35%~40% 411 8.3% 14.5 元 56.0% +7.01%
跌 30%~35% 1,147 7.1% 14.8 元 54.2% +5.18%
跌 25%~30% 3,420 5.3% 16.1 元 64.5% +8.90%
跌 20%~25% 7,002 6.2% 19.7 元 63.4% +5.07%

跌幅超过 40% 的一档信号质量直接崩塌,且该档中 46.6% 是股价低于 3 元的低价股(其余各档均在 5%~8% 区间),指向该档样本大量混入了 ST/退市风险股连续跌停后的技术性反弹或”死亡陷阱”,而非正常的超跌反弹。真正的甜蜜区间在跌幅 20%~35% 之间,25%~30% 档最优。这与此前放量突破研究中”1.5~2.0 倍最优、超过 5 倍反而是看跌信号”的非单调结构属于同一类现象:极端值往往对应不同的市场机制,不能简单外推”越极端越有效”或”越极端越无效”的单向假设


三、逐年稳健性检验:一个统计陷阱

对”5 日跌幅 20%~40%、创 10 日新低、当日收阳、剔除股价低于 3 元样本”的组合信号做逐年拆解:

年份 信号数 10 日胜率 年份 信号数 10 日胜率
2011 82 28.4% 2019 415 54.0%
2012 76 52.6% 2020 945 77.7%
2013 67 43.3% 2021 344 48.4%
2014 69 40.6% 2022 773 67.0%
2015 3,147 52.3% 2023 207 44.6%
2016 833 47.6% 2024 2,172 89.1%
2017 314 31.2% 2025 666 79.0%
2018 874 50.9% 2026 266 29.3%

胜率在 28.4%(2011)到 89.1%(2024)之间剧烈摆动,且样本量本身也高度不均——2015 年(3,147 个信号)与 2024 年(2,172 个信号)合计占总样本的近一半。这意味着此前任何一次”汇总统计”得出的整体胜率,本质上是被这两个大样本年份主导的结果,而非 16 个年份的均衡表现。这是一个需要特别警惕的统计陷阱:样本量在时间维度上分布不均时,汇总均值会掩盖掉真实的年度间差异,逐年拆解是识别这类问题的必要步骤,而不是可选步骤。

同时注意到,信号表现与”当年大盘整体涨跌”之间也不存在简单的线性关系——2014 年大盘温和上涨,该信号却表现不佳;2022 年大盘下跌,该信号反而表现优异。这排除了”牛市该信号更有效”这类朴素假设,指向需要一个更精确的市场状态变量。


四、市场状态是关键变量

A 股行情数据库中并未落地任何指数历史数据(沪深300 等指数的同步逻辑虽已编写,但从未实际执行入库),因此本文改用一个不依赖外部指数数据的替代方案:用全市场个股涨跌幅的等权平均值,作为大盘状态的代理指标,剔除单日涨跌幅超过 ±21% 的极端样本后,按 20 个交易日滚动求和,近似表示”大盘近 20 日的累计表现”。

按该代理指标把此前的 V 字信号重新分组:

大盘 20 日状态 信号数 10 日均收益 10 日胜率
大盘 20 日跌超 10%(系统性下跌) 6,793 +10.36% 71.9%
大盘 20 日跌 3%~10% 2,027 +3.82% 58.6%
大盘 20 日震荡 ±3% 1,497 −1.70% 42.1%
大盘 20 日涨 3%~10%(个股逆势下跌) 675 −9.08% 28.1%
大盘 20 日涨超 10% 258 −0.16% 47.7%

结果与最初”大盘下跌时应回避该信号”的直觉方向相反:信号有效性取决于个股是与大盘同步下跌,还是逆势独自下跌。大盘同期也在下跌时,个股跌 20%~40% 更可能是受系统性情绪拖累的 beta 效应,一旦大盘企稳,超跌部分会较快修复;大盘同期平稳甚至上涨时,个股逆势暴跌 20%~40% 更可能反映其自身出现了实质性利空(财务问题、监管处罚、股东减持踩踏等),此时”抄底”是在下跌趋势途中接飞刀,而非博弈超跌反弹。

这一发现同时解释了第三节逐年检验中的摆动模式——胜率较高的年份(2020、2022、2024、2025)大概率对应系统性下跌占比更高的时期,胜率较低的年份(2011、2017 等)大概率对应个股逆势下跌占比更高的时期,但这一推测在按大盘状态过滤之后才得到验证。


五、用大盘状态过滤后的逐年验证:显著改善但未完全消除异常

对”V 字信号 且 大盘 20 日跌幅低于 −3%”的组合信号重新逐年拆解,2016 年到 2018 年之间的表现仍不理想(2016 年 36.1%、2017 年 36.0%),说明单纯的”20 日累计跌幅”仍不够精确——一段时间内的温和阴跌与短期内的急速恐慌,累计跌幅可能相近,但市场含义完全不同。

改用两个更敏感的短期指标重新划分:

大盘近 5 日跌速 信号数 10 日胜率 大盘 10 日波动率 信号数 10 日胜率
跌超 8% 6,206 75.6% ≥2.5% 7,108 74.4%
跌 4%~8% 1,351 61.4% 1.8%~2.5% 674 52.7%
跌 0%~4% 734 44.9% 1.2%~1.8% 650 41.0%
未跌反涨 529 43.9% <1.2% 388 44.0%

用”大盘近 5 日跌幅超 8% 或 10 日波动率不低于 2.5%”替代此前的”20 日跌幅低于 −3%”,重新逐年拆解:

年份 信号数 10 日胜率 说明
2011 1 样本过小
2012 24 79.2%
2013 14 样本过小
2014 13 样本过小
2015 3,099 52.3% 股灾期间样本集中
2016 763 47.8% 唯一的大样本例外
2017 0 过滤器自动清零,未识别到”真恐慌”
2018 488 61.8%
2019 180 65.6%
2020 656 97.9% 疫情崩盘后
2021 0 过滤器自动清零
2022 418 91.3%
2023 0 过滤器自动清零
2024 1,946 96.8%
2025 421 96.7%
2026 8 样本过小(数据截至年中)

改善体现在两个方面:一是此前失败的 2017、2021、2023 三个年份被过滤器自动清零信号——这几年市场以温和阴跌或震荡为主,不存在真正意义上的急速恐慌,过滤器等同于自动判断出”这几年没有值得抄底的坑”;二是大样本年份(2020、2022、2024、2025)的 10 日胜率均提升至 91%~98% 区间。

唯一未能解决的例外是 2016 年(763 个信号,胜率 47.8%)。该年年初 A 股经历了”熔断”事件,短期波动率和跌速指标均会被判定为”真恐慌”,但事后反弹未能兑现。一个可能的解释是,熔断机制本身是一种人为的交易中断,而非市场自发的抛售出清,事件性质与”自然恐慌—均值回归”的假设并不完全吻合,但这一推测本文未做进一步验证,如实记录为未解决的异常,而非强行给出解释。


六、结论与局限

  1. 1. “个股急跌创新低后收阳反转”是一个真实存在的统计信号,但单独使用并不稳健,逐年胜率可在 28%~89% 之间摆动,汇总统计容易被样本量分布不均的年份主导,得出过于乐观的结论;
  2. 2. 该信号的有效性高度依赖大盘状态,且方向与直觉相反——个股跟随大盘下跌时是有效信号,个股逆势独自下跌时是危险信号,两者的 10 日胜率相差近 50 个百分点;
  3. 3. 判断大盘状态时,短期跌速/波动率(5 日、10 日)比累计跌幅(20 日)更能识别真正的”急速恐慌”而非”温和阴跌”或”结构性熊市”,后者即使跌幅可观,也不构成有效的超跌反弹条件;
  4. 4. 该信号本质上是一个”危机抄底”工具,而非日常选股策略——15 年历史中,满足全部过滤条件的信号仅 8,000 余次,其中 63% 集中在 2015 年和 2024 年两个年份,多数年份信号寥寥无几甚至全年为零;
  5. 5. 仍有一个未解决的异常(2016 年”熔断”事件对应的信号组表现不佳),本文未强行给出解释。

已知局限

  • – 全部结论基于历史数据的统计挖掘,样本内表现不构成对未来收益的保证;
  • – 大盘状态代理指标为全市场个股涨跌幅的等权平均,并非真实的市值加权指数(如沪深 300),两者在实际计算中可能存在差异,本文未做交叉验证;
  • – 当前回测/策略引擎不支持在个股策略条件中直接引用指数或大盘层面的指标,本文给出的 SDL 策略配置仅包含个股自身条件,实际使用时仍需人工判断当前大盘是否处于急速下跌/高波动状态;
  • – 未纳入交易成本(佣金、印花税、滑点)与涨跌停约束下的可成交性分析;
  • – 2016 年”熔断”事件对应样本组的表现异常未做进一步归因分析。

附:当前可配置的策略参数(裸信号版)

以下配置基于现有可用组件搭建,仅包含个股自身条件,不含大盘状态过滤(当前引擎暂不支持跨标的条件引用)。使用前需人工判断近期大盘是否处于系统性下跌或高波动状态,仅在满足该前提时执行;若大盘平稳或上涨,即使触发信号也建议跳过。

{
  "strategy_name": "V字反转抄底策略(裸信号版,需人工判断大盘环境)",
  "strategy_type": "quant",
  "components": {
    "indicators": [
      { "id": "i1", "type": "ROC", "name": "5日变动率", "parameters": { "period": 5 } },
      { "id": "i2", "type": "DONCHIAN", "name": "10日唐奇安通道", "parameters": { "period": 10 } }
    ],
    "conditions": [
      { "id": "i3", "type": "in_range", "name": "5日跌幅在20%~40%之间",
        "parameters": { "indicator": "i1", "mode": "between", "threshold": -40, "upper": -20 } },
      { "id": "i4", "type": "compare", "name": "创10日新低",
        "parameters": { "left": "Low", "op": "<=", "right": "i2.lower", "right_multiplier": 1 } },
      { "id": "i5", "type": "compare", "name": "当日收阳反转",
        "parameters": { "left": "Close", "op": ">", "right": "Open", "right_multiplier": 1 } },
      { "id": "i6", "type": "compare", "name": "排除低价/ST嫌疑股",
        "parameters": { "left": "Close", "op": ">=", "right": 3, "right_multiplier": 1 } }
    ],
    "logics": [
      { "id": "i7", "type": "and", "name": "V字反转综合条件",
        "parameters": { "input_conditions": ["i3", "i4", "i5", "i6"] } }
    ],
    "signals": {
      "entry": { "id": "i8", "type": "signal_entry", "name": "入场信号",
        "parameters": { "direction": "long", "trigger_condition": "i7" } }
    },
    "position_strategies": [
      { "id": "i9", "type": "position_fixed", "name": "抄底仓位",
        "parameters": { "position_pct": 0.15, "take_profit_pct": 100, "stop_loss_pct": 15,
          "trailing_stop": true, "trailing_stop_pct": 15 } }
    ]
  }
}

如需在 青柠量化 中直接使用该策略配置或复现本文的统计方法,可参考产品内的策略编辑器与回测功能。