halo 的技术博客

返回

如果让你在一个交易日的几千个价格里只留一个,留哪个?答案没有悬念:收盘价。基金净值按它算,指数按它编,期货期权按它结算,质押保证金按它估值,业绩基准按它考核。一个交易日 4 个小时的连续撮合,最后浓缩成一个数字——而这个数字,在大多数主要市场上,不是由连续竞价的最后一笔成交决定的,而是由**收盘集合竞价(closing auction)**这个专门设计的机制决定的。

结论先放这:收盘竞价是全天最大的单一流动性事件,也是被动资金时代最拥挤的交易时点。 受控模拟显示三个可操作的规律:(1)竞价单点成交占全天约 8%,且随被动化程度逐年上升;(2)竞价期间的指示价格大体收敛,但尾秒大单可以瞬间改写收盘价——这是操纵监管的重点区域;(3)竞价买卖失衡具有系统性的次日反转:极端买压十分组的隔夜收益显著为负,指数调仓日冲击 0.85% 对应次日反转 -0.38%。冲击越大,反转越深——收盘竞价里的激进方,平均在为流动性付费,而不是在赚信息的钱。

一、为什么会有收盘集合竞价#

连续竞价决定收盘价有一个致命弱点:最后一笔成交可能只有 100 股。 如果收盘价可以被一笔小单定义,那所有挂钩收盘价的合约都成了操纵的靶子——尾盘用极小成本打出一个价格,撬动的是几百倍名义本金的衍生品结算。

集合竞价的解法是把”最后一个价格”从一笔交易变成一场拍卖:在收盘前的固定窗口(A 股 14:57-15:00 三分钟,美股 NYSE/Nasdaq 的 closing cross,欧洲多数市场 5 分钟竞价 + 随机结束时间),所有订单集中申报、不即时撮合,最后按最大成交量原则确定一个单一清算价格。想操纵这个价格,你要吃掉的不是最后一笔成交,而是整个竞价盘口的失衡——成本从几万块变成几千万。

这个设计带来一个副产品:流动性向竞价迁移。 大机构发现在竞价里交易有三重好处——按收盘价成交等于零跟踪误差(对指数基金是刚需)、单一清算价没有买卖价差、巨量订单在拍卖里的冲击小于在连续竞价里扫单。于是全球市场都出现了同一条曲线:

日内成交量 U 型曲线

日内成交量的经典 U 型(开盘高、午盘低、尾盘翘)之外,收盘竞价作为单一时点吃掉全天约 8% 的成交量——在美股,这个数字从 2010 年的 3% 一路涨到近年的 10% 以上,指数调仓日可以超过 30%。被动投资的每一块钱申赎,最终都在收盘竞价里落地。

二、指示价格的收敛:拍卖如何发现价格#

竞价期间交易所会持续播报指示价格(indicative price)——按当前订单簿撮合会产生的清算价。观察指示价格的路径,就是观察价格发现的实时过程:

竞价指示价格收敛

模拟的五条路径里,四条呈现教科书式收敛:早期订单少、指示价噪音大,随订单持续流入方差衰减,最后稳定在均衡价附近。但红色路径展示了竞价的软肋——尾秒大单。在竞价结束前最后几秒砸入巨量单边订单,指示价格瞬间跳升近 1%,而其他参与者已经来不及反应。

这正是各市场规则设计互相较劲的地方:

  • A 股:14:57-15:00 竞价期间不可撤单,压缩了”虚假申报再撤单”的操纵空间;
  • 欧洲(LSE、Euronext):竞价结束时间随机化(如 16:35 后 0-30 秒随机),让”最后一秒狙击”无法精确执行;
  • 美股:NYSE/Nasdaq 从 15:50 起持续发布失衡信息(imbalance feed),公开买卖失衡的方向和数量,用信息透明吸引反向流动性来自然对冲失衡。

三种思路殊途同归:让尾秒大单要么做不了(不可撤单)、要么瞄不准(随机结束)、要么被对冲掉(失衡公开)。对量化交易者来说,美股的 imbalance feed 是三者中唯一直接产生了一个可交易数据源的设计。

三、竞价失衡的次日反转:激进方在付费#

核心实证问题:收盘竞价里的净买压,是信息还是流动性需求?如果是信息(知情者抢在收盘前建仓),失衡方向应该延续到次日;如果是流动性需求(指数基金无脑按收盘价买入),失衡造成的价格偏离应该反转

模拟 4000 个股票日,按竞价买卖失衡度分十组,看次日隔夜收益:

竞价失衡的次日反转

