Transient-Impact + LOB-Resiliency Slippage Playbook
Date: 2026-02-24 (KST)
TL;DR
Most desks still fit slippage as if each child order is independent. In live books, it is not: your last aggressive clip changes the next clip’s cost because impact persists then decays.
This playbook treats execution as a memory problem:
- Impact propagates through time (convolution kernel)
- Book resiliency controls decay speed (fast refill vs fragile refill)
- Schedule must react to outstanding impact memory, not just static POV
Goal: reduce p95 shortfall by avoiding self-induced impact stacking.
1) Core Model: Cost Has Memory
Let signed child-flow rate be (u_t) (buy positive, sell negative).
Use a transient-impact propagator:
[ \Delta m_t = \sum_{k=0}^{K} G_k \cdot f(u_{t-k}) + \eta_t ]
- (m_t): mid-price component attributable to order flow
- (f(\cdot)): instantaneous impact shape (often concave, e.g., power law)
- (G_k): decay kernel (impact memory weights)
- (\eta_t): exogenous price noise
Execution implication: if you trade again before prior impact decays, you pay on top of your own footprint.
2) Practical Decomposition for Production TCA
For parent order (P):
[ \text{IS}P = C{spread+fee} + C_{temp} + C_{perm} + C_{delay} + C_{opp} ]
with memory-aware temporary term:
[ C_{temp} = \sum_t q_t \cdot \Big(\sum_{k=0}^{K} G_k f(u_{t-k})\Big) ]
If your current TCA cannot estimate this term, you are under-pricing aggressive bursts.
3) Two Parameters That Matter Most
3.1 Impact Shape Exponent (Concavity)
Use a robust fit:
[ f(u) = \gamma \cdot \text{sign}(u)\cdot |u|^{\delta}, \quad 0 < \delta \le 1 ]
- (\delta < 1): concave impact (empirically common)
- (\delta \approx 1): near-linear impact
3.2 Resiliency Half-Life
If kernel is approximated exponentially:
[ G(\tau)=e^{-\rho \tau}, \quad t_{1/2}=\ln 2 / \rho ]
Small (t_{1/2}): book refills fast. Large (t_{1/2}): impact lingers; spacing matters more than raw POV.
4) Regime Conditioning (Do Not Fit One Global Kernel)
Estimate ((\gamma,\delta,\rho)) by regime cell:
- volatility bucket (low/med/high)
- spread regime (tight/normal/wide)
- depth regime (thick/thin)
- toxicity regime (markout or OFI stress)
- event regime (open/close/news window)
A single kernel averaged across these states is usually misleading and dangerous in tails.
5) New Live Metrics (Simple but High Signal)
5.1 Outstanding Impact Inventory (OII)
[ \text{OII}t = \sum{k=1}^{K} G_k f(u_{t-k}) ]
Interpretation: unrealized transient footprint still hanging in the book.
5.2 Refill Efficiency Ratio (RER)
[ \text{RER}_t = \frac{\text{Observed decay over }\Delta t}{\text{Expected decay from }G} ]
- RER < 1: refill slower than model (fragility warning)
- RER > 1: refill faster than model (room for normal pacing)
5.3 Impact Memory Utilization (IMU)
[ \text{IMU}_t = \frac{|\text{OII}_t|}{\text{remaining temp-impact budget}} ]
When IMU is high, your next aggressive clip is likely to convexly worsen shortfall.
6) Controller: Pace by Memory, Not by Time Alone
Use a 3-state policy with hysteresis:
State A — Refill-Friendly
- Condition: low OII, RER >= 1, low toxicity
- Action: normal POV, selective passive posting
State B — Memory-Loaded
- Condition: medium OII or RER < 1 trend
- Action: reduce clip size, increase spacing, prefer passive/repriced slices
State C — Fragile Book
- Condition: high OII + low RER + toxicity spike
- Action: throttle aggressively, widen time gaps, optional venue shift, hard p95 guardrail
Avoid rapid A↔B↔C flapping with min dwell-time and separate entry/exit thresholds.
7) Calibration Workflow (Weekly + Intraday Drift Checks)
- Build parent-order panel with child timestamps, queue/depth snapshot, post-fill markouts.
- Fit (f(u)) and (G) with robust regression (Huber/quantile), not OLS-only.
- Validate by horizon: 1s/5s/30s impact reconstruction error.
- Refit by regime cells; keep global fallback for sparse cells.
- Promote only if out-of-sample:
- mean IS improves,
- p95 IS improves or unchanged,
- completion SLA not degraded.
Intraday drift alerts
Trigger caution if either:
- realized decay half-life deviates > 30% from active model, or
- RER stays < 0.8 for N consecutive windows.
8) No-Dynamic-Arbitrage Sanity Guard
If you use transient kernels, enforce basic shape sanity so model does not imply manipulative round-trip profits.
Practical guardrails:
- disallow parameter sets yielding negative expected round-trip cost,
- keep impact-shape/decay pair within historically stable region,
- run daily synthetic buy-then-sell and sell-then-buy loop tests.
If your simulation can make free money by churning size, your impact model is broken.
9) 30-Minute Desk Rollout Plan
Week 1
- Add OII/RER/IMU to execution telemetry.
- Shadow-calculate states A/B/C (no live control yet).
Week 2
- Enable state-based spacing and clip scaling on one liquid symbol bucket.
- Compare against control: mean IS, p95 IS, completion ratio.
Week 3+
- Expand gradually by liquidity tier.
- Auto-fallback to conservative static schedule on drift alarm.
10) Common Failure Modes
- Treating resiliency as constant intraday
- Using one global decay kernel across open/lunch/close
- Optimizing mean bps while p95 worsens
- Ignoring completion penalty (cheap-looking underfills)
- Recalibrating too slowly after structural venue changes
References (for follow-up)
- Almgren, R., & Chriss, N. (2000). Optimal Execution of Portfolio Transactions.
- Gatheral, J. (2010). No-Dynamic-Arbitrage and Market Impact. Quantitative Finance. DOI: 10.1080/14697680903373692
- Taranto, D. E., et al. (2016). Linear models for the impact of order flow on prices I: Propagators. arXiv:1602.02735
- Huang, W., Lehalle, C.-A., & Rosenbaum, M. (2013/2014). The Queue-Reactive Model. arXiv:1312.0563
- Obizhaeva, A., & Wang, J. (2013). Optimal Trading Strategy and Supply/Demand Dynamics. Journal of Financial Markets.
Closing Note
Slippage is not just “how hard you hit now.” It is also “how much of your previous hit is still alive.”
If your execution policy cannot see its own impact inventory, it will repeatedly trade into its own footprint and call it bad luck.