Simulation
Distinguish historical replay, a running simulated session, and broker paper execution.
Simulation is useful for checking the causal path from data to decision to request. Its conclusions depend on the data and execution model used.
Choose the kind of test
| Environment | Data and execution |
|---|---|
| Historical memory run | Selected historical bars, simulated orders and fills |
| Running simulated session | Incoming feed and runtime callbacks, synthetic execution |
| Broker paper account | Broker-connected requests in that provider's paper environment |
These are different tests. A running feed is not necessarily live broker execution, and broker paper behavior is not identical to the generic simulator.
Understand synthetic fills
The shared simulator uses simplified price, delay, capital, and position behavior. It does not establish real liquidity, queue priority, partial-fill handling, or intrabar price paths.
A configured simulated order-fill delay changes when eligible simulated orders can fill. It does not impose the same delay on a live broker. See execution and fills and simulation versus broker.
Use simulation to answer a specific question
Start by confirming data coverage and strategy initialization. Then inspect the first expected signal, request, and fill. Check duplicate requests, stale signals, position sizing, and exit ownership before comparing totals.
Keep the same source, settings, and input window when repeating a historical test. For running simulation, incoming data can change between runs; it is not the same reproducibility setup.
Moving to another environment
Review broker-specific payloads, account state, rejection handling, and reconciliation separately. Polymarket SSS has its own market-family and synthetic execution behavior; use the Polymarket guide.
Continue with monitoring.