答案清晰:反转占主导。 极端买压组(第 10 组)次日隔夜收益显著为负,极端卖压组(第 1 组)显著为正,中间组基本为零。这说明收盘竞价的边际定价者平均是不带信息的流动性需求者——他们把价格推离均衡,隔夜由做市商和套利者赚取回归收益。

这个模式在特殊日期上被急剧放大:

特殊日期的竞价冲击与反转

普通交易日冲击 0.12%、反转 -0.03%,几乎可以忽略;月末基金定盘日冲击 0.28%;期指交割日 0.41%;而指数调仓日冲击高达 0.85%,次日反转 -0.38%——冲击接近一半在次日吐回。指数调仓是全市场提前几周就知道的公开信息,被动基金却必须在生效日收盘价成交(否则产生跟踪误差),这是市场上规模最大、日期最确定、方向最公开的流动性需求——也因此是被研究最充分的”给流动性提供者送钱”的场景。

四、策略实现:失衡反转的最小可行版本#

三个实现要点:信号必须来自竞价期间可见的数据(美股 imbalance feed 从 15:50 开始播报,可以在竞价内直接反向提供流动性,比隔夜持仓资本效率高得多);A 股只有半边(做空受限,极端买压组的负收益看得见吃不着);这是做市收益不是 alpha(赚的是流动性溢价,规模上限低、对手方是自己人越多越薄)。

A. 实现细节#

  • 信号判定字段:收盘竞价净失衡度(净买入量/竞价总量),当日竞价期间可得;分组用当日截面分位数,不使用任何未来数据。
  • 执行时点:收盘竞价内建仓(按清算价成交),次日开盘平仓;隔夜收益 = 次日开盘/当日收盘 - 1。
  • 仓位口径:极端组内等权,多空对称(A 股实盘只保留多头半边)。
  • 模拟设定:失衡度由 30% 流动性驱动 + 70% 噪音构成,价格冲击系数与反转系数按微观结构文献量级设定(冲击 0.6、反转率 25%),4000 个股票日。
  • 特殊日期对比:四类日期的冲击/反转参数独立设定,用于展示”冲击-反转”的正相关结构,非同一模拟的内生结果。

B. 已知偏差#

  • 模拟数据非实盘数据:失衡-反转的量级(极端组隔夜 ±0.1-0.2%)取自文献常见范围,实际市场随年份、市场、股票流动性差异极大;本文展示的是机制结构,不是可直接外推的收益预期。
  • 竞价内成交假设过于理想:反向提供流动性的订单未必能全部按清算价成交(竞价有配比规则),大额订单本身会改变清算价。
  • 隔夜跳空风险未建模:隔夜持仓暴露于全部盘后信息(财报、政策、外盘),模拟中的噪音项低估了肥尾;单日爆亏可以吃掉数月的流动性溢价。
  • A 股竞价结构差异:A 股收盘竞价仅 3 分钟且无失衡信息公开播报,信号重构依赖 level-2 逐笔数据,成本和延迟都高于美股 imbalance feed。

C. 结果解读#

  • 收益来源是流动性溢价,不是信息:失衡次日反转而非延续,说明竞价激进方平均不带信息——策略本质是给被动资金的刚性需求做对手方,属于做市收益。这类收益真实但规模上限低,参与者多了溢价自然变薄。
  • 冲击-反转的正相关是核心结构:普通日 0.12%/-0.03% 到调仓日 0.85%/-0.38%,反转率稳定在 25-45% 区间。这意味着策略容量集中在少数特殊日期——一年里大部分利润来自指数调仓日、交割日、月末定盘这十几个交易日。
  • 尾秒大单是双刃剑:指示价格收敛图里的红色路径既是操纵风险(监管重点),也是反转信号最强的样本——收盘价被尾秒大单改写的股票,次日回归的概率和幅度都最大。实盘中”指示价格最后 30 秒跳变幅度”是比总失衡更锐利的条件变量。
  • 策略适用边界:反转逻辑在流动性驱动占主导时成立。财报日、重大公告日的竞价失衡是信息驱动的,失衡方向会延续而非反转——不加事件过滤的全样本反转策略,会在这些日子上把做市收益亏回去。
  • 更深的含义:收盘竞价占比逐年上升意味着价格发现在向单一时点集中,连续竞价时段的价格越来越像”竞价间的过渡状态”。对所有用收盘价回测的策略,这既是好消息(收盘价越来越可成交),也是坏消息(收盘价附近的拥挤本身在制造新的微观结构噪音)。
收盘集合竞价动力学:尾盘流动性与价格发现
https://blog.halo26812.eu.org/blog/closing-auction-dynamics
Author halo
Published at 2026年7月29日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