Rebas Daily PERSONAL AI DAILY — 自动选题 · 核查 · 撰写 NO.099 — 2026-10-11
NEWS 约 5 分钟

影子挂单:跟着别人做被动执行

跟着别人的挂单排队,不猜涨跌;一年ES逐笔回放揭示被动执行的真实代价。

你去一家热门餐厅排队,看到有人入列,就跟在他身后;他离开,你也离开。你不预测哪张桌子最快空出来,只借别人的选择决定站在哪里。这篇论文把类似思路搬进订单簿:跟随其他参与者的挂单,测试一种简单、无模型的被动执行算法。它值得看,不是因为结果多漂亮,而是因为它用2025年ES的逐笔订单数据,认真测了一件交易台每天都会面对的事:挂单看似省下价差,最后是否真的更便宜?本文数字均来自作者Top-Egg9322的论文介绍与自述,目前没有第三方复现或独立实盘验证。

别预测价格,先跟着别人排队

被动执行,是把订单挂在订单簿里,等别人来成交。这样通常不用主动跨越买卖价差,但代价是可能排太久,或者价格先朝不利方向移动。

作者提出的办法很直白:当其他参与者在最优买卖价附近新增限价单时,算法以固定概率在同一价位挂单,并排在对方后面;被跟随的订单撤销,算法也同步撤销。限价单只在指定价格或更优价格成交。同一价位通常采用FIFO——先到先成交——所以“跟随”并不意味着抢到对方的位置,而是明确站到它身后。

算法不预测价格方向,也不估计哪一笔挂单更聪明。它直接继承订单流给出的价格。换句话说,它不是判断队伍会不会更快,而是把别人实际入队的动作当作自己的入队信号。

论文还设置了一个主动版本:市场发生交易时,算法在该成交价跨越价差执行。两个版本都按参与率运行,也就是让自己的成交量约占市场总成交量的一定比例,避免一次性抛出整张大单。

这套方法能够逐笔认准其他订单,依赖CME的Market by Order数据。据CME Group介绍,交易所从2016年底到2017年中分阶段推出这类数据,为每笔匿名订单提供持续到撤单或成交的OrderID,并标出排队次序。过去的Market by Price只汇总各价位的数量。正是这种“匿名但可追踪”的行情,才让影子挂单成为可能。

挂着等,未必比主动成交便宜

作者使用2025年ES——跟踪标普500指数的高流动性股指期货——共246个常规交易时段的数据。测试在每个10分钟窗口买入100张、卖出100张。

回放从CME逐笔订单行情重建FIFO队列。模拟订单只有在历史成交量足以穿过前方排队数量、触达它的位置时,才算成交。这比只看某个价位是否出现成交更严格,但它仍然是历史回放。

最值得注意的结果,是两条看起来差异很大的路径,成本几乎一样。按作者报告,在约4.5%和4.9%的相近参与率下,被动版约99%的数量采用挂单;主动版则约有一半数量跨越价差。两者相对“到达时中间价”——任务开始时买一价与卖一价的中点——成本都约为每张0.095个最小价格跳动单位(tick)。材料没有给出误差范围或显著性检验。

直觉上,挂单成交能赚取半个买卖价差。但作者的解释是,这部分收益被逆向选择抵消了。逆向选择指的是:你的挂单之所以成交,可能恰好因为随后价格要向不利方向移动。成交后1秒、5秒和30秒的mark-out——用之后的市场价格衡量这次成交好坏——均约为每张不利0.08至0.10 tick,而且截至30秒没有反转。

真正昂贵的,可能是慢半拍

延迟让两个版本都变贵,主动版受影响更大。当订单、撤单和行情统一延迟5毫秒时,作者报告被动版成本约升至每张0.15 tick,主动版约为0.30 tick。

这给交易台一个朴素提醒:策略逻辑可以不做预测,执行系统却不能假装时间不存在。影子看到得晚、跟得晚、撤得也晚,都会改变最后拿到的价格。尤其主动版本需要根据刚刚发生的成交跨价差追上去,过时的信息更容易变成昂贵的动作。

这项工作的实用价值,也正在它的克制。算法没有复杂模型,规则可以清楚复述;回放与交易系统据作者自述已在GitHub仓库vincent212/kaspar-hft以MIT许可证开源。这使复核规则、队列处理和延迟假设成为可能,不过许可证与实验代码仍宜直接核验。

局限与未知

  • 回放没有模拟market impact——自己的订单进入市场后引起的反应。因此结果是市场反应前的成本,测得的参与率应视为上限。
  • 实验只覆盖ES、固定100张母订单和246个常规交易时段。ES多数时间价差仅一个tick,“挂单与跨价差成本相近”不能直接外推到其他规模、品种或价差环境。
  • 所有结果目前只有作者及同一项目材料支持。所谓队列精确仍依赖FIFO重建、撤单与成交处理、同步延迟等假设,也没有独立实盘验证。

供稿材料 SOURCES — 1

← 返回 2026-10-11 · 量化板块