停牌日数据是选择填充法还是设为缺失值,取决于后续计算指标的性质:若指标依赖收益率序列的连续性(如动量指标),优先采用填充法;若指标要求真实的交易日波动信息(如波动率、贝塔系数),则必须设为缺失值。核心原则是:填充法维持时间序列完整但不引入虚假价格变动,缺失值保留停牌期间的市场信息空白,避免干扰真实波动测算。
填充法在动量计算中的适用场景
动量指标(如过去N日收益率、相对强弱指标)依赖于连续的价格序列来计算累计涨跌幅。当股票停牌时,其收盘价在停牌日不发生变化,填充法(通常用停牌前最后收盘价填充)能保持时间索引的连续性,使动量计算逻辑通顺——因为停牌期间该股票没有实际交易,价格不变符合市场事实。例如,计算20日收益率时,若停牌5日,填充法会把这5日的收益率计为0%,从而在最终收益率中自然体现“停牌期间无收益”的状态。
填充法的适用条件:仅当停牌时间较短(通常不超过5个交易日),且停牌原因不涉及重大资产重组等可能导致复牌后剧烈跳空时,填充法才合理。若停牌过长或复牌后价格可能大幅偏离,填充法会严重扭曲动量指标,此时应优先考虑缺失值处理。
缺失值在波动率和贝塔计算中的必要性
波动率(标准差)和贝塔系数(市场风险敏感度)要求使用真实交易日之间的收益率数据。停牌日的价格是人为维持的静态值,将其纳入计算会引入大量零收益率,人为压低波动率估值,并扭曲贝塔系数中的协方差结构。举例:若某股票停牌10日,填充法会产生10个连续零收益率,使年化波动率凭空降低约20%—30%(具体幅度取决于停牌占比)。因此,在波动率和贝塔计算中,必须将停牌日收益率设为缺失值,仅基于实际交易日的收益率序列进行估算。
多数量化平台和学术研究的标准做法是:在计算波动率时,剔除停牌日数据,并对剩余交易日的收益率序列进行年化调整(如乘以√252/实际交易天数)。贝塔系数计算同理,仅使用股票与市场指数均有交易记录的重叠日期。
总结:场景化的核心原则
选择填充法还是缺失值,核心原则可归纳为:
- 依赖收益率连续性的指标(动量、移动平均线、累计收益率):用填充法,保持时间索引完整。
- 依赖真实波动信息的指标(波动率、贝塔、夏普比率):设为缺失值,避免零收益率干扰。
- 停牌时间超过5个交易日或涉及重大事件:即使计算动量指标,也建议设为缺失值,并在复牌后重新校准序列。
常见问题
同时需要计算动量和波动率时,该怎么处理同一份停牌数据?
建议分别对两个指标使用不同处理方式。动量计算时用填充法生成连续序列,波动率计算时从原始数据中剔除停牌日。大多数金融数据库(如Wind、Tushare)允许用户自定义停牌日标记,可在预处理阶段同时保留两种数据版本。
停牌日使用前复权价格填充,还是用不复权价格?
通常使用不复权价格填充。前复权价格会因除权除息改变历史数值,填充后可能与停牌前真实收盘价产生偏差。复权调整应在填充完成后、计算指标之前统一进行,避免停牌日数据被错误调整。
如果停牌期间有分红或配股,填充法还需要调整吗?
需要调整。停牌期间发生权益变动(如分红、配股),应在复牌日对停牌前收盘价进行除权修正,再用于填充。具体修正比例以交易所除权除息参考价为准,修正后的填充价能更准确反映停牌期间的实际价值变化。