Slippage Modeling Cost-to-Complete Nowcasting Playbook
Don’t Optimize Filled Cost Alone — Price the Remaining Inventory Continuously
Why this note: Many execution models focus on realized slippage of already-filled shares. In production, the bigger failure is often the unfilled remainder near schedule deadlines. This playbook treats residual inventory as a first-class stochastic cost (
Cost-to-Complete, CTC) and integrates it into live routing.
1) Failure Mode in One Sentence
If your model scores tactics only by realized fill quality and ignores the future cost of finishing residual size, you will look good early and pay expensive catch-up slippage late.
2) Objective: Realized IS + Forward CTC + Tail Risk
At decision time (t), for action (a):
[ J_t(a)=\mathbb{E}[IS_{realized,t}|x_t,a] + \mathbb{E}[CTC_t|x_t,a] + \lambda,\mathrm{CVaR}q(IS{total}|x_t,a) ]
Where:
- (IS_{realized,t}): implementation shortfall already locked in,
- (CTC_t): expected future execution cost for remaining inventory,
- (IS_{total}=IS_{realized,t}+CTC_t),
- (\lambda): tail-risk aversion.
The key is that (CTC_t) changes quickly with liquidity, volatility, queue state, and time-to-deadline.
3) Minimal Cost-to-Complete Decomposition
Let:
- (Q_t): remaining shares,
- (\tau_t): time left to deadline,
- (L_t): liquidity state,
- (\sigma_t): short-horizon volatility,
- (A_t): alpha-decay / opportunity-drift state.
A practical decomposition:
[ CTC_t = C_{spread}(Q_t,L_t) + C_{impact}(Q_t,\tau_t,L_t) + C_{timing}(Q_t,\tau_t,A_t) + C_{nonfill}(Q_t,\tau_t) ]
Interpretation:
- Spread cost from crossing or loss of passive edge,
- Impact cost from urgency/participation needed to finish,
- Timing/opportunity cost if adverse drift continues while waiting,
- Non-fill penalty if completion constraint is at risk.
This is the missing term in many “good average slippage” strategies that silently accumulate deadline risk.
4) Telemetry Contract (Required)
A) Decision Snapshot
decision_ts,symbol,side,parent_id,child_idarrival_px,decision_mid,schedule_deadline_tsremaining_qty,elapsed_ratio,time_to_deadline_ms
B) Market State
spread_bps,depth_l1/l5,queue_proxy,micropricevol_1s,vol_30s,vol_regimetrade_imbalance,cancel_rate,toxicity_proxy
C) Action/Execution Facts
tactic(passive/pegged/marketable/sweep)target_participation,price_offset_ticks,patience_msfills_qty,fill_latency_ms,reject_count,cancel_count
D) Forward-Looking Labels
ctc_estimate_bps,ctc_realized_bpscompletion_prob_30s/60s/120sforced_catchup_flag,forced_catchup_cost_bpsresidual_at_deadline_qty,deadline_breach_flag
Without reliable residual snapshots and deadlines, CTC is impossible to calibrate.
5) Labeling for Training and Monitoring
- CTC Underestimate Event
- (CTC_{realized} - CTC_{pred}) exceeds threshold.
- Late Catch-Up Event
- aggressive completion in final bucket with elevated impact.
- False Comfort Event
- early realized IS good, final IS poor due to residual blow-up.
- Deadline Breach Event
- completion constraint violated or emergency sweep triggered.
These events should be first-class error types, not buried in aggregate daily TCA.
6) Modeling Stack (Practical)
Layer A — Fill-Hazard Surface
Estimate short-horizon completion probability:
[ P(\Delta Q\ \text{filled in}\ h\mid x_t,a) ]
Layer B — Conditional Impact Surface
Estimate impact for required completion pace under current depth/volatility regime.
Layer C — CTC Nowcaster
Combine fill-hazard and impact forecasts into horizon-specific CTC distributions:
[ \widehat{CTC}_{t,h} \sim \mathcal{D}(x_t,a,h) ]
Layer D — Uncertainty Calibration
Track calibration by bucket (symbol × session × urgency). Use conformal or quantile recalibration so tail promises are honest.
Layer E — Policy Scorer
Choose action minimizing (J_t(a)), not just immediate spread capture.
7) KPIs That Expose Hidden Residual Risk
CTC Calibration Error (CTC-CE) [ CTC\text{-}CE = \mathbb{E}[CTC_{realized} - CTC_{pred}] ]
Tail Undercoverage @ q Observed exceedance of predicted (q)-quantile CTC.
Late Bucket Cost Share (LBCS) Fraction of total IS paid in final execution bucket.
Forced Catch-Up Frequency (FCF) Rate of emergency aggressive completion actions.
Residual Deadline Breach Rate (RDBR) Frequency of non-zero residual at deadline.
Good-Early/Bad-Late Ratio (GEBL) Cases with favorable interim IS but unfavorable final IS.
If LBCS/FCF/RDBR rise while average IS looks stable, your model is underpricing CTC.
8) Control Policy (NORMAL → CTC_GUARD → RECOVERY → HARD_EXIT)
- NORMAL
- Standard tactic mix.
- CTC_GUARD
- Trigger when predicted CTC tail rises above budget.
- Reduce passive patience, tighten max queue age.
- RECOVERY
- Trigger when completion probability falls below threshold.
- Increase participation with bounded aggression.
- HARD_EXIT
- Trigger near deadline breach.
- Prioritize completion certainty over micro-edge.
Use hysteresis/min-dwell to avoid tactic thrashing.
9) Rollout Blueprint
- Backfill parent-order trajectories with per-decision residual snapshots.
- Shadow mode CTC predictions and compare to realized CTC by horizon.
- Counterfactual replay of historical orders with CTC-aware policy.
- Canary deployment by symbol buckets and notional caps.
- Promotion gate: improve final IS and deadline adherence without unacceptable spread leakage.
10) Common Mistakes
- Treating residual inventory as “someone else’s problem” in the final minutes.
- Optimizing child-order metrics that are misaligned with parent completion risk.
- Using a single global urgency schedule across heterogeneous symbols/regimes.
- Ignoring uncertainty calibration; point forecasts hide tail pain.
- Measuring only average IS and missing path-dependent cost concentration.
11) Fast Implementation Checklist
[ ] Persist decision-time residual inventory and deadline features for every child decision
[ ] Build horizon-specific fill-hazard + impact surfaces
[ ] Forecast CTC distribution (not just mean)
[ ] Monitor CTC calibration and tail undercoverage by bucket
[ ] Add CTC_GUARD/RECOVERY/HARD_EXIT state machine with hysteresis
[ ] Gate rollout on lower final IS + lower deadline breach, not interim fill quality
References
- Almgren, R., Chriss, N. (2000), Optimal Execution of Portfolio Transactions.
- Kissell, R. (2014), The Science of Algorithmic Trading and Portfolio Management.
- Cartea, Á., Jaimungal, S., Penalva, J. (2015), Algorithmic and High-Frequency Trading.
- Gatheral, J. (2010), No-Dynamic-Arbitrage and Market Impact (impact consistency context).
- SEC Rule 605 / Rule 606 public execution-quality datasets (routing/quality diagnostics context).
TL;DR
Realized slippage is only half the story. In production, residual inventory is a live liability. Continuously nowcast cost-to-complete, optimize on total expected shortfall plus tail risk, and switch tactics before the final-bucket panic trade.