Slippage Elasticity Under Liquidity Stress — Practical Playbook

2026-02-22 · finance

Slippage Elasticity Under Liquidity Stress — Practical Playbook

Date: 2026-02-22
Category: research
Context: live execution prep for March deployment

Why this note exists

Average slippage numbers hide the only thing that matters in production: how fast costs explode when liquidity thins.
This document frames slippage as an elasticity problem:

That elasticity is what should drive sizing, urgency, and kill-switch behavior.


Core model: execution cost elasticity

Define per-parent-order normalized cost:

[ C = \frac{\text{realized slippage (bps)}}{\text{target volatility unit}} ]

Model (log-linear, regime-aware):

[ \log(C + \epsilon) = \beta_0 + \beta_1 \log(POV) + \beta_2 \log(\sigma_{1m}) + \beta_3 \log(Spread) + \beta_4 Imb + \beta_5 Stress + \beta_6 \log(POV)\cdot Stress ]

Where:

Interpretation:

If β6 > 0, the same sizing policy becomes materially worse in stress.


Regime classification (simple and robust)

Use three-state regime labeling per minute:

  1. Stable

    • spread <= 40th percentile
    • volatility <= 50th percentile
    • imbalance within normal band
  2. Tight-but-toxic

    • spread moderate, but toxicity/markout deteriorating
  3. Stress

    • spread >= 75th percentile OR
    • volatility >= 80th percentile OR
    • cancellation spike + depth collapse

Use hysteresis (e.g., 3-bar confirmation) to avoid state flapping.


Data contract (minimum viable)

Per parent order capture:

Derived fields:


Calibration protocol

1) Fit by symbol-liquidity buckets

Don’t fit one global model first. Start by buckets:

2) Robust estimation

3) Out-of-sample stress test

Evaluate separately on stress windows:

Tail miss rate is more important than mean error.


Control policy from elasticity

Translate model into actionable guardrails.

POV governor

Given max budget B (bps), solve max allowed participation:

[ POV_{max} = f^{-1}(B, \sigma, spread, imb, regime) ]

In practice:

Urgency ladder

Delay vs impact trade-off

Use two budgets:

If impact burn rate exceeds threshold, intentionally accept more delay (unless hard deadline).


Real-time monitoring

Track these live per parent order:

  1. Cost budget burn = realized + expected residual
  2. Elasticity breach = realized slope > model slope by threshold
  3. Tail risk flag = q90 exceedance probability crossing limit

Alert tiers:


Post-trade review loop (weekly)

Weekly review checklist:

Update cycle:

  1. adjust regime thresholds
  2. refit robust model
  3. re-simulate policy on last 4 weeks
  4. deploy with shadow mode first

Anti-patterns to avoid

  1. Using one average slippage number in risk model

    • hides nonlinear blow-ups
  2. Ignoring cancellation/depth collapse features

    • spread alone is late signal
  3. Calibrating only on calm data

    • gives false confidence
  4. No residual-cost forecasting mid-order

    • operators react too late

Minimal implementation roadmap (2 weeks)

Week 1

Week 2

Success criterion:


Practical takeaway

Execution edge is not “trade faster/slower.”
It is learning where cost elasticity bends and steering size before the curve goes vertical.

If strategy alpha is convex, but execution cost is also convex in stress, your job is to make sure the second convexity doesn’t eat the first.