Skip to main content
aifinhub

Playground

Execution Simulator

Square-root market impact + linear temporary impact + latency jitter. See the realistic slippage of any trade size before you route it. Free.

Inputs
Paste + configure
Runtime
1–15 s
Privacy
Client-side · no upload
API key
Not required
Methodology
Open →

Education · Not investment advice. BaFin/EU framework. Past performance does not indicate future results. Editorial standards Sponsor disclosure Corrections

Simplified square-root + linear impact model from Almgren-Chriss (2000) and Kissell (2006). Real execution costs depend on regime, venue, HFT counter-trading, news, and microstructure quirks not captured here. Use this to size the order of magnitudeof your slippage, not to approve a block trade.

1 · Order & market inputs

Side

Estimated slippage

6.1bps

$3.05k on $5.00M notional · 50.0k buy · 1.00% of ADV · fills in 39.0 min

Permanent: 2.0 bps  ·  Temporary: 0.1 bps  ·  Half-spread: 4.0 bps  ·  Latency drift: ±0.51 bps

2 · Fill schedule (participation-weighted)

0%25%50%75%100%9.8 min19.5 min29.3 min39.0 minCumulative bought

Linear participation model: the order tracks a constant fraction of market volume until filled. Real VWAP/TWAP engines shape the curve (U-shape for VWAP, flat for TWAP) to match intraday liquidity.

Formulas

permanent_bps  = η · σ · √(X / V)         η = 0.10
temporary_bps  = ε · σ · (X / V)          ε = 0.05
half_spread    = spread_bps / 2
total_bps      = permanent + temporary + half_spread
duration_min   = X / (participation · V · 390 / 390)
latency_drift  = σ · √(latency_ms / ms_per_day) · 10_000    (bps, 1σ)

See methodology for coefficient sources, model limits, and when to stop trusting these numbers.

How to use

Step-by-step

Full calculator guide →
  1. 1

    Upload a sample order log (timestamp, side, size, price target).

  2. 2

    Pick the execution venue from the dropdown — different venues have different priority rules and message protocols.

  3. 3

    Set queue-position assumptions (default: pessimistic — your order arrives behind 50% of book volume at the price level).

  4. 4

    Run the simulation. Read realized fills vs. target prices, slippage in basis points, and partial-fill rates.

  5. 5

    Increase order size to find the 'capacity ceiling' where slippage exceeds expected alpha. This is your strategy's practical capacity limit.

For agents

Use in an agent

Same math, same result shape as the UI above — as a static ES module. No HTTP request, no auth, no rate limit.

import { compute } from "https://aifinhub.io/engines/execution-simulator.js";

Contract: /contracts/execution-simulator.json Full agent guide →

Glossary references

Terms used by this tool

All glossary →

Questions people ask next

FAQ

What does the simulator model that backtests skip?

Three things: queue position (where in the limit-order book your order lands), partial fills (when the contra-side liquidity is smaller than your order), and slippage from market impact (your order moves the price). Most backtests assume instant, complete fills at the mid-quote — which dramatically overstates achievable returns.

Where do the queue-position assumptions come from?

The methodology page lists three calibration sources: published academic models (Cont and Kukanov 2013), exchange-published documentation on price-time priority, and historical level-2 data from Databento where available. The tool uses pessimistic defaults — actual fills are often better than simulated, especially for retail-sized orders.

Does the simulator handle dark pools?

No, only lit-market simulation. Dark pool fills are treated as instant at midquote in the model — there's no public order-book data to simulate against. If you trade meaningful volume in dark pools, the simulator will under-estimate your actual fill quality.

What's the impact-cost output?

Estimated price displacement caused by your order, in basis points. For a 1000-share order in a stock with 100,000 share daily volume, impact is small. For an order that's 5%+ of daily volume, impact dominates the trade. The simulator uses the square-root market-impact model from Almgren et al. (2005).

Why are my results different on each run?

The simulator injects randomness in arrival times and queue position — real markets aren't deterministic. Run 100+ paths to get stable distributional statistics. Single-run output is for debugging, not strategy evaluation.

Complementary tools

Planning estimates only — not financial, tax, or investment advice.