7 ยท Paper trading
Trade live market data with no money at risk โ the dress rehearsal before going live.
On the roadmap โ not shipped yet
Paper trading runs your system forward on real, live market data but with simulated fills and no real money. It is the bridge between a backtest (perfect hindsight) and live trading (real consequences), and it catches a whole class of problems a backtest structurally cannot.
Why a backtest isn't enough
Backtests hide the seams of real-time operation
A backtest hands your strategy clean, complete, correctly-timestamped history. Live, you face partial data, late ticks, gaps, restarts and clock issues. Paper trading is where those seams show up โ safely.
Specifically, paper trading validates the things the backtest assumed away:
- Data plumbing โ do quotes actually arrive, on time, for your whole universe?
- Signal timing โ does the system decide and act on the right bar, live?
- Order lifecycle โ do orders submit, fill, get rejected, and reconcile correctly?
- Operational resilience โ does it recover cleanly from a restart mid-session?
- Forward performance โ genuinely out-of-sample, because this data didn't exist when you built the system.
How to run a paper phase
Match live conditions
Use the same broker cost model you'll trade with. The point is realism, not a flattering number.
Run it long enough
Long enough to span a few different market days and to hit the edge cases (a gap, a halt, a restart). A day proves nothing.
Compare to the backtest
Track whether live-data behaviour matches what the backtest predicted for the same period. Large divergence means a data or timing bug โ not necessarily a broken edge.
What to watch
- Reconciliation drift โ does local state stay in sync with the broker's view of cash and positions?
- Fill realism โ are simulated fills plausible versus where the market actually traded?
- Latency โ is there a meaningful gap between signal and action?
In Malgot
In the meantime: the closest honest proxy is a rolling out-of-sample backtest โ re-run over the most recent completed period you never used in development. It isn't real-time, but it is genuinely unseen data.
