halo 的技术博客

返回

失衡信号 vs 尾盘收益

每个交易日的最后十分钟,市场上演一场公开的资金对撞:交易所会实时发布收盘集合竞价的失衡信息——有多少买单和卖单等着在收盘价成交、缺口有多大、朝哪个方向。美股的 MOC(Market-On-Close)失衡数据从 15:50 开始由纳斯达克和纽交所分批披露,A 股 14:57 进入收盘集合竞价后订单簿冻结可见。这不是什么另类数据,是交易所白纸黑字广播给所有人的信息。

有趣的地方在于:这个公开信号在披露之后依然能预测尾盘价格。买单失衡的股票,从披露时点到收盘继续上涨;卖单失衡的继续下跌。信息人人可见,价格却不会瞬间调整到位——因为吸收这些失衡订单需要真金白银的流动性,而流动性提供者要收补偿。

这篇文章用 1250 个交易日 × 100 只股票的合成面板把这个信号完整检验一遍:传导强度多大、单调性是否干净、顺势和反转两条腿哪条能活过交易成本。

失衡从哪来:被动资金的日历化刚需#

收盘竞价失衡的燃料主要有三股,而且都是”身不由己”的:

指数基金的申赎执行。 被动基金以收盘价计算净值,为了消灭跟踪误差,申购赎回对应的成分股买卖几乎全部塞进收盘竞价。全球被动化率越高,收盘竞价占全天成交的比例越大——美股这一比例已经超过 10%,指数调整日能到 30% 以上。

衍生品到期与对冲调仓。 期权做市商的 Delta 对冲、期货现货套利的平仓,很多都锚定收盘价执行。

窗口粉饰与基准执行。 机构交易台的执行质量考核经常以收盘价为基准(MOC benchmark),大单被切到尾盘集中释放。

这三股资金的共同特征:对价格不敏感、时间上不可推迟。它们不是因为看多才买,而是因为规则要求今天收盘前必须买。这就是经典的流动性需求冲击——需要有人临时接盘,接盘者索取的价格让步,就是失衡信号的预测能力来源。

Bogousslavsky & Muravyev (2023) 对美股收盘竞价的研究发现,竞价失衡对尾盘收益有显著预测力,且收盘价相对”公允价格”的偏离在次日开盘部分回吐——先顺势、再反转的两段结构。

合成实验设计#

用可控参数把机制植入数据,然后检验能不能把植入的参数还原出来:

三个设计要点:

  1. 传导系数 β=0.12:失衡每高一个截面标准差,尾盘多涨 3bp(0.12 × 25bp)。这个量级参考了实证文献中 MOC 失衡的预测强度,属于”真实但微弱”的信号。
  2. 反转系数 -0.35:收盘价被失衡推离公允价的部分,次日开盘回吐约三分之一。这对应流动性冲击的暂时性成分。
  3. 策略层加入不可分散的共同噪声:竞价套利是拥挤赛道,同类资金同进同出造成 spread 层面的共同波动。不加这一项,100 只股票的截面平均会把 Sharpe 推到 14 以上的假读数——那是合成数据的分散化幻觉,不是策略质量。

检验一:信号强度与单调性#

对全部 125,000 个股票-日观测做回归:

  • 相关系数 0.12,回归斜率 3.0 bp/σ,t = 42.9——精确还原植入的 β=0.12(0.12×25bp=3bp)。t 值如此夸张是因为样本量巨大且机制是我们亲手植入的,真实数据里同样的经济效应 t 值通常在 5-15 之间。
  • 五分组严格单调:卖压最重的 Q1 尾盘平均 -4.1bp,买压最重的 Q5 平均 +4.3bp,中间三组 -1.5 / -0.1 / +1.8 bp 整齐排列,没有任何一组跳序。

单笔 3-4 个 bp 听起来像蚊子腿,但这是每天都发生、横截面上百只股票同时可做的蚊子腿。日频高容量小信号的复利数学,正是统计套利的标准形态。

检验二:两条腿的生死判决#

信号有两段结构,对应两条完全不同的策略腿:

腿 A(尾盘顺势):失衡披露后,做多买压组、做空卖压组,持有到收盘平仓。持仓时间约十分钟。

腿 B(隔夜反转):收盘时反向建仓——做多被砸出深坑的卖压组、做空被推高的买压组,次日开盘平仓,赚收盘价偏离的回吐。

两条腿的净值曲线

1250 个交易日的结果(单边成本 3bp):

