Basket Cross-Impact No-Arbitrage Slippage Model Playbook
Date: 2026-03-11
Category: knowledge
Scope: Multi-name basket execution where single-name slippage models underperform due to cross-impact
1) Why this matters in production
Single-name impact models often fail on basket days (rebalance, sector rotations, stat-arb de-risking) because they ignore cross-impact:
- buying one stock can push correlated names,
- your hedge leg can pollute alpha-leg execution,
- child-order sequencing across names changes total cost materially.
If you only model diagonal (self-impact), scheduler decisions are systematically biased in crowded regimes.
2) Core objective
Build a basket slippage model that is:
- cross-aware (captures off-diagonal impact),
- stable (does not explode from noisy covariance estimates),
- no-arbitrage-consistent (avoids impact structures implying manipulation loops),
- operational (can run intraday with guardrails).
3) Minimal model structure
Let basket of (N) names have signed participation vector (u_t \in \mathbb{R}^N), with positive for buy pressure and negative for sell pressure.
Mid move decomposition:
[ \Delta m_t = \underbrace{B_t x_t}{\text{exogenous move}} + \underbrace{\sum{\tau\le t} G_{t-\tau} K u_\tau}_{\text{impact (self + cross)}} + \epsilon_t ]
- (x_t): exogenous features (market/sector/factor shocks),
- (K): instantaneous impact matrix (diagonal=self, off-diagonal=cross),
- (G_h): decay kernel at lag (h) (scalar or low-rank matrix form),
- (\epsilon_t): residual microstructure noise.
Parent-order expected cost (quadratic approximation):
[ \mathbb{E}[C] \approx \sum_t u_t^\top \Lambda_t u_t + \lambda \cdot \mathrm{Risk}(u_{1:T}) + \eta \cdot \mathrm{CompletionPenalty} ]
where (\Lambda_t) is derived from (K) and decay assumptions.
4) No-arbitrage / anti-manipulation constraints
In practice, unconstrained cross-impact fits are noisy and can imply impossible round-trip profits. Use constraints before promotion:
- Symmetric core: use (K_s=(K+K^\top)/2) as execution core.
- PSD projection: project (K_s) onto positive-semidefinite cone (eigenvalue clipping).
- Diagonal floor: enforce minimum self-impact per name (avoid zero-impact artifacts).
- Cross bound: (|K_{ij}| \le \rho\sqrt{K_{ii}K_{jj}}), (\rho\in[0,1)).
- Decay monotonicity: fitted (G_h) non-increasing and non-negative.
These constraints are blunt but robust for live systems.
5) Calibration pipeline (practical)
5.1 Data unit
Use synchronized event buckets (e.g., 250ms / 1s):
- child-order signed qty by name/venue,
- prevailing spread, depth, queue proxies,
- factor returns (market/sector/style),
- realized markouts (1s, 5s, 30s, 5m).
5.2 Two-stage estimation
- De-factor first: regress returns on factor shocks, keep residual move.
- Impact fit second: regress residual move on lagged signed flow matrix.
This prevents over-attributing macro/factor motion to own impact.
5.3 Regularization
- Elastic-net or ridge on off-diagonals,
- shrink toward block structure (sector/factor clusters),
- enforce sparse tail (ignore tiny unstable links).
5.4 Intraday refresh
Keep structure fixed intraday, refresh only scale multipliers by regime:
- spread regime,
- realized vol bucket,
- crowding proxy (same-side market flow pressure).
6) Scheduler integration
Given remaining inventory vector (q_t), optimize next child schedule with cross-aware marginal cost:
[ \mathrm{MC}i(t)=\partial C/\partial u{i,t} ]
Policy implications:
- If two names have strong positive cross-impact and same-side inventory, avoid simultaneous aggression spikes.
- If hedge leg cross-hurts alpha leg, shift hedge timing to lower overlap windows.
- Use sector staggering for large baskets to reduce endogenous crowding waves.
A small sequencing change often beats raw aggression increase.
7) Online guardrails (must-have)
- Condition-number cap: if impact matrix ill-conditioned, fallback to block-diagonal.
- Cross-share cap: bound fraction of predicted cost from off-diagonal terms.
- Regime-break detector: if markout residual z-score > threshold, freeze cross term.
- Kill switch: revert to diagonal-only model during venue outages/data lag.
- Canary routing: enable cross-aware policy on subset of symbols before full rollout.
8) TCA scorecard for promotion
Report both aggregate and decomposed cost:
- total IS (bps),
- self-impact component,
- cross-impact component,
- residual/exogenous drift,
- completion rate and deadline miss,
- q95/q99 tail slippage.
Promotion criterion (example):
- cross-aware policy improves q95 IS by >= 8%,
- no worsening of completion SLA,
- residual drift attribution remains stable across regimes.
9) Common failure modes
False cross-links from asynchronous timestamps
Fix: tighter clock alignment + lead/lag diagnostics.Factor contamination mistaken as cross-impact
Fix: stronger de-factor stage and event controls.Overfitted off-diagonals
Fix: stronger shrinkage + PSD projection + turnover penalty.Regime portability failure
Fix: regime-conditioned scaling, not full intraday refit.Control instability from noisy marginal costs
Fix: hysteresis bands and max delta-aggression per step.
10) Implementation checklist
- Unified basket event schema (synchronized timestamps)
- Factor residualization layer in feature pipeline
- Cross-impact estimator with PSD projection utility
- Regime scaler service (vol/spread/crowding)
- Scheduler objective includes off-diagonal terms
- Real-time health panel (condition number, residual drift, cross-share)
- Hard fallback path to diagonal model
- A/B framework with parent-order randomization and rollback gates
11) References
Benzaquen, M., Mastromatteo, I., Eisler, Z., & Bouchaud, J.-P. (2018). Cross-impact and no-dynamic-arbitrage. Quantitative Finance.
https://arxiv.org/abs/1612.07742Mastromatteo, I., Benzaquen, M., Eisler, Z., & Bouchaud, J.-P. (2017). Trading Lightly: Cross-Impact and Optimal Portfolio Execution.
https://arxiv.org/abs/1702.03838Gatheral, J. (2010). No-Dynamic-Arbitrage and Market Impact.
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1292353Almgren, R., & Chriss, N. (2000). Optimal Execution of Portfolio Transactions.
https://www.smallake.kr/wp-content/uploads/2016/03/optliq.pdf
One-line takeaway
For basket trading, treating slippage as purely single-name is a structural miss—cross-impact with no-arbitrage constraints gives better tail-cost control without sacrificing completion reliability.