AIGC标识 题材榜单时滞:最强题材收盘后评出,开盘溢价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制度放大了隔夜风险。当天买入后不能当日卖出,夜间消息、外盘、板块分歧都会在次日开盘集中定价。因此,用收盘后榜单做收盘成交,本质上是引入了未来函数。

三步自查

  1. 核对信号时间戳。导出最近一个月limit_cpt_list的入库时间、榜单发布时间和回测成交时间。若信号生成时间晚于15:00,却记录为T日收盘价成交,直接标记为未来函数。

  2. 计算隔夜开盘溢价。对每日入选的最强题材,用limit_list_ths归属个股,计算T+1开盘价/T日收盘价-1。先按个股等权平均为板块日,再对板块日等权,检查样本数是否不少于30、平均溢价是否达到1%。

  3. 做配对成交回测。同一批信号分别测试“T日收盘买入”和“T+1开盘买入”,均持有5个交易日、T+5收盘卖出。加入相同费用和停牌处理,计算5日平均收益及衰减幅度;若开盘口径收益下降达到50%,收盘成交口径即可证伪。

我们的全样本实测

下面给出可复现口径。其中结果数字为示例口径,用于说明字段、加权方式和判定逻辑;不同数据商版本和榜单回溯方式会改变结果,需要用自己的库重跑。

样本区间

2015-06-01至2025-05-31,覆盖近十年A股交易日。

信号生成

每个交易日T收盘后:

  1. 从limit_cpt_list中筛选板块名称包含以下关键词的板块:人工智能、AI、智能体、电商、广告。

  2. 取最强板块。排序规则固定为:榜单原始排名优先;若无明确顺序,则按当日涨停家数降序,再按板块涨幅降序。

  3. 使用当日limit_list_ths中归属该板块的个股作为成分样本,同一股票当日只计一次。

  4. 剔除停牌股;对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 排查源码与干净数据集可看个人主页置顶说明。

posted @ 2026-10-17 09:05  勇哥量化实质  阅读(10)  评论(0)    收藏  举报