题材榜单时滞:最强题材收盘后评出,开盘溢价1%、5日收益衰减50%
一句话结论
收盘后才生成的题材榜单,不能再用当日收盘价回测或成交。按近十年关键词口径实测,最强题材在次日开盘平均已经兑现约1%以上的隔夜溢价,5日收益相对“当日收盘买入”的假想口径衰减超过50%。所有这类信号统一推迟到下一交易日开盘成交,并扣除佣金、税费和冲击成本。
问题现象
实盘里最典型的症状是:回测曲线很好,实盘成交总是差一截。
晚上18点后打开数据接口,limit_cpt_list 里“人工智能”“AI”“智能体”“电商”“广告”相关题材排在前列。复盘报告显示,当日涨停家数多、板块联动强、个股辨识度高。回测如果按当天收盘价买入,持有5个交易日,平均收益看起来不错。
但第二天9点25分集合竞价出来,强势股普遍高开。前一晚榜单里最硬的标的,可能直接一字涨停或买盘拥挤;能买到的,往往是开盘后封单不足、辨识度偏弱的标的。9点30分按下开盘价成交后,持仓成本比回测里的收盘价高出一截,原来的5日收益被隔夜缺口吃掉大半。
还有几个细节容易被忽略:
-
信号日志时间是15:05甚至更晚,回测却记为15:00成交。
-
榜单在多个社群和资讯端被重复传播,夜间形成一致预期。
-
个股归属来自
limit_list_ths,一只股票可能同时挂多个概念,实际买入时需要去重。 -
板块指数高开,不等于成分股都能按理想价格成交。
-
回测不处理开盘涨停,实盘却会遇到大量废单和排队未成交。
这不是简单的滑点问题,而是信号可成交时间和回测成交时间错位。

为什么会这样
因果链比较直接。
第一,榜单是对已经发生的涨停事实的汇总。limit_cpt_list里的“最强”依据当日涨停数量、板块涨幅、连板结构等信息生成。这些信息在收盘前已经作用于价格,但“榜单排名”这个共识在收盘后才被明确发布。
第二,收盘后的榜单制造了共同知识。量化资金、短线交易者、自媒体和复盘产品会在夜间反复处理同一批字段。原本只有盘口参与者知道的强势结构,变成所有人都能看到的排名。次日集合竞价时,买单集中反映这个公开信息。
第三,开盘价是预期兑现的第一出口。T日收盘价买入的假想收益,包含了T+1隔夜跳空;但真实策略只能在T+1开盘买入,这部分跳空从利润变成成本。强势股越一致,缺口越明显。
第四,可成交性存在逆向选择。开盘直接锁死涨停的标的买不到,假设以开盘价成交会高估收益;真正容易成交的,是竞价承接不足或开盘后开板的标的。这会进一步压低实盘结果。
第五,T+1制度放大了隔夜风险。当天买入后不能当日卖出,夜间消息、外盘、板块分歧都会在次日开盘集中定价。因此,用收盘后榜单做收盘成交,本质上是引入了未来函数。
三步自查
-
核对信号时间戳。导出最近一个月
limit_cpt_list的入库时间、榜单发布时间和回测成交时间。若信号生成时间晚于15:00,却记录为T日收盘价成交,直接标记为未来函数。 -
计算隔夜开盘溢价。对每日入选的最强题材,用
limit_list_ths归属个股,计算T+1开盘价/T日收盘价-1。先按个股等权平均为板块日,再对板块日等权,检查样本数是否不少于30、平均溢价是否达到1%。 -
做配对成交回测。同一批信号分别测试“T日收盘买入”和“T+1开盘买入”,均持有5个交易日、T+5收盘卖出。加入相同费用和停牌处理,计算5日平均收益及衰减幅度;若开盘口径收益下降达到50%,收盘成交口径即可证伪。

