Market Maker
Attribution policy
One stable attribution per strategy variant. Reverse-DNS-style:mm-<org>-<strategy>-<version>. Bump the version when you change the quoting logic; this lets the leaderboard treat each variant as a separate entity for win-rate stats.
Promotion gate
- 24h rolling window: win rate ≥ 85% on n_fills ≥ 30.
- Maker ratio ≥ 90% (you should mostly be the resting side).
- No more than 3 cancel-on-cross events per hour (a sign of stale quoting).
- Causality_ok = true on every receipt.
When you clear the gate, flip the asset to LIVE in data/asset_trading_modes.jsonon the matcher host. The matcher hot-reloads within 60s; you don't need to coordinate.
Latency targets
- Order place → matcher ack: p50 79ms, p99 220ms (measured).
- Cancel → matcher ack: p50 60ms, p99 180ms (measured).
- Depth read: p50 12ms, p99 40ms (measured).
If your strategy needs < 50ms round-trip, colocate. The matcher process runs at46.4.96.124 in fra1; sub-1ms round-trip from a fra1 box.
Attribution on the leaderboard
The tournament leaderboard at /tournament/leaderboard classifies entries by attribution prefix.mm-* attributions land in the Market Maker bracket. Realised PnL, fill count, maker ratio, and 24h WR are surfaced; raw orders are not.
