停牌复牌效应:被冻结的价格如何补跌,以及抄底为什么亏钱
A 股停牌不消灭信息,只推迟价格发现。900 个停牌事件、12 年口径的受控模拟给出三个层次的结论:一,复牌后 20 日累计收益对『beta×停牌期间市场收益』的回归斜率 0.83(t=7.4)——停牌期间市场跌多少,复牌后几乎原样补跌,价格缺口是会计恒等式不是 alpha;二,复牌首日 28.1% 的事件直接封死在跌停板上,长期停牌(>60 日)组更严重——你看到的『复牌首日平均只跌 1.3%』是涨跌停截断后的假象,未释放的缺口在后续交易日继续泄洪;三,『第一个打开跌停日买入』的抄底策略在正确执行口径下净收益 -3.76%(t=-8.7)、胜率 25.7%——而同一份代码里一个不起眼的入场 bug(没有排除涨停开盘的重组股)会把这个数字翻成 +5.15%:一字涨停板上你根本买不进,回测却默认成交,白捡了重组利好的全部未释放缺口。分原因看,抄底唯一不亏的是重组利好组(+0.61%),而风险警示组 -6.40% 是绞肉机。流动性折价的修复是真实存在的(与停牌时长的平方根成正比),但它藏在跌停泄洪的后面,普通投资者接到的永远是先泄洪后修复的完整左尾。诚实边界:模拟的缺口释放规则是程式化的、真实复牌股的连续跌停有排队卖压的自我强化,比模拟更极端。
问题:停牌保护了谁#
A 股是全球主要市场里停牌最频繁、停牌时间最长的市场之一。2015 年股灾期间,超过一半的上市公司处于停牌状态;重大资产重组停牌半年以上曾经是常态(2018 年停复牌新规后大幅收敛,但长停牌事件至今仍在发生)。
停牌的官方理由是保护投资者——信息不对称时暂停交易,等信息披露充分了再恢复。但价格发现被暂停不等于信息被暂停:停牌期间市场照样涨跌、行业照样轮动、公司基本面照样变化,所有这些信息在复牌那一刻集中清算。
这就产生了三个可以量化的问题:
- 复牌后的价格跳变里,多少是「补市场的作业」(可预测但不可赚),多少是事件本身的信息?
- 涨跌停板把这个集中清算切成了什么形状?
- 「连续跌停打开后抄底」这个民间流传的策略,到底是馅饼还是绞肉机?
真实停牌事件的完整数据(停牌原因、时长、复牌路径)整理成本很高,本文先用受控模拟把机制骨架搭出来——模拟的好处是每一层机制的真值已知,可以精确回答「回测测到的东西是不是注入的东西」。
模拟构造:缺口的三个来源#
900 个停牌事件,停牌时长取对数正态分布(中位 15 日,10.2% 超过 60 日),停牌原因分三类:一般事项(60%)、重组利好(25%)、风险警示(15%)。
复牌时的「公允缺口」由三部分组成:
# 复牌时的公允跳空 = 补市场 + 事件信息 + 个股噪声
fair_gap = beta * mkt_cum_halt + announce + idio_halt
# announce: 重组利好 ~ N(+18%, 10%), 风险警示 ~ N(-22%, 12%), 一般 ~ N(0, 4%)
# 流动性折价: 长期停牌后投资者要求额外补偿, 与时长的平方根成正比
liq_discount = -0.012 * np.sqrt(halt_len) * (1 + noise)python关键的执行层约束是涨跌停:复牌后价格向公允价值移动,但每天最多走 ±10%,走不完的留到明天——这正是连续一字板的机制来源。流动性折价则走另一条通道:复牌初期泄洪完成后,从第 3 日起每日修复剩余的 8%,约一个月修复完毕。
发现一:补跌是会计恒等式,斜率 0.83#
复牌后 20 日累计收益对「beta × 停牌期间市场累计收益」回归:

斜率 0.83(t = 7.4)——停牌期间市场跌 10%,beta=1 的股票复牌后 20 日内平均补跌 8.3%。斜率略小于 1 是涨跌停截断与 60 日观察窗截尾的共同结果(部分长缺口 20 日内没释放完)。
这个回归的实战含义经常被用反。有人把「复牌补跌」当作做空信号——但它是全市场都知道的确定性事件,你无券可融(停牌股复牌首日融券池基本为空),而持仓者想卖也卖不出(跌停排队)。可预测 ≠ 可交易,这里两头都堵死。
它真正的用途在风控端:持有停牌股的组合,停牌期间必须按 beta × 市场变动对持仓做影子估值(公募基金的指数收益法估值正是这个逻辑),否则净值是假的,申赎套利者会用真金白银教育你——2015 年大批持有停牌股的基金遭遇的正是这种「估值套利」申购。
发现二:首日收益是涨跌停截断后的假象#

复牌首日平均收益只有 -1.3%,看起来温和。但分布完全不是这么回事:28.1% 的事件首日直接封死跌停,散点图上那两条 ±10% 的水平线就是被压扁的真实分布。停牌越久,散点越是挤在两条板上——价格发现被推迟而非取消,涨跌停再把它切成分期付款。

