← Back to Docs
DEPLOYMENT & PAPER TRADING
After a backtest looks good, deploy a strategy to paper trading. The kickoff MVP is paper-only — fills run against an internal ledger, with no live broker. Deployment happens in the dashboard; there is no deploy CLI.
Deployment Lifecycle
- Backtest — validate over a historical window. Each run version-locks your code and config.
- Deploy — promote a backtested version to a live paper deployment. A virtual portfolio is seeded with paper capital.
- Daily ticks — the
strategy-tickscron runs yoursignal()each trading evening. - Monitor — track equity, drawdown, decisions, and governance events.
- Reconcile — the next morning, estimated fills are corrected to actual open prices.
Daily Paper-Trading Flow
text
Market data refresh (≈8:30 PM ET, weekdays)
└─ Databento OHLCV for ~2,900 symbols + split adjustment → market_data_cache
Strategy ticks (≈9:33–9:35 PM ET, 3 batches)
└─ for each deployed strategy:
1. Serialize StrategyContext (portfolio, OHLCV, fundamentals)
2. Execute strategy.signal() in an Azure Dynamic Session
3. Apply guardrails to target weights
4. Derive orders from weight changes
5. Fill at today's close (estimated)
6. Record portfolio snapshot + decision log + governance event
Reconciliation (≈9:30 AM ET next day)
└─ Fetch actual T+1 open prices, adjust fills, update snapshotsMonitoring & Reconciliation
Each deployment has a monitoring view (live equity curve, positions, recent decisions) and a reconciliation view that shows the T+1 adjustment from estimated close fills to actual open prices. Fills are marked-to-market at the close; mark-to-market and fill prices are tracked separately to avoid double-counting.
Related
- Execution Model — delay-1 mechanics
- Version Locking — what gets frozen on deploy
- Risk Limits — guardrails applied on every tick