停牌:想交易也交易不了的日子
我的掌握程度:
先掌握这个答案
停牌=交易所暂停某股票交易。触发:重大资产重组、异常波动核查、披露重大事项、股灾期间批量特例。停牌期间:无成交、行情冻结(价格停留在停牌前)、复牌首日常巨幅补跌/补涨(信息集中释放)。数据特征:停牌日无OHLCV记录或价格为0的脏数据。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
本阶段实战方法 · 把行情数字变成可比较的收益
看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。
- 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
- 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
- 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。
使用边界
- 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
- 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
2015年股灾,千股跌停之后是千股停牌——超过一半A股以「重大事项」为由停牌避险。持仓的投资者想卖卖不掉,场外的人看着净值图表上一条条静止的线。
由此产生的问题
停牌的规则是什么?停牌期间的价格「不动」对数据和回测意味着什么?
核心概念
停牌=交易所暂停某股票交易。触发:重大资产重组、异常波动核查、披露重大事项、股灾期间批量特例。停牌期间:无成交、行情冻结(价格停留在停牌前)、复牌首日常巨幅补跌/补涨(信息集中释放)。数据特征:停牌日无OHLCV记录或价格为0的脏数据。
为什么需要它
①回测陷阱:停牌期间「价格不变」,策略若按停牌价「成交」=虚构交易(无对手盘);②净值失真:持有停牌股的组合,估值停留在旧价,真实风险被隐藏(2015年公募基金对停牌股被迫用指数收益法估值);③流动性挤兑:批量停牌时,没停牌的股票承接全部卖压,跌幅放大。
实际应用场景
数据处理:识别停牌日(成交量=0或缺失)→ 剔除/前向填充并标记 → 复牌首日特别处理(跳空风险);组合管理:事前分散(单票上限)防止停牌锁死资金。
与之前知识的联系
q-044涨跌停是「价格受限的流动性中断」,停牌是「彻底的中断」——回测处理逻辑同源。q-066将写代码处理停牌数据。2015年的批量停牌是流动性风险的历史教材(阶段7)。
⚠ 常见误解
- 停牌=安全:风险没有消失只是没有报价;复牌补跌时一天释放全部跌幅
- 停牌期间净值是真的:账面净值按停牌前价格计算,是「幻觉净值」,真实价值未知
- 只有差公司停牌:重大重组(利好)也长期停牌,好股票也会锁住你的资金半年
🛠 本题实践任务
在F10找一只曾经长期停牌(>1个月)的股票,记录:停牌时长、停牌前价格、复牌首日涨跌幅。体会「冻结的风险」。
💡 提示(先自己想5分钟再看)
重大资产重组类停牌常见半年以上;复牌首日看历史行情K线上的巨大跳空。
✅ 验收标准
三要素记录(时长/停牌价/复牌涨跌)+一句话:如果它是你组合10%的仓位,复牌那天组合净值会发生什么?
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(流动性、ST),再用案例、公式和代码帮助理解。此功能需要先启用服务。