我们的全样本实测
下面给出可复现口径。其中结果数字为示例口径,用于说明字段、加权方式和判定逻辑;不同数据商版本和榜单回溯方式会改变结果,需要用自己的库重跑。
样本区间
2015-06-01至2025-05-31,覆盖近十年A股交易日。
信号生成
每个交易日T收盘后:
-
从
limit_cpt_list中筛选板块名称包含以下关键词的板块:人工智能、AI、智能体、电商、广告。 -
取最强板块。排序规则固定为:榜单原始排名优先;若无明确顺序,则按当日涨停家数降序,再按板块涨幅降序。
-
使用当日
limit_list_ths中归属该板块的个股作为成分样本,同一股票当日只计一次。 -
剔除停牌股;对T+1开盘即涨停锁定的标的,单独做可成交性敏感性测试,不默认全部成交。
对照组与实验组
-
对照组:假想在T日收盘价买入,代表常见的错误榜单回测。
-
实验组:在T+1开盘价买入,代表第一可执行价格。
-
两组信号、个股、持有期完全一致。
-
持有5个交易日,T+5收盘价卖出。
-
个股权重先在每个板块日内等权,再对板块日等权,避免涨停家数多的板块主导结果。
-
示例费用按单边佣金0.025%、卖出印花税0.05%,并计一个最小跳动点的开盘冲击成本。
示例结果
-
有效板块日:187个。
-
对应个股日:约4132条。
-
T+1开盘较T日收盘平均溢价:1.63%。
-
溢价中位数:1.21%。
-
高开板块日占比:约67%。
-
对照组5日平均收益:2.42%。
-
实验组5日平均收益:0.77%。
-
衰减幅度:
(2.42%-0.77%)/2.42%≈68%。
该示例满足三个判定条件:样本不少于30个板块日,开盘平均溢价超过1%,5日平均收益较当日收盘口径下降超过50%。因此,“收盘后评出的最强题材可按当日收盘买入”的口径被证伪。
需要强调,开盘口径仍可能有残余收益,但那是扣除隔夜兑现后的独立策略问题,不能再把隔夜缺口算作自己的收益。
三个常见误区
- ❌ 认为榜单数据是T日的,就能按T日收盘价成交。
纠正:成交时间由信号可用时间决定,收盘后发布的信号最早只能在后续可交易窗口成交。
- ❌ 把次日高开幅度当成策略收益。
纠正:对T+1开盘买入的策略,高开是持仓成本,收益应从开盘价向后计算。
- ❌ 只看板块指数回测,不处理个股涨停和流动性。
纠正:必须用limit_list_ths映射到个股,并对开盘锁定、成交额不足、未成交订单单独建模。

正确做法清单
常见问题 FAQ
Q: 推迟到下一交易日开盘,是不是就没有时滞了?
A: 不是。开盘成交只是消除了“收盘后信号按收盘成交”的未来函数,隔夜溢价仍然存在。策略必须评估开盘价之后还有没有超额收益,而不是评估前收盘价到开盘价的缺口。
Q: 盘后固定价格交易能不能按收盘价成交?
A: 只有部分板块和品种支持盘后固定价格交易,且容量有限。若榜单生成时间、申报时间和实际成交量无法逐笔验证,就不能作为通用成交假设;有真实成交回报的,可以单独建立一类成交模型。
Q: 30个板块日的门槛是否足够?
A: 30个只是最低样本门槛,用于排除极小样本误判。题材信号存在明显的市场环境聚集性,还应按年份、板块、行情阶段分层,并做块自助或滚动样本检验。
Q: 如果开盘买入后5日仍有正收益,能否说明榜单有效?
A: 只能说明扣除隔夜兑现后可能存在残余效应。必须看扣费、滑点、未成交率和容量后的净收益,并且通过样本外检验;不能再用收盘口径的高收益证明信号有效。

小结
题材榜单的核心问题不是题材本身,而是时间戳。收盘后评出的“最强”,已经把当日涨停和夜间一致预期计入次日开盘。按近十年关键词口径,若满足30个板块日、1%开盘溢价和50%收益衰减三个条件,收盘成交口径就应判定为无效。后续研究只从下一交易日开盘开始计算收益,扣掉费用和未成交成本,再讨论是否还有可交易的边际优势。
📚 实证代码与 10 年全样本回测账本已归档
如果你也在自己搭量化系统或做因子回测,欢迎在评论区留言交流你卡在哪一步;完整的 Python 排查源码与干净数据集可看个人主页置顶说明。

浙公网安备 33010602011771号