Microprice-Inversion Lag & Stale-Signal Slippage Playbook

2026-03-24 · finance

Microprice-Inversion Lag & Stale-Signal Slippage Playbook

Date: 2026-03-24
Category: research
Scope: How signal-age and order-arrival lag convert alpha into adverse selection when microprice regimes flip before your child order lands

Why this matters

Many intraday execution models use short-horizon microprice / imbalance signals to decide passive-vs-aggressive behavior.

The hidden failure mode is simple:

You execute a decision that was right at t_decision, wrong at t_arrival.

This creates a repeatable slippage tax that often looks like "model drift" but is actually signal staleness under finite latency.


Failure mechanism (operator timeline)

  1. Strategy snapshots L2 and computes microprice edge (E_t).
  2. Parent scheduler routes child as passive join or liquidity-taking slice.
  3. During wire + gateway + venue queueing delay, order-flow intensity spikes.
  4. Best-quote imbalance inverts (or microprice crosses mid).
  5. Child arrives with stale intent, gets filled in now-toxic state.
  6. Short-horizon markout turns negative; urgency ratchets up; realized IS widens.

Add staleness term to slippage decomposition

[ IS = IS_{spread} + IS_{impact} + IS_{timing} + IS_{fees} + \underbrace{IS_{stale}}_{\text{signal-age + inversion-lag tax}} ]

Practical uplift model:

[ IS_{stale,t} \approx a,SAL_t + b,IBAR_t + c,FPA_t + d,MRC_t + e,QPC_t ]

Where:


Core production metrics

1) Signal-Age at Landing (SAL)

[ SAL = t_{arrival} - t_{signal} ]

Track p50/p90/p99 by symbol, venue, and order type.

2) Inversion-Before-Arrival Rate (IBAR)

[ IBAR = P\big(\operatorname{sign}(E_{signal}) \neq \operatorname{sign}(E_{arrival})\big) ]

This is the direct stale-signal failure probability.

3) Flip-Per-Arrival (FPA)

[ FPA = \mathbb{E}[#\text{microprice sign flips in }(t_{signal}, t_{arrival})] ]

Captures turbulence during routing delay.

4) Microprice Regime Coherence (MRC)

[ MRC(h)=P\big(\operatorname{sign}(E_t)=\operatorname{sign}(E_{t+h})\big) ]

Estimate per liquidity regime; low coherence implies faster signal expiry.

5) Queue-Position Collapse (QPC)

[ QPC = P\big(\Delta q_{ahead} < -\theta \mid SAL, FPA\big) ]

Probability that queue-ahead depth collapses before your passive order can benefit.


Modeling stack

Stage 1: latency-conditioned signal survival

Model:

[ S_{sig}(h\mid x)=P\big(\operatorname{sign}(E_{t+h})=\operatorname{sign}(E_t)\mid x\big) ]

Features:

Stage 2: fill model with staleness interactions

Predict fill and markout jointly with interaction terms:

[ \text{markout}_{\delta} \sim \beta_1 SAL + \beta_2 IBAR + \beta_3(SAL\times IBAR)+\dots ]

Stage 3: stale-aware route score

[ Score = Edge_{now} \cdot S_{sig}(\hat{L}) - \lambda_1 \widehat{TailSlip}_{0.95} - \lambda_2 QPC ]

where (\hat{L}) is predicted end-to-end landing latency.


Live controller states

GREEN — COHERENT

YELLOW — STALENESS_RISING

ORANGE — INVERSION_PRONE

RED — TOXIC_STALE

Use hysteresis and minimum dwell time to prevent oscillation.


Engineering controls

  1. Measure full decision-to-landing latency path
    Split into strategy, serialization, network, gateway, venue-ack segments.

  2. Stamp signals with version + timestamp
    Every child order should carry the exact signal epoch used for the decision.

  3. Reject stale intents at gateway
    If SAL exceeds tactic-specific TTL, re-price or cancel before venue entry.

  4. Latency-aware tactic eligibility
    Only enable microprice-sensitive tactics where MRC((\hat{L})) is adequate.

  5. Tail-first canary gates
    Promote models only if q95/q99 markout improves in high-IBAR windows.


Validation protocol

  1. Reconstruct per-order signal epoch and landing timestamp from logs.
  2. Compute SAL/IBAR/FPA by symbol × venue × session bucket.
  3. Compare baseline vs stale-aware routing in replay.
  4. Canary with explicit stale penalties in live router.
  5. Accept only if:
    • short-horizon markout improves,
    • completion and participation targets remain stable,
    • tail IS budget violations decline.

Observability checklist

Success criterion: slippage tail compression specifically in high-lag/high-flip regimes.


Pseudocode sketch

x = build_event_features(book, trades, cancels)

lat_hat = latency_model.predict(x)                 # expected landing latency
sig_surv = signal_survival.predict(x, h=lat_hat)  # P(signal sign survives to arrival)
stale_risk = stale_tail_model.predict_q95(x)

edge_eff = edge_now(x) * sig_surv
score = edge_eff - 0.8 * stale_risk - 0.5 * queue_collapse_risk(x)

if signal_age_ms(x) > ttl_ms_for_tactic(x):
    cancel_or_reprice()
else:
    route(score)

Bottom line

When microprice regimes flip faster than your order-arrival latency, your model is not only predicting price impact—it is trading stale beliefs.

Treat signal age at landing and inversion-before-arrival probability as first-class risk factors, and gate tactics by latency-conditioned signal survival.


References