LULD Band-Proximity & Rejection Slippage Playbook
Date: 2026-03-05
Category: research
Domain: finance / execution / market microstructure / slippage modeling
Why this matters
When a symbol drifts close to its Limit Up/Limit Down (LULD) bands, execution quality changes regime fast:
- displayed depth can look large but become non-executable,
- reject/reprice loops increase,
- queue priority decays while your algo waits,
- reopening auctions can reset the cost baseline.
If your model treats this like normal high-volatility trading, it underestimates tail slippage exactly when control matters most.
1) Cost decomposition for band-stress regimes
Let:
- (P_{arr}): arrival benchmark
- (P_{exec}): realized execution price
- (side\in{+1,-1}): buy/sell sign
- (C): signed slippage in bps
[ C = side\cdot\frac{P_{exec}-P_{arr}}{P_{arr}}\times 10^4 ]
Now split cost into four interpretable components:
[ C = C_{impact}+C_{timing}+C_{reject}+C_{reopen} ]
- (C_{impact}): immediate footprint from aggressing liquidity
- (C_{timing}): drift while waiting / slicing
- (C_{reject}): exchange or venue-level non-execution/repricing overhead near band constraints
- (C_{reopen}): gap and uncertainty cost around pause/reopen auction transitions
In band-proximity regimes, (C_{reject}) and (C_{reopen}) often dominate.
2) Core feature set: distance-to-band is not enough
For each decision time (t):
- Normalized Band Distance (NBD) [ NBD_t=\frac{\min(P_t-LowerBand_t,\ UpperBand_t-P_t)}{P_t} ]
- Band Velocity (BV): signed approach speed toward nearest band
- Band Stickiness (BS): fraction of recent windows spent within (\epsilon) of nearest band
- Reject Intensity (RI): rejects per submitted child order (short window)
- Reprice Churn (RC): cancel/replace rate per second
- Pause Hazard Proxy (PH): model-estimated near-term probability of trading pause
Recommended interaction terms:
- (NBD\times RI): practical executability deterioration
- (BV\times RC): queue-aging acceleration
- (PH\times residual_qty): tail risk on unfinished inventory
3) Model stack
Use a two-layer architecture instead of one monolithic regressor.
Layer A: Regime classifier
Predict state (S_t\in{normal,\ near_band,\ pre_pause,\ reopen}):
[ \Pr(S_t\mid X_t)=g(X_t) ]
Layer B: State-conditional cost model
[ \widehat{C}_t = \sum_s \Pr(S_t=s\mid X_t)\cdot f_s(X_t) ]
Where each (f_s) is trained per regime (quantile model preferred).
Tail-aware objective
[ \min\ \mathbb{E}[C] + \lambda,\mathrm{CVaR}_{95}(C) ]
Near-band execution is mostly a tail-governance problem, not a mean-only optimization problem.
4) Control policy (live execution)
STATE 1 — NORMAL
Trigger: NBD wide, RI stable.
- standard passive/aggressive mix
- normal child-order pacing
STATE 2 — NEAR_BAND
Trigger: NBD below threshold + rising BS.
- reduce passive dwell time
- tighten max retry/reprice count
- increase benchmark refresh cadence
STATE 3 — PRE_PAUSE
Trigger: high PH and accelerating RI/RC.
- prioritize inventory-risk reduction over micro spread capture
- cap passive posting size per venue
- enforce deterministic fallback schedule (no infinite reprice loops)
STATE 4 — REOPEN
Trigger: pause event or auction transition detected.
- switch benchmark: arrival → reopen reference
- widen uncertainty bands for expected fill quality
- use staged re-entry (small canary slices before full participation)
Apply hysteresis and minimum dwell constraints to avoid state flapping.
5) Data contract (must-have)
- Full-depth or robust top-of-book stream with venue timestamps
- LULD band values over time (not only end-of-bar snapshots)
- Child-order lifecycle events: submit/ack/reject/cancel/replace/fill
- Venue and order-type tags for each attempt
- Pause/reopen event markers and auction prints
- Clock sync quality metrics (NTP/PTP drift logs)
Without event-level reject/reprice telemetry, (C_{reject}) cannot be estimated reliably.
6) Validation protocol
Offline replay
- Reconstruct decisions around historical near-band episodes
- Compare baseline vs band-aware policy on:
- mean slippage
- p95/p99 slippage
- reject-loop duration
- completion ratio by deadline
Shadow mode
- Run policy in parallel without sending real orders
- Track disagreement rate and predicted tail-cost improvement
Canary rollout
- Start with low-notional symbols
- Auto-rollback if any of:
- CVaR95 worsens beyond threshold
- reject intensity increases materially
- deadline completion drops
7) Common failure modes
Volatility-only modeling
High realized vol is not equivalent to band-constrained executability.Ignoring reject loops
Rejections are not noise; they are state information.No reopen-specific benchmark
Post-pause costs are misattributed to normal impact/timing.Overfitting rare tails
Use shrinkage + pooled priors across symbol buckets.Missing telemetry from one venue
Cross-venue blind spots cause false confidence in control decisions.
8) Minimal implementation checklist
- Add LULD band stream to execution feature store
- Build regime classifier (normal/near-band/pre-pause/reopen)
- Add reject/reprice decomposition to TCA reports
- Train state-conditional quantile slippage models
- Enforce retry budget + deterministic fallback in pre-pause state
- Gate production by CVaR95 and completion-rate SLOs
References to review
- SEC, “Limit Up-Limit Down” Pilot Plan and Associated Events (DERA white paper).
- SEC DERA, “Limit Up-Limit Down” Pilot Plan and Extraordinary Transitory Volatility.
- LULD Plan documentation (NMS Plan participants and amendments): https://www.luldplan.com/
- Zimmermann, K. (SSRN), Price Discovery in European Volatility Interruptions.
If your execution model sees only volatility but not band mechanics, it will fail exactly when the market stops behaving continuously.