策略腿毛年化毛 Sharpe净年化净 Sharpe净值 MDD
尾盘顺势21.1%6.46+6.0%1.843.0%
隔夜反转7.5%1.95-7.6%-1.9832.0%

判决非常清晰:同一个信号,一条腿活着,一条腿死了,死因都是成本

尾盘顺势腿毛信号足够厚(日均约 8bp 的多空价差),扣掉 6bp 双边成本还剩 2bp 出头,靠 53.8% 的日胜率日拱一卒。隔夜反转腿的毛信号只有顺势腿的三分之一左右(回吐比例 35% × 传导幅度),同样的 6bp 成本直接把它打成负值——毛 Sharpe 1.95 看着能用,净了以后是 -1.98,方向整个翻过来。

这是所有微观结构策略的通用教训:毛收益排名和净收益排名可以完全不同,信号厚度必须先和成本对表再谈胜率

检验三:β × 成本的生死线#

把传导系数和单边成本做成网格,看净 Sharpe 在什么组合下由正转负:

成本敏感性热力图

几个读数:

  • β=0.12(本实验基准):1bp 成本下净 Sharpe 4.9,3bp 下 1.8,5bp 下 -1.2。机构级执行(1-2bp)很舒服,零售级执行(5bp+)直接出局。
  • β=0.04(弱信号):任何成本水平都是负的。信号强度不够时,讨论执行优化毫无意义。
  • β=0.16(强信号):8bp 成本下依然勉强为正。信号厚度是唯一真正的护城河。

竞价失衡策略的成本还有一个隐藏恶化项:你的对手盘恰恰是收盘竞价里的失衡本身——你想吃的价差和你自己的市场冲击直接竞争。规模上去之后,你的买单会填平你想利用的卖单失衡,策略容量以肉眼可见的速度衰减。

实盘落地的四个坑#

坑一:披露时间线必须严格对齐。 美股 MOC 失衡 15:50 首次披露、之后每 5 秒更新,15:55/15:58 有关键的订单截止节点。回测里用 15:50 的失衡数据配 15:50 之后的收益是干净的;但如果不小心用了最终失衡(收盘时才完全确定)配整段尾盘收益,就是教科书级 look-ahead——最终失衡里包含了 15:50 之后新进场订单的信息。

坑二:A 股的竞价结构完全不同。 A 股 14:57-15:00 收盘集合竞价期间不接受撤单、订单簿冻结,失衡信息的形成和披露机制与美股 MOC 两回事,参数不能平移。深交所竞价期间有行情快照可用,但三分钟窗口留给反应的时间极短,对执行系统的延迟要求是另一个量级。

坑三:指数调整日是另一个物种。 成分股调入调出日的收盘竞价失衡是常规日的十倍以上,且方向早已被全市场预期、被指数套利资金提前定价。把这些极端日和常规日混在一个模型里,参数会被少数极端样本绑架。正确做法是把调整日单独建模或直接剔除。

坑四:合成实验假设失衡截面独立。 真实市场中失衡有强烈的共同成分——被动申赎是市场级的,某些日子全市场 80% 的股票同向失衡。这时多空对冲名存实亡,策略在这些日子实际扛着方向性敞口。本实验在策略层加了共同噪声近似这一点,但真实的失衡相关结构(尤其危机日)比高斯共同因子更恶劣。

结论#

收盘竞价失衡是少数公开、高频、机制清晰的订单流信号:被动资金的日历化刚需制造失衡,流动性提供者收取补偿,补偿以尾盘价格延续的形式留下可测量的痕迹。合成实验精确还原了植入机制:3bp/σ 的传导、五分组严格单调、顺势腿在机构成本下存活(净年化 6.0%、Sharpe 1.84)、反转腿被成本处决。

它的定位不是核心 alpha,而是执行层的增强模块:本来就要在尾盘交易的资金(被动跟踪、日内平仓),把订单按失衡方向微调时点和限价,几乎零成本地捡走这层补偿。专门为它建一条策略线,则要先诚实回答两个问题——你的单边成本能不能压到 3bp 以下,你的规模会不会填平你想吃的失衡。


本文实验基于合成数据,传导系数与成本参数参考公开文献设定,实盘表现取决于真实市场的失衡分布与执行质量。

收盘集合竞价失衡:尾盘最后十分钟的订单流信号
https://blog.halo26812.eu.org/blog/closing-auction-imbalance
Author halo
Published at 2026年7月26日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