Index Futures Roll-Window Slippage Playbook

2026-03-10 · finance

Index Futures Roll-Window Slippage Playbook

Date: 2026-03-10
Category: research (execution microstructure / futures roll operations)

Why this matters in production

A lot of desks model execution slippage as if liquidity is stationary. During index futures roll windows, that assumption breaks.

Liquidity migrates from front-month to next-month, calendar spread books become the true execution venue, and basis dynamics can move faster than single-leg impact models expect.

If you run size during the roll and still treat fills as “normal day + slightly wider spread,” you usually pay hidden costs in:


Core objective

For a roll parent order, optimize net roll cost under deadline and risk constraints:

[ \min ; \mathbb{E}[C] + \lambda_{95},Q_{0.95}(C) + \lambda_T,\text{UnderfillPenalty} ]

where total cost is decomposed as:

[ C = C_{spread/fees} + C_{impact} + C_{basis,drift} + C_{legging} + C_{timing/deadline} ]


Cost decomposition you should track explicitly

1) Calendar spread execution cost (C_spread/fees)

2) Impact and resiliency (C_impact)

3) Basis drift cost (C_basis_drift)

4) Legging risk (C_legging)

5) Deadline penalty (C_timing/deadline)


State machine for roll execution

Use a simple operational regime controller:

  1. PRE-ROLL (Green)
    Liquidity migration started but books are orderly.
  2. CROWDED ROLL (Amber)
    Participation spikes, queue decay accelerates.
  3. BASIS STRESS (Red)
    Basis z-score and spread volatility jump; legging risk dominates.
  4. DEADLINE MODE (Safe)
    Completion priority over micro-optimization.

A practical trigger set works better than one “magic score.”


Monitoring metrics (minimum viable stack)

Roll Participation Congestion (RPC)

[ RPC_t = \frac{\text{Market roll volume in window }t}{\text{Expected roll volume baseline}} ]

High RPC implies crowded queue dynamics and faster adverse move after misses.

Calendar Depth Elasticity (CDE)

[ CDE_t = \frac{\Delta \text{visible spread depth}}{\Delta \text{aggressive traded size}} ]

Low/negative elasticity means depth does not heal after impact.

Basis Dislocation Z-score (BDZ)

[ BDZ_t = \frac{basis_t - \mu_{basis,t}}{\sigma_{basis,t}} ]

Track intraday rolling reference, not stale daily averages.

Legging Exposure Time (LET)

[ LET = t_{second;leg;fill} - t_{first;leg;fill} ]

Model E[cost | LET]; tail LET drives ugly episodes.

Residual Deadline Pressure (RDP)

[ RDP_t = \frac{\text{remaining qty}/\text{remaining minutes}}{\text{current executable pace estimate}} ]

RDP > 1 means you are behind schedule and likely entering forced behavior.


Modeling approach

A) Branch model for execution path

At each decision point, estimate branch probabilities:

Then compute expected and tail cost per branch:

[ \hat C = \sum_b P(b|x_t),\mathbb{E}[C_b|x_t] ]

Use quantile models per branch (q50/q90/q95), not only means.

B) Deadline-aware policy layer

Map regime + RDP to action set:

C) Anti-churn constraint

Avoid queue-reset spam by adding hysteresis:


Practical control policy (example)

PRE-ROLL (Green)

CROWDED ROLL (Amber)

BASIS STRESS (Red)

DEADLINE MODE (Safe)


Backtest and replay design

Use historical roll days as first-class episodes, not random sample days.

Minimum protocol:

  1. Reconstruct spread-book + leg-book timestamps at decision granularity
  2. Replay policy with realistic queue/latency assumptions
  3. Include reject/retry and partial-fill branches
  4. Score both median and q95 cost
  5. Add completion reliability KPI at deadline

Do not promote policies that improve average cost by sacrificing completion in stress windows.


Roll-day dashboard checklist


Common failure modes

  1. Treating roll as normal session liquidity
  2. Using only single-leg impact models
  3. Ignoring LET tails in policy optimization
  4. Late deadline panic from under-trading early windows
  5. Over-replacing orders and burning queue priority

References (selected)


Bottom line

Roll windows are a distinct microstructure regime.

A production-grade slippage model should explicitly price calendar spread liquidity migration, basis drift, legging exposure, and deadline pressure—otherwise “average bps” can look fine right until roll day tails dominate realized PnL.