4. 停牌信息获取与数据预处理
研究龙头股停牌引发的板块替代效应,第一步不是建模,而是把"谁停了、停多久、何时复牌、板块里谁和它最像"这几件事变成可计算的数据。这一步做不扎实,后面的替代强度、资金迁移路径都会建立在错误的时间轴上。本节围绕两条数据线展开:一条是停牌事件数据(公告、停牌起止、复牌时间、停牌原因),另一条是个股关联度数据(用于刻画板块内谁最可能承接龙头溢出资金),最后给出清洗与对齐的落地方法。
一、停牌事件数据的三个来源与取舍
停牌信息本质上是交易所披露的公告事件,实践中通常有三类获取路径,各有明确的适用边界。
- 交易所公告接口/公告全文检索:最权威。上交所、深交所、北交所均提供公告查询,可按证券代码与日期区间检索"停牌""复牌""重大资产重组"等关键词。优点是含停牌原因与预计复牌日期,缺点是公告为PDF或HTML文本,需要解析。
- 行情数据中的停牌标记:日线数据中常见"成交量=0 且 收盘价=前收"或专门的停牌状态字段。优点是结构化、易批量,缺点是只能事后确认"当天停了",拿不到停牌原因和预计复牌日,也无法区分"全天停牌"与"盘中临停"。
- 交易日历与状态表:部分数据源提供逐日的交易状态表(正常交易/停牌/ST等),适合做时间轴对齐,但更新可能滞后。
工程上的推荐做法是以公告为主、行情标记为辅、状态表做校验:用公告确定停牌事件的起止与原因,用行情标记反查是否有遗漏(例如盘中临停、当日复牌但公告未及时抓取),两者冲突时以交易所公告为准并记录冲突日志。
二、停牌时长与复牌时间的计算口径
停牌时长必须明确口径,否则不同来源的数据无法比较。建议统一采用交易日口径:
停牌交易日数 = 复牌日之前、停牌起始日(含)之后的交易日个数
停牌自然日数 = 复牌日 - 停牌起始日
若公告给出"预计复牌日",则:
预计停牌交易日数 = 预计复牌日之前的交易日个数(自停牌起始日起算)
举例说明(示例数据,非实测):某龙头股公告自 3 月 4 日起因重大资产重组停牌,预计 3 月 18 日复牌。若期间交易日为 3/4—3/17 共 10 个交易日,则预计停牌交易日数为 10;若实际 3 月 25 日才复牌,则实际停牌交易日数为 15,超期天数 = 5 个交易日。这个"超期"字段非常关键——它直接决定替代效应是"短停牌脉冲"还是"长停牌持续替代"。
需要特别处理两类边界:一是当日停牌当日复牌(如盘中临停),交易日数记为 0,但应保留事件;二是停牌期间跨越长假,自然日与交易日差异极大,务必用交易日历换算,不能直接用日期相减。
三、板块内个股关联度的计算
替代效应的核心假设是:与停牌龙头关联度越高的个股,越可能承接溢出资金。关联度可以从三个维度合成,每个维度都要先做清洗再计算。
- 收益相关性:取停牌前 N 个交易日(建议 60 或 120 日)的日收益率序列,计算皮尔逊相关系数。要求两只股票在窗口内均有足够有效交易日(建议覆盖率≥80%),否则该对样本标记为缺失。
- 行业与概念重合度:用申万三级行业是否一致、概念标签交集数量(Jaccard 系数)刻画"业务同质性",弥补纯价格相关在极端行情下的失真。
- 市值与流动性相近度:以对数市值差的绝对值、换手率比值衡量"承接能力",避免把关联度高但体量差两个数量级的个股误判为替代标的。
合成方式建议先各自归一化到 [0,1],再加权:
关联度 = 0.5 × 收益相关(归一化)
+ 0.3 × 概念Jaccard
+ 0.2 × (1 - |ln市值差| / 阈值)
示例:A股与停牌龙头相关系数0.72,概念Jaccard 0.40,
市值比1.3(|ln1.3|≈0.26,阈值取1.0)
关联度 ≈ 0.5×0.72 + 0.3×0.40 + 0.2×(1-0.26) ≈ 0.36+0.12+0.148 ≈ 0.63
权重不是固定的,短停牌场景可提高相关性权重,长停牌场景应提高业务同质性权重,因为长停牌期间市场会重新给"业务可比"定价。
四、数据清洗的五个必做动作
原始数据几乎不可能直接可用,以下五步是本节最值得固化的清洗规范。
- 事件去重:同一停牌可能有多份公告(首次公告、进展公告、复牌公告)。以"证券代码+停牌起始日"为主键合并,保留最新公告的复牌信息,历史公告作为版本记录。
- 冲突校验:公告说 3/18 复牌、行情显示 3/18 仍无成交,说明实际复牌延后。此时以行情实际首个有成交日为准,并把"公告预计日"与"实际复牌日"分列两字段,不要覆盖。
- 停牌日价格填充:停牌期间行情缺失,若直接计算收益率会产生断点。建议停牌日以前收盘价填充,收益率记 0,并在数据中打"停牌"标记,避免把 0 收益误当作真实波动。
- 复权一致性:停牌期间若发生分红送转,复牌后价格会跳空。计算相关性前必须使用同一复权口径(建议后复权),否则复牌首日会出现虚假的极端收益。
- 窗口有效性检查:相关性窗口内若某股停牌超过 20%,该对样本的相关系数不可靠,应剔除或降权,并在关联度矩阵中标记为低置信。
五、一份可直接落地的字段清单
把上述口径固化成表结构,后续所有分析都从这张表出发,能显著减少口径争议。停牌事件表建议字段:证券代码、证券简称、停牌起始日、停牌原因、公告预计复牌日、实际复牌日、停牌交易日数、超期交易日数、数据来源、冲突标记。关联度表建议字段:停牌龙头代码、候选替代股代码、收益相关系数、概念Jaccard、对数市值差、关联度得分、置信标记、计算窗口起止。
完成这一步后,你手上应该有两样东西:一张时间轴准确、口径统一的停牌事件表,以及一个覆盖板块内全部候选股的关联度矩阵。它们本身还不是结论,但已经足以支撑下一步——用停牌时长与关联度共同给每只候选股打出替代强度分,并观察资金在停牌窗口内是否真的向高关联度个股迁移。