Time paused (not quoting): –. Grey bands on the charts below mark volatility storms.
The quote pyramid
A 5‑minute window. Each line is one resting order level; triangles are fills.
Inventory and quote skew
When the bot is short, it moves quotes up to buy back. When it is long, it moves them down to sell.
Running profit and loss
Cash plus inventory valued at the mid price, over two simulated hours.
Profit vs quote width
Press “Run width sweep” to average 5 seeds at each width with the current settings.
Profit surface
Average final P&L over a grid of two settings, 3 random runs per point. A broad plateau suggests a real edge; a lone spike is probably luck. Drag to rotate.
Out-of-sample test data
Your chosen settings (4× width, 7 levels, taper 0.6, γ 0.54) run on 50 price paths this page never uses (seeds 1000–1049). Every run is listed below. Click a column header to sort.
Model: stationary Avellaneda‑Stoikov. Reservation price r = mid − q·γ·σ²/κ; half‑spread δ = γσ²/(2κ) + (1/γ)·ln(1+γ/κ), with κ = 1.5 and σ the rolling 5‑minute volatility. Fills come from price moving through a quote (informed flow) or from random arrivals at rate A·e^(−κ·distance). Latency and queue position are not modelled.