Skip to content

Realism report (S14)

Generated 2026-10-08 by uv run python tests/e2e/realism_report.py --seconds 600 --bucket 10 on the local stack (clock at 1x).

Stylised facts of real markets to compare against: returns with fat tails (excess kurtosis above 0), little autocorrelation in returns, positive autocorrelation in absolute returns (volatility clustering), and a tight, always two-sided spread while a market maker is active.

Scenario calm

Measure Value
Trades observed 1,094
10-second returns (pooled, 4 symbols) 239
Return std 17.46 bps
Smallest / largest return -49.8 / 51.0 bps
Skew +0.12
Excess kurtosis (0 = normal) +0.10
Autocorrelation of returns, lags 1-5 -0.01, +0.01, -0.01, +0.10, -0.03
Autocorrelation of absolute returns, lags 1-5 +0.07, -0.10, -0.05, +0.07, -0.06
Spread: mean / median / p95 5.67 / 5.0 / 7.0 ticks (1.33 bps)
Two-sided book 100.0% of 3,725 samples

Scenario volatile

Measure Value
Trades observed 2,017
10-second returns (pooled, 4 symbols) 236
Return std 54.05 bps
Smallest / largest return -158.2 / 214.9 bps
Skew +0.26
Excess kurtosis (0 = normal) +0.96
Autocorrelation of returns, lags 1-5 -0.03, +0.05, -0.04, -0.06, -0.04
Autocorrelation of absolute returns, lags 1-5 +0.01, -0.08, -0.08, +0.03, -0.04
Spread: mean / median / p95 10.01 / 9.0 / 12.0 ticks (2.40 bps)
Two-sided book 100.0% of 3,673 samples