按停牌时长分组的平均路径把「分期付款」画得很清楚:短停牌组(≤5 日)首日基本一步到位,之后走平;长停牌组(>60 日)先连续下行泄洪,跌到位后出现一段缓慢的向上修复——那是流动性折价的回补,平均幅度与 成正比,约一个月修复完。
流动性折价的修复是这个事件里唯一真实的 alpha 候选。 但注意它的位置:藏在泄洪的后面。想吃到修复,先得躲过泄洪。
发现三:抄底策略的真相,以及一个价值 8.9 个百分点的 bug#
「连续跌停打开那天买入」是复牌股民间流传最广的玩法。逻辑听起来自洽:跌停打开说明卖压出清,流动性折价超调,接下来是修复段。
第一版回测代码给出的结果验证了这个故事:900 个事件、20 日持有、扣双边 60bp 成本后净收益 +5.15%,t = 11.7。好得可疑。
按规矩做对抗式审查,第一个怀疑点就中了:入场条件写的是「第一个非跌停日买入」,对于涨停开盘的重组股,down_days = 0,代码在复牌首日就”买入”——但一字涨停板上根本买不进。回测默认成交,等于白捡了重组利好组全部未释放的上行缺口(该组”净收益”+18.8%)。
修正后只保留跌停开盘的事件(真正能等到跌停打开再买的场景):

| 口径 | 事件数 | 净收益 | 胜率 |
|---|---|---|---|
| bug 版(含涨停开盘假成交) | 900 | +5.15% | 56.9% |
| 正确版(仅跌停开盘) | 253 | -3.76% (t=-8.7) | 25.7% |
| 随机日期对照 | 253 | -0.25% | — |
方向直接翻了。分原因看更残酷:一般事项组 -2.08%,风险警示组 -6.40%——跌停打开经常不是卖压出清,而是第一批割肉盘成交后的中场休息,后面还有缺口没释放完。唯一微正的是重组利好组 +0.61%(n=16,重组股跌停开盘本身就稀少)。
这个 bug 值得单独记一笔:它不报错、不产生 NaN、t 值高达 11.7,所有常规 sanity check 都会放行。唯一能抓住它的问题是:「这些成交在真实市场里能发生吗?」——事件驱动回测的第一审查项永远是入场可行性,而不是信号逻辑。
A. 实现细节#
- 事件面板:900 个停牌事件,时长 lognormal(2.6, 1.1) 截断在 [1, 250] 日;复牌后观察 60 个交易日;
- 缺口释放:每日向剩余缺口移动 85%,截断在 ±10% 涨跌停内;流动性折价从第 3 日起每日修复剩余的 8%,两条通道独立记账(第一版曾混在一起,导致修复量污染涨跌停判定);
- 连续跌停判定阈值 |r| ≥ 9.95%,抗浮点噪声;
- 抄底策略:仅跌停开盘事件,第一个非跌停日按当日收益入场,持有 20 日,双边成本 60bp;对照组为同波动率随机路径的随机日期入场。
B. 已知偏差#
- 缺口释放规则是程式化的:真实连续跌停有排队卖压的自我强化(跌停封单越大,未成交者次日挂更低),释放速度不是常数;真实左尾比模拟更长;
- 停牌原因的比例与公告效应幅度是拍的:+18%/-22% 的设定参考了重组与风险警示事件的历史量级,但真实分布有更厚的尾部(重组失败复牌可以直接 -40%);
- 流动性折价 systematic 修复的假设偏乐观:真实市场中部分折价是永久的(停牌记录本身改变了投资者对该公司治理的评估),模拟按 100% 修复处理,高估了抄底策略的下限。
C. 结果解读#
- 复牌补跌的正确用法是估值而非交易:斜率 0.83 的回归对持有停牌股的组合是影子定价公式,对想做空的人是无法执行的画饼;
- 首日均值 -1.3% 是这个研究里最有欺骗性的数字:涨跌停把一次性清算切成多日路径,任何只统计首日的停牌研究都严重低估事件的真实冲击(28.1% 的事件首日被封死,信息还在板上排队);
- 抄底策略的 -3.76% 不是成本问题:毛收益就是 -3.16%,问题出在「跌停打开」这个信号本身选择了最差的事件子集——能连续跌停的复牌股,缺口大概率还没释放完,你接的是第二波泄洪;
- 可交易的残余在重组利好组,但通道极窄:涨停开盘买不进,跌停开盘的重组股稀少(n=16),真正能规模化执行的机会一年摊不到两次——这是一个「机制真实、容量趋近于零」的典型案例;
- 横向对比:这个结构与指数纳入效应同构——可预测的价格压力 + 全市场共同知识 + 执行通道受限,最终 alpha 都留给了不需要主动交易的既有持仓者(复牌场景里是停牌前就想卖的人抢到跌停板第一排)。
模拟完整代码见 scripts/sim_trading_halt_resumption.py,固定种子 2026 可完整复现。