Liquidity Regime-Switching State-Space Slippage Playbook

2026-03-02 · finance

Liquidity Regime-Switching State-Space Slippage Playbook

Date: 2026-03-02 Category: finance / execution research

Why this model

Most slippage models fail in production for one reason: they assume a single market regime.

In reality, intraday execution alternates between at least three latent regimes:

  1. Resilient liquidity (mean-reverting impact, fast refill)
  2. Fragile liquidity (slow refill, queue depletion risk)
  3. Stress/liquidity vacuum (impact convexity + high adverse selection)

A state-space model with regime switching lets us infer this latent state in real time and adapt schedule, aggression, and participation caps before costs explode.


Core setup

1) Observation layer (what we can measure each slice)

At decision time (t), define:

Observation equation:

[ y_t = x_t^\top \beta_{z_t} + \eta_t, \quad \eta_t \sim t_{\nu}(0, \sigma^2_{z_t}) ]

Use Student-t errors to avoid overreacting to outlier prints.

2) Latent state layer

[ \Pr(z_t=j\mid z_{t-1}=i) \propto \exp\left(a_{ij} + w_{ij}^\top g_t\right) ]

where (g_t) may include event clock, auction proximity, volatility burst indicators, and cross-asset stress index.

3) Impact memory state

Add a latent impact stock (h_t) for temporary impact decay:

[ h_t = \phi_{z_t} h_{t-1} + \kappa_{z_t} u_t + \epsilon_t ]

Final predicted cost:

[ \hat c_{t+1} = x_{t+1}^\top \beta_{z_{t+1}} + h_{t+1} ]


Estimation workflow

1. Offline initialization

2. Online filtering

3. Drift control


Execution policy overlay

Convert state probabilities into action constraints:

[ \text{AggressionScore}_t = \sum_j \pi_t(j) A_j, \quad \text{MaxPOV}_t = \sum_j \pi_t(j) V_j ]

Example policy template:

Key point: use soft blending by probabilities, not hard regime labels, to reduce thrashing.


Backtest design (must-have)

  1. Counterfactual simulator with queue-aware fills (not bar-level toy fills)
  2. Walk-forward splits by month/volatility regime
  3. Compare against:
    • static Almgren-Chriss-style schedule
    • non-switching state-space model
    • simple POV baseline
  4. Scorecard:
    • mean slippage (bps)
    • 95p tail slippage
    • implementation shortfall variance
    • completion risk
    • regime-conditioned performance

Success criterion is not just lower mean cost; it is lower tail + variance under stress days.


Production guardrails


Failure modes to watch

  1. Regime aliasing: model confuses volatility spike with true liquidity fragility.
  2. Self-impact endogeneity: your own urgency policy changes future state transitions.
  3. Under-modeled event risk: macro headline windows break transition stationarity.
  4. Overfitting per-symbol: no pooling leads to brittle rare-state estimates.

Mitigation: event-conditioned transitions, partial pooling, and explicit policy-simulation loop in training.


Minimal implementation checklist


One-line takeaway

A regime-switching state-space slippage model turns execution from “average-day optimization” into adaptive survival + cost control across liquidity states, especially where tail slippage actually hurts PnL.