Sole author · 2026
TradingSim
A browser-based replay simulator for historical market data, with Level-2 depth and no lookahead.
- Python
- FastAPI
- Databento
- Parquet
- JavaScript
System
- Databento session
- Nanosecond timestamps
- Ordered replay
- Depth-limited fills
- Browser UI
Problem
I wanted to practice small-cap momentum trading on historical data. Many simulators show information too early: a bar before it closes, a fill at a price that was never on the book, or a headline before the trades it caused. Practice on that kind of replay does not carry over to live trading.
What I built
- Replay of one symbol and session at a time using Databento Level-2 depth (MBP-10), the trade tape, OHLCV bars, and optional news, all in strict timestamp order.
- Fills limited by visible depth and delayed by simulated latency. Passive orders wait in the queue. Commissions, SEC/FINRA fees, and buying power are checked at fill time.
- Bars appear only after they close, and timestamps stay as integer nanoseconds so news cannot be reordered ahead of the trades around it.
- Atomic writes for data and config, and 126 automated tests across the Python backend and the frontend.
Results
- automated tests
- 126
- Level-2 depth
- MBP-10
Limits
It replays one symbol and one session at a time. It is for practice, not for backtesting a portfolio.