Queue-Position-Aware Slippage Modeling: Fill Hazard to Cross-Now Frontier

2026-03-21 · finance

Queue-Position-Aware Slippage Modeling: Fill Hazard to Cross-Now Frontier

Most slippage models treat passive orders as a binary: filled or not filled.

In production, what matters is where you are in queue, how fast queue ahead depletes, and what happens if you must cross later.

This playbook turns that into a practical model you can route with.


One-Line Intuition

Passive edge is an option whose value decays with queue position and deadline; model that decay explicitly, or you will systematically underprice urgency.


1) Slippage Decomposition with Fill Uncertainty

For a buy slice with decision horizon (T), compare two actions at time (t):

Define implementation shortfall in bps vs decision mid (M_t).

A useful decomposition for passive action (B):

[ \mathbb{E}[IS_B] = p_{fill}(T) \cdot C_{fill} + (1-p_{fill}(T)) \cdot C_{miss\to cross} + C_{fees/rebates} + C_{timing} ]

where:

Aggressive baseline:

[ \mathbb{E}[IS_A] = C_{cross\ now} ]

Decision rule:

[ \text{choose passive if } \mathbb{E}[IS_B] < \mathbb{E}[IS_A] ]

The entire edge hinges on reliable (p_{fill}(T)) and (C_{miss\to cross}).


2) Queue-Position Fill Hazard (Operational Form)

Let:

Fill event by time (T):

[ \tau_{fill} \le T \iff D_T \ge Q^{ahead}_0 + q ]

Model with state-dependent hazard:

[ \lambda_{fill}(u \mid X_u) = \lambda_{mo}(u \mid X_u) + \pi_{front}(u \mid X_u),\lambda_{cancel}(u \mid X_u) ]

where (X_u) can include spread, imbalance, queue sizes, event intensity, short-horizon volatility, and venue regime.

Then survival/fill probability:

[ S(T)=\Pr(\tau_{fill}>T)=\exp\left(-\int_t^T \lambda_{fill}(u\mid X_u)du\right),\quad p_{fill}(T)=1-S(T) ]

Why this works in production


3) From Fill Probability to Effective Slippage Frontier

For a passive buy with possible fallback cross at (T):

[ \mathbb{E}[IS_B] \approx p_{fill},( -\tfrac{S}{2} + A_{fill}) + (1-p_{fill}),( C_{cross,T}) + F ]

A practical threshold form:

[ p_{fill} > p^* = \frac{C_{cross,now}-C_{cross,T}-F}{(-S/2 + A_{fill})-C_{cross,T}} ]

If estimated (p_{fill}) drops below (p^*), cross now.

This is your real-time passive/aggressive switch.


4) Feature Set That Usually Survives Live Deployment

Minimum robust features for (\lambda_{fill}) and (A_{fill}):

If you only have MBP (not MBO), add a front-cancel attribution model (\pi_{front}) and track its calibration error explicitly.


5) Calibration Ladder

Stage A — Survival baseline

Stage B — Nonlinear hazard

Stage C — Joint model


6) Backtest Design (Where Many Teams Overstate Edge)

  1. Event-time replay with strict queue mechanics
  2. Include cancel/replace latency and throttles
  3. Simulate fallback logic (post -> wait -> cross) exactly as router does
  4. Evaluate by urgency buckets and time-to-deadline deciles
  5. Report both:
    • Fill calibration (Brier / reliability)
    • Cost calibration (predicted vs realized IS)

Key metric:

[ \Delta IS = IS_{baseline\ router} - IS_{queue-aware\ router} ]

If (\Delta IS) is positive but only in paper and vanishes with realistic latency, the model is not deployable.


7) Production Monitors You Actually Need

Guardrails:


8) Common Failure Modes


Minimal Implementation Checklist

  1. Build deterministic queue-state reconstruction
  2. Train horizon-conditioned fill hazard model
  3. Train fallback crossing-cost model
  4. Combine into expected-IS decision frontier
  5. Add calibration/drift dashboard + auto risk gates
  6. Roll out champion/challenger by urgency bucket

One-Sentence Summary

Queue-position-aware slippage modeling converts passive execution from a heuristic into a measurable option value problem, enabling a disciplined cross-now decision that survives live latency and regime drift.


References (Starter Set)