← 返回研究文章
交易执行研究推进

队列不是一个位置:把公允价、Fill–Markout、库存与延迟放进同一张曲面

队列价值不是单独的成交概率:Moallemi–Yuan 将订单价值写成 α(δ−AS),Albers 等人的实证进一步显示前方深度、后方深度和对侧队列共同决定 fill 与 markout。本文给出延迟传播、库存财富核对和滚动样本外验证的最小协议。

研究定位 · 新的可计算连接,尚无本站本地实证

今天的推进不是再加一个“队列位置”特征,而是把订单在决策时看到的公允价、到达交易所时的队列状态、成交后的 Markout、库存财富和延迟放入同一条可失败路径。Moallemi–Yuan 的队列价值分解与 Albers 等人的二维队列证据是公开原始研究;延迟核与样本外步骤是本站的验证协议。所有数值和符号都保留其论文/数据边界,不外推成国内期货收益。

01 · 先把“订单价值”写成可核对的两项

令 v_t 是下单时可用的短期公允价(可以是中间价、Micro-price 或训练期固定的 OFI 模型输出),p_t 是报价价,d=+1 表示买入、d=−1 表示卖出。定义成交前的流动性溢价:

δ_t = d × (v_t − p_t)

给定未来评价时点 t+h,把成交后的不利价格漂移定义为正的成本:

AS_t(h) = − E[d × (v_{t+h} − v_t) | fill, 𝓕_t]

于是方向调整后的成交后 Markout(以同一公允价作为参考)满足恒等式:

M_t(h) = d × (v_{t+h} − p_t) = δ_t − AS_t(h)
V_t = E[M_t(h) 1{fill} | 𝓕_t] = α_t [δ_t − AS_t(h)]

α_t=P(fill|𝓕_t) 是该有效期和撤单规则下的成交概率。这个分解比“价差 × 成交率”多了一项可测的条件逆向选择:同样的 α,若成交集中在 AS 较大的状态,订单价值仍可能为负;只看已成交样本的平均 Markout 也无法恢复 α。

Moallemi–Yuan 的队列模型把 q(订单前方的可消耗数量)作为状态,写成:

V(q,δ) = α(q)δ − β(q) = α(q)[δ − AS(q)]
AS(q) = β(q) / α(q) > 0

在成交、撤单和价格跳变分别为点过程的设定下,q 随前方消耗下降;没有取消的极限里,α(q) 仍有价格跳变造成的最低成交概率。论文用 NASDAQ ITCH 的 market-by-order 数据重建队列位置并做模型无关回测比较。这里的 α、β 是模型对象,不能直接当作任何品种的校准值。

02 · 队列状态至少是三维,而不是一个“位置”

对挂在近侧最优价的订单,记录前方流动性 LA、后方流动性 LB 和对侧最优队列 Qopp。若近侧总量为 Qnear=LA+q+LB,可定义归一化队列位置:

QP = LA / (LA + LB)
QP≈0:前排;QP≈1:后排

这三个量代表不同机制:LA 决定还要消耗多少才轮到你,LB 影响成交时价格是否继续被击穿,Qopp 影响价格向你有利方向跳动的门槛。Albers 等人用二维 (Qnear,Qopp) 网格估计 fill surface,发现 fill 随近侧深度下降、随对侧深度上升,不能只用一个不平衡比替代;其样本中网格频率从约 30% 到超过 90%,线性近似的拟合优度很高,但这是该数据集的描述,不是普适常数。

对成交后的价格质量,后方流动性更关键:订单在后排时,产生该成交的主动单更可能继续扫穿盘口,Markout 更差;前排订单即使成交,也可能只是被部分消耗而没有立刻跳价。公开实证以 1 秒 Markout 为例,前排与后排的条件均值有明显差距(不同近侧/对侧深度组合下约为 −0.06bp 到 −1.16bp);这些数值属于论文样本,本站不把它们当作策略收益。

03 · 把延迟写成“到达状态的传播”,不要给 k 乘折扣

决策时刻看到的是 X_t=(v_t,LA_t,LB_t,Qopp_t,I_t),订单真正进入撮合队列是在随机延迟 L 后。令 K_L(dx'|X_t) 是只用历史事件估计的延迟转移核,x' 是到达时状态。则延迟后的成交概率和条件逆向选择应定义为:

α_L(a|X_t) = ∫ α(a|x′) K_L(dx′|X_t)
AS_L(h,a|X_t) = [∫ α(a|x′) AS(h,a|x′) K_L(dx′|X_t)] / α_L(a|X_t)

订单价值的延迟版本为:

V_L(a|X_t) = α_L(a|X_t) [δ(a|X_t) − AS_L(h,a|X_t)] − C_miss(L,a)

C_miss 是延迟导致的撤单失效、错过价格或需要穿透盘口的显式成本。Lehalle–Mounjid 的随机控制结果说明,延迟会侵蚀利用流动性不平衡的优势;Ma–Saggese–Smith 则把“未成交”和“被当作市价单执行”作为同一控制问题的两种风险。两者共同的实现要求是:分开记录决策、发送、交易所接受和回报确认时间;不能把延迟简单折算成更小的成交强度。

04 · 把竞争风险和库存账接回价值函数

有效期 H 内至少存在成交 F、不利价格移动 A 和撤单/到期 C 三个终止事件。若其条件强度分别为 λF(u|X)、λA(u|X)、λC(u|X),成交概率不能只用一个泊松率:

S(u|X) = exp(−∫₀ᵘ [λF(s)+λA(s)+λC(s)] ds)
P(F≤H|X) = ∫₀ᴴ S(u|X) λF(u|X) du

对成交量 Q,库存约束下的净评价至少要保留现金—库存恒等式:

W_t = C_t + I_t v_t
ΔW_h = (现金流与费用) + I_{t+h}v_{t+h} − I_t v_t

可以在订单价值上加入库存惩罚,但要把它和 Fill–Markout 分开报告:

J_L(a|X_t) = V_L(a|X_t)
− γ_I E[(I_t + dQ)^2 − I_t^2 | fill]
− γ_T E[cost_exit(I_{t+h}, latency) | X_t]

这样,“减少成交”不能自动被说成风险改善;它可能只是把库存尾部、未成交机会成本或退出成本移到了别处。最终必须用现金—库存账重算净财富,不能把 Markout 曲线相加当作 P&L。

05 · 一套可失败的滚动样本外实验

  1. 预先冻结对象:固定公允价定义、报价距离与有效期;固定 LA/LB/Qopp 的桶、部分成交拆分、同时间戳排序和价格单位。队列不可识别时保留区间,不填成“零前方量”。
  2. 训练期估计曲面:估计 α(Qnear,Qopp,QP)、AS(h|Qnear,Qopp,QP) 和延迟核 K_L;按订单到达时间而不是决策时间分桶。对每个订单同时保存 fill、未成交、撤单和缺失链接标记。
  3. 时间后移测试:在未见交易日、时段和波动状态上冻结参数运行完整报价—库存回放。报告 fill 的 Brier/分位数校准、Markout 的均值与分位数、库存绝对值尾部、超限持续时间和现金—库存净财富。
  4. 敏感性集合:用一组可识别的队列模型 Θ(乐观、基准、保守及延迟分位数)重跑全路径,不能只替换成交标签而沿用原库存。报告 Δ(θ)=J(A;θ)−J(B;θ) 的模型区间与按交易日聚类的抽样区间。
  5. 负控和前缀测试:随机置换延迟但保持事件前缀、替换数据后缀并检查前缀内动作/队列/库存哈希不变;若 markout 或 P&L 在未成交标签上也“显著”,先解释选择偏差。
  6. 选择偏差:若比较多种公允价、队列桶和库存参数,预先登记试验数量,并报告滚动测试而不是挑选最好的一条曲线。持有一段未触碰的时间窗,不能替代对策略选择过拟合的审计。

06 · 今日突破与边界

今日突破是把订单价值从一个静态点估计推进为“延迟传播后的 Fill–Markout 曲面”:V_L=α_L(δ−AS_L)−C_miss。α_L 由到达时的前方/后方/对侧队列决定,AS_L 由成交条件和后续价格漂移决定,库存和退出成本通过现金—库存账约束,样本外比较则对整条路径而不是成交子样本进行。

不能过度解读

Moallemi–Yuan 的闭式解、Albers 等人的队列面和公开 Markout 数值都依赖特定市场、时间戳和订单可链接程度;SEC/Nasdaq 的公开示例也只是用报价深度代理队列。国内期货需要逐笔委托、成交回报、撤单确认和本地撮合规则重新估计。本文没有运行本站本地回测,没有收益或胜率结论。

参考文献与研究边界

本文为研究与教学笔记,示意数据不代表实盘表现,未进行实盘绩效验证。

继续浏览研究文章 →

搜索研究

从一个问题开始,寻找一条研究路径。