Overnight-Gap + Opening-Auction Slippage Modeling Playbook
Date: 2026-03-08
Category: Research (slippage modeling)
Focus: Modeling execution cost around the open, where overnight information shocks and auction uncertainty dominate microstructure.
1) Why this matters
Open-session execution is not just “normal intraday with wider spreads.” It is a different regime:
- overnight news gets batch-priced,
- latent liquidity shows up discontinuously,
- auction imbalance can flip fast,
- first minutes of continuous trading can re-price again.
If your model ignores this regime break, it underestimates both tail slippage and completion risk.
2) Core decomposition
Treat open execution as a two-stage problem:
- Auction stage (call auction uncross)
- Post-open stage (first N minutes continuous trading)
For parent order size (Q):
[ \mathbb{E}[C] = p_{auc},\mathbb{E}[C_{auc}\mid fill] + (1-p_{auc}),\mathbb{E}[C_{post}\mid residual] + C_{opp} ]
Where:
- (p_{auc}): probability of meaningful auction fill,
- (C_{auc}): slippage if auction fills,
- (C_{post}): slippage to clean residual after open,
- (C_{opp}): opportunity cost from delayed/partial completion (alpha decay).
Model q50/q90/q95 for each component, not only mean.
3) Feature contract (pre-open only)
3.1 Overnight shock block
- Gap vs prior close: (G = (P^{ind}{open}-P{prevClose})/P_{prevClose})
- Overnight index-futures move (local + global)
- Overnight realized range / jump proxy
- Corporate/news event flag (earnings, macro release day)
3.2 Auction microstructure block
- Indicative uncross path volatility (std of indicative price updates)
- Indicative imbalance magnitude and sign persistence
- Imbalance sign-flip count (churn proxy)
- Indicative matched volume trajectory (slope + acceleration)
- Auction extension / volatility-interruption flags
3.3 Symbol fragility block
- ADV-relative order size (Q/ADV)
- Typical opening spread percentile
- Pre-open depth proxy (if available)
- Prior 20-day open-to-5min slippage distribution
4) Model architecture
Use a hurdle + conditional quantile stack:
- Hurdle model: (p_{auc}) (probability residual after auction is below threshold)
- Auction cost model: (Q_\tau(C_{auc}))
- Residual post-open model: (Q_\tau(C_{post}))
- Opportunity-cost model: (Q_\tau(C_{opp})) from expected delay and alpha half-life
Then aggregate into total quantile envelope for control decisions.
Practical tip: Keep auction and post-open models separate. Their errors drift for different reasons.
5) Regime state machine
Define an Open Uncertainty Score (OUS):
[ OUS = w_1|G| + w_2,\sigma(P^{ind}) + w_3,|Imb| + w_4,FlipRate + w_5,Fragility ]
States:
- OPEN-NORMAL: small gap, stable imbalance
- OPEN-NOISY: larger gap or unstable indicative path
- OPEN-STRESS: large gap + imbalance churn + fragility
- OPEN-SAFE: confidence collapse / exchange control event
Control examples:
- OPEN-NORMAL: planned auction participation + standard post-open POV
- OPEN-NOISY: reduce auction clip, reserve residual budget for post-open
- OPEN-STRESS: cap aggression, widen passive patience, stricter tail budget
- OPEN-SAFE: minimum-risk execution only; prioritize survival over schedule
Use hysteresis to avoid flip-flopping during fast pre-open updates.
6) Decision policy (pre-open to +5m)
At T-10m to open:
- Score (p_{auc}), q90/q95 total cost, and confidence.
- Choose auction participation ratio (\rho_{auc}).
- Pre-plan residual schedule for 0–5m (notional ladder + max aggression).
At open print:
- Recompute residual + updated uncertainty.
- If realized open dislocation > planned band, switch to stress template.
- Enforce hard limits: max spread-cross count, max short-horizon participation, max q95 budget burn.
7) Calibration loop
Offline (weekly)
- Refit with recency weighting (open regime drifts quickly)
- Slice diagnostics by gap bucket: small / medium / large
- Validate calibration separately for auction days with extensions/halts
Online (daily)
- q95 exceedance by state (OPEN-NORMAL vs STRESS)
- Auction-fill forecast reliability curve
- Residual-size bias after open (systematic under/over-forecast)
- Budget burn-rate in first 5 minutes
Trigger tighter policy if exceedances cluster in OPEN-NOISY/STRESS.
8) Validation checklist
Before production promotion:
- Better q95 calibration vs single-stage baseline
- Lower first-5m tail losses at same completion target
- No hidden “improvement by underfilling”
- Stable performance on macro-event opens
- Deterministic fallback policy tested in replay
9) Common failure modes
- Leakage from post-open data into pre-open model -> fake edge
- Overweighting indicative price levels vs path stability -> fragile forecasts
- Ignoring exchange control events (auction extensions, VI/halts) -> broken assumptions
- Cost-only optimization without completion penalty -> operationally unusable
- No confidence gating -> model acts aggressively when blind
10) Minimal rollout plan
- Shadow mode (2 weeks): score only, no control actions
- Advisory mode: recommended (\rho_{auc}) + residual plan, human override
- Limited auto mode: small notional, strict OPEN-STRESS caps
- Scale-up: only after stable tail calibration + completion metrics
Always keep a hard SAFE-mode playbook available for event opens.
11) Practical takeaway
The open is a distinct microstructure regime where overnight information, imbalance dynamics, and execution urgency collide. Modeling it as a two-stage uncertainty problem (auction + post-open residual) gives materially better tail control than intraday-style single-stage slippage models.