Auction Imbalance Drift Slippage Playbook (Practical)

2026-02-23 · finance

Auction Imbalance Drift Slippage Playbook (Practical)

Why this matters

If your strategy participates in the close (or open), the biggest hidden execution tax is often imbalance drift in the final minutes: the indicative auction price and imbalance size can move quickly, and passive assumptions from continuous trading stop working.

This note turns that into an operational control loop.


1) Core idea

Treat auction execution as a separate microstructure regime with its own state machine.


2) Data contract (minimum)

For each auction-participating order, log:

Without this, you cannot separate drift damage from participation policy mistakes.


3) Metrics that actually matter

3.1 Imbalance Drift Score (IDS)

A simple normalized drift measure in the final window (e.g. last 10 min):

IDS = |I_t - I_anchor| / ADV

3.2 Indicative Price Velocity (IPV)

IPV = |P_ind(t) - P_ind(t-Δ)| / (Δ * tick)

High IPV means auction price discovery is unstable right now.

3.3 Auction Shock Index (ASI)

ASI = w1*z(IDS) + w2*z(IPV) + w3*z(realized_vol_1m)

Use robust z-score (median/MAD), clip extremes, and calibrate by symbol bucket.


4) Regime controller

State A: Stable

State B: Drift-Watch

State C: Drift-Shock

Use hysteresis for transitions (T1_down < T1, T2_down < T2) to prevent flip-flopping.


5) Residual handling (where hidden losses happen)

If auction underfills or shock state persists, residual handling must be pre-committed:

Most teams blend these and lose diagnostic power.


6) Calibration loop (weekly)

  1. Refit ASI weights by symbol-liquidity bucket.
  2. Re-estimate T1/T2 from quantiles of historical stress windows.
  3. Evaluate:
    • p50/p95 auction slippage
    • residual slippage
    • underfill rate
    • policy intervention frequency
  4. Reject updates that improve mean but worsen p95 too much.

Objective is not prettier averages; it is tail containment with acceptable opportunity cost.


7) Guardrails checklist


8) Common failure modes

  1. Treating auction like normal LOB execution

    • Fix: dedicated regime/state machine.
  2. Optimizing average bps only

    • Fix: optimize p95 and budget-breach frequency.
  3. No residual policy pre-commitment

    • Fix: explicit fallback tree with time + cost limits.
  4. One global threshold for all symbols

    • Fix: bucketed calibration by liquidity/volatility profile.

TL;DR

Auction participation is not “set and forget.” Use imbalance + indicative-price drift as a live stress signal, run a 3-state controller, and separate auction vs residual attribution. That alone usually removes a large chunk of avoidable tail slippage around open/close windows.