Methodology · Playground · Last updated 2026-04-22
How Execution Simulator works
How the Execution Simulator estimates slippage — the square-root impact model, its empirical calibration, and where it breaks.
Scope
Given an order (side, size) and market conditions (ADV, spread, volatility, participation rate, latency), produces a decomposed slippage estimate in basis points and dollars plus a participation-weighted fill schedule. The entire calculation runs client-side in closed form — no simulation, no Monte Carlo.
The square-root impact model
The textbook result, popularized by Almgren-Chriss (2000) and confirmed empirically by many practitioners since, splits trading cost into a permanent component (information leakage that moves the equilibrium price and stays moved) and a temporary component (liquidity pressure during execution that reverts after the order completes).
permanent_bps = η · σ · √(X / V)
temporary_bps = ε · σ · (X / V)
half_spread = spread_bps / 2
total_bps = permanent + temporary + half_spread X= order size in sharesV= average daily volume in sharesσ= daily volatility in bps (e.g. 200 bps for a 2% name)η= 0.1 (permanent coefficient)ε= 0.05 (temporary coefficient)
The square root on the permanent term is the key empirical regularity: doubling order size does not double permanent impact, it multiplies it by √2. This is why splitting a block into slices over time is the first-order execution technique — the permanent cost of N equal slices is √N × one slice, not N × one slice.
Why η = 0.1 and ε = 0.05
Almgren, Thum, Hauptmann & Li (2005) "Direct Estimation of Equity
Market Impact" fit the model on 700,000+ US equity orders from a
Citigroup execution desk. Their headline numbers translate to
roughly η ≈ 0.142 and ε ≈ 0.314 in the
units used here, but the fit is sensitive to how spread and
volatility are measured. Subsequent studies (Kissell 2006, Torre &
Ferrari 1997, various bank internals) report coefficients in the
0.05–0.30 range depending on the asset class, horizon, and whether
the model is intraday or multi-day.
This tool uses η = 0.1 and ε = 0.05 as
defensible round-number defaults for US large-cap equities at
moderate participation (5–15%). They are not
calibrated to any specific venue, day, or regime. For a serious
pre-trade system, fit η and ε to your own fills per asset class per
regime — the shape of the model is the durable part, the
coefficients are not.
Latency drift
Between the moment the decision is made and the moment the order
hits the book, the price moves. Modelling the price as a Brownian
motion with daily variance σ², the drift over a
latency window Δt has standard deviation:
drift_bps = σ · √(Δt / T_day) · 10_000
where T_day is one trading day in the same time units
as Δt. The tool also reports a worst-case at mean + 2
jitter stdevs, which is a rule-of-thumb 97.5th-percentile on a
Gaussian jitter distribution. For a 2% daily-vol name at 150 ms of
latency, 1σ drift is about 0.04 bps — negligible for most orders
and catastrophic for high-frequency market makers.
Fill duration
duration_min = X / (participation · V / 390) At a constant participation rate of the market's intraday volume (approximated as ADV / 390 minutes), the order completes linearly in time. Real VWAP engines bend this curve to track the intraday U-shape in liquidity (open and close busy, midday quiet); real TWAP engines hold it flat and accept the mismatch. The linear model here is a reasonable pre-trade estimate for orders completing within one session.
What the model misses
- HFT counter-trading. Signals-based market makers front-run large orders if your participation is detectable. In practice this shows up as an extra 1–5 bps on top of model impact for "naïve" schedules.
- Regime-dependent liquidity. At the open, close, around economic releases, and during circuit-breaker events, spread and depth change by an order of magnitude. The model uses a single point estimate.
- Adverse selection. If you are buying because you have information, so are others — real slippage on informed orders exceeds the model. If you are buying noise, real slippage is lower.
- Hidden liquidity & dark pools. ~30% of US equity volume executes off-exchange. The model assumes all liquidity sees your order; in reality some doesn't, some does via adversarial routing.
- News & spread widening. Spread is an input, not an output. During news events, the spread the model assumes is stale within milliseconds.
- Model form itself. Above ~25% of ADV, the square-root relationship empirically breaks down — impact grows faster than √X. Below ~0.1% of ADV, fixed costs (minimum ticks, exchange fees) dominate and the model underestimates.
When to NOT use this tool
- Blocks above 25% of ADV. Negotiate a risk bid with a sell-side broker; the model is out of its validity range.
- Thinly-traded names (ADV < 100k shares or < $1M notional). Single prints move the price; a continuous-impact model is the wrong physics.
- Pre-market / post-market. Participation rate is meaningless — most of ADV happens in RTH.
- Cross-market arbitrage. Latency drift on a pair trade is driven by the spread's microstructure, not per-leg vol.
- Auction trading (open/close crosses). Auctions have their own price-discovery mechanics that this continuous model doesn't represent.
Privacy
All inputs and calculations stay in the browser. No data is uploaded.
References
- Almgren, R., & Chriss, N. (2000). "Optimal Execution of Portfolio Transactions." Journal of Risk 3, 5–39.
- Almgren, R., Thum, C., Hauptmann, E., & Li, H. (2005). "Direct Estimation of Equity Market Impact." Risk, July 2005.
- Kissell, R. (2006). "The Expanded Implementation Shortfall: Understanding Transaction Cost Components." Journal of Trading 1(3).
- Torre, N., & Ferrari, M. (1997). "The Market Impact Model." BARRA Research Insights.
- Gatheral, J. (2010). "No-dynamic-arbitrage and market impact." Quantitative Finance 10(7), 749–759.
Connects to
- Order Book Replay — visualize what the actual book looks like before trusting an impact model.
- Risk-Adjusted Returns Calculator — back out how much slippage would have killed the Sharpe of a strategy.
- Backtest Overfitting Score — a backtest that ignores execution costs is overfitting by definition.
Changelog
- 2026-04-22 — Initial release: square-root permanent + linear temporary impact, half-spread cost, participation-weighted fill duration, Gaussian latency drift.