Market-by-Price Compression & Queue-Position Illusion Slippage Playbook
Date: 2026-03-24
Category: research
Scope: How MBP-only visibility creates queue-position illusion and systematic slippage underestimation
Why this matters
A lot of live execution stacks still consume Market by Price (MBP) only:
- aggregate size per price level,
- limited depth tiers,
- no per-order identity/ordering.
That is fine for coarse analytics, but dangerous for queue-sensitive execution.
If your model assumes queue progress from MBP deltas alone, you can easily over-credit your own priority. The model believes you are "near the front" more often than reality, so it overestimates passive fills, underestimates timeout/repost churn, and underprices adverse selection when urgency kicks in.
This is a microstructure observability mismatch: decision logic needs queue-granular truth, but features only provide compressed depth.
Failure mechanism (operator timeline)
- Router places passive child order at best bid/ask.
- Feature engine infers queue-ahead from MBP level size.
- Same-level cancels/adds from other participants are not fully attributable under MBP aggregation.
- Inferred queue-ahead decays faster than true queue-ahead (phantom progress).
- Fill hazard model predicts high near-term fill probability.
- Order times out; strategy escalates aggression/reprice.
- Realized implementation shortfall worsens vs model forecast.
This appears like "sudden liquidity deterioration" but is often state-estimation error.
Extend slippage decomposition with observability term
[ IS = IS_{spread} + IS_{impact} + IS_{timing} + IS_{fees} + \underbrace{IS_{obs}}_{\text{MBP queue-observability tax}} ]
Operational uplift model:
[ IS_{obs,t} \approx a,QAE_t + b,PHR_t + c,FHCG_t + d,RBS_t + e,QUR_t ]
Where:
- (QAE): Queue-Ahead Estimation Error,
- (PHR): Phantom-Progress Rate,
- (FHCG): Fill-Hazard Calibration Gap,
- (RBS): Repost Burst Score,
- (QUR): Queue-Uncertainty Ratio.
Core production metrics
1) Queue-Ahead Estimation Error (QAE)
With occasional ground truth windows (MBO sample or private queue telemetry):
[ QAE = E\left[\left|\hat q_{ahead} - q_{ahead}^{true}\right|\right] ]
Track by symbol, venue, and session regime.
2) Phantom-Progress Rate (PHR)
Fraction of inferred queue reductions not followed by fills/crossing-consistent executions:
[ PHR = \frac{#{\Delta \hat q_{ahead}<0\ \land\ \text{no supporting execution evidence}}}{#{\Delta \hat q_{ahead}<0}} ]
High PHR means your model is "seeing" progress that does not exist.
3) Fill-Hazard Calibration Gap (FHCG)
[ FHCG = E\left[\hat P(\text{fill in }h\mid x) - \mathbf{1}_{\text{fill in }h}\right] ]
Measure not only globally, but conditioned on high queue uncertainty.
4) Repost Burst Score (RBS)
[ RBS = \frac{\text{cancel+repost events per minute}}{\text{passive orders resting}} ]
A practical symptom metric: queue illusion usually manifests as repeated timeout/repost loops.
5) Queue-Uncertainty Ratio (QUR)
If queue state is estimated with posterior variance (\sigma_q^2):
[ QUR = \frac{\sigma_q}{\hat q_{ahead}+\epsilon} ]
Use QUR to penalize passive edge estimates when confidence is weak.
Modeling architecture
Stage 1: latent queue-state filter (MBP-compatible)
Use a state-space model for (q_{ahead}):
- state transition driven by observed prints and level-size changes,
- latent attribution for same-level add/cancel events,
- venue-specific priors for cancel-vs-trade decomposition.
Output: posterior (p(q_{ahead,t}\mid \mathcal{F}_t)), not just point estimate.
Stage 2: uncertainty-aware fill hazard
Predict near-term fill probability with uncertainty features:
[ \hat \lambda_{fill}(t) = f\big(\hat q_{ahead},\ \sigma_q,\ imbalance,\ spread,\ event\ intensity\big) ]
Hazard should degrade as (\sigma_q) rises, even if (\hat q_{ahead}) looks favorable.
Stage 3: slippage tail model with observability conditioning
Estimate q95/q99 slippage with:
- urgency,
- expected fill hazard,
- queue uncertainty,
- venue microburst indicators.
Key interaction to monitor:
[ \Delta IS \sim \beta_1,urgency + \beta_2,QUR + \beta_3,(urgency\times QUR) ]
Large positive (\beta_3) indicates urgency decisions are fragile under queue ambiguity.
Live controller states
GREEN โ QUEUE_SIGNAL_TRUSTED
- low QUR, low PHR,
- FHCG near zero.
Action: normal passive participation and standard timeout.
YELLOW โ AMBIGUOUS_QUEUE
- QUR rising,
- mild FHCG drift.
Action:
- reduce passive size,
- shorten resting horizon,
- apply uncertainty penalty to venue ranking.
ORANGE โ QUEUE_ILLUSION_ACTIVE
- sustained high PHR and RBS,
- passive fill forecasts over-optimistic.
Action:
- enforce stricter queue-credit caps,
- require stronger expected edge before posting,
- shift part of flow to controlled taker slices.
RED โ SAFE_DEGRADE
- tail slippage budget breach with persistent queue ambiguity.
Action:
- cap passive exposure,
- prioritize completion certainty,
- raise alert for data/venue microstructure diagnostics.
Use hysteresis + minimum dwell time to avoid thrashing.
Engineering mitigations
Dual-feed calibration windows (MBO + MBP)
Even if production stays MBP, periodic MBO sampling is enough to estimate QAE/PHR drift.Venue-specific queue priors
Cancel intensity and amend semantics differ by venue; one global prior is usually wrong.Posterior-first APIs
Expose (\hat q_{ahead}) and (\sigma_q) together. Never let downstream logic consume queue point estimates alone.Conservative queue-credit policy
For high-QUR states, discount estimated progress by policy (e.g., only 30โ50% credit).Tail-focused promotion gates
New model version must improve q95/q99 slippage in high-QUR buckets, not just average IS.
Validation protocol
- Build paired dataset (MBP production features + sampled MBO truth windows).
- Estimate QAE/PHR by symbol-liquidity bucket and session segment.
- Compare baseline fill model vs uncertainty-aware hazard model.
- Canary uncertainty-penalized routing on limited flow.
- Promote only if:
- tail slippage decreases in high-QUR windows,
- completion rate is stable,
- repost bursts decrease.
Practical observability checklist
- QAE/PHR time series by venue and symbol bucket
- fill-hazard reliability curves conditioned on QUR deciles
- timeout and repost burst dashboard
- passive-to-aggressive escalation ratio during high QUR
- tail slippage (q95/q99) split by queue-confidence regime
- venue ranking drift before/after uncertainty penalties
Success criterion: less tail damage during queue-ambiguous periods without major completion loss.
Pseudocode sketch
# latent queue inference from MBP events + prints
q_posterior = queue_filter.update(mbp_event, trade_event)
q_mean = q_posterior.mean
q_std = q_posterior.std
qur = q_std / max(q_mean, 1e-3)
# uncertainty-aware fill hazard
fill_hazard = fill_model.predict(
q_mean=q_mean,
q_std=q_std,
imbalance=imbalance,
spread=spread,
event_rate=event_rate,
)
# tail risk estimate
slip_q95 = tail_model.predict_q95(
urgency=urgency,
fill_hazard=fill_hazard,
qur=qur,
microburst=microburst_score,
)
# conservative queue credit under ambiguity
queue_credit = max(0.0, 1.0 - gamma * qur)
edge = passive_edge_estimate * queue_credit
score = edge - alpha * slip_q95
route(score)
Bottom line
MBP-only stacks often treat queue position like a known state, but it is usually a latent, noisy estimate.
When that uncertainty is ignored, passive execution looks better in backtests than in live trading, and the gap shows up as timeout churn plus tail slippage.
Treat queue confidence as a first-class risk variable, and make routing conservative whenever queue observability is weak.
References
- CME Group. Market by Order (MBO) FAQ (MBP vs MBO transparency and queue-position implications).
https://www.cmegroup.com/articles/faqs/market-by-order-mbo.html - Moallemi, C. C., & Yuan, K. (2016). A Model for Queue Position Valuation in a Limit Order Book.
https://moallemi.com/ciamac/papers/queue-value-2016.pdf - Huang, W., Lehalle, C.-A., & Rosenbaum, M. (2015). Simulating and analyzing order book data: The queue-reactive model.
https://arxiv.org/abs/1312.0563 - Gould, M. D., Porter, M. A., Williams, S., McDonald, M., Fenn, D. J., & Howison, S. D. (2013). Limit order books. Quantitative Finance, 13(11), 1709โ1742.
https://doi.org/10.1080/14697688.2013.803148 - Cartea, ร., Jaimungal, S., & Penalva, J. (2015). Algorithmic and High-Frequency Trading. Cambridge University Press.
https://doi.org/10.1017/CBO9781139343787