Paper Trading Mode
Published Last updated
Key Takeaway
Paper trading mode is a bot operating configuration where all strategy logic executes against live market data but orders are logged rather than submitted to the exchange.
Learn These First
What Is Paper Trading Mode?
Paper trading mode is a bot operating configuration where all strategy logic executes against live market data but orders are logged rather than submitted to the exchange.
How Paper Trading Mode Works
Frequently Asked Questions
What is paper trading mode in a trading bot and how does it work?
Paper trading mode is a bot configuration where all strategy logic — data fetching, indicator computation, signal evaluation, and position sizing — runs against live market data, but instead of placing real orders, the bot logs each signal to a structured CSV file. The switch between paper and live mode is a single config flag in J21's architecture. All modules execute identically in both modes; only order submission differs. This design means a bot producing accurate paper signals will generate identical live signals under the same conditions — making paper mode a genuine real-time rehearsal for live deployment.
Why is 30 days of paper trading required before going live with a bot?
The 30-day requirement exists because backtesting against historical data cannot replicate every live market condition. Live exchange API responses contain occasional variations, timestamp edge cases near market events, rate limit interactions during busy periods, and unexpected indicator values during low-liquidity hours — none typically present in clean historical datasets. Running for 30 days generates a sufficient live signal log to compare against backtest performance benchmarks, verify no unexpected errors occur, and confirm the bot produces the signal quality the backtest suggested before any real capital is exposed to the bot's live trading decisions.
What should I look for in paper trading logs to confirm the bot is ready for live deployment?
When reviewing paper trading logs for live readiness, check four things. First, signal frequency: does the bot fire entries at a rate consistent with the backtest — not dramatically more or fewer? Second, signal quality: are entry conditions logged with the correct indicator values? Compare paper entries against the platform chart to verify signals fired at valid setups. Third, error absence: did the bot complete 30 days without API errors, unexpected exceptions, or silent failures? Fourth, metric comparison: do paper trading win rate and profit factor approximate backtest results within the ADL's 20% acceptance range?
Common Misconceptions About Paper Trading Mode
Once the bot works correctly in paper mode, it definitely works correctly and profitably in live mode.
Paper trading mode confirms the bot's logic and live data connectivity produce valid signals without errors. It does not guarantee identical live performance because paper trades log signals at indicative prices rather than executing against the real order book. Slippage, spread, partial fills, and execution delays in live mode cause real fill prices to differ from paper signal prices. Paper trading validates code correctness and signal quality — the most critical pre-deployment requirements. It does not eliminate execution differences between simulated and real order placement that require reduced position sizing during the first 30 live trades.
Switching from paper to live mode requires significant code changes and retesting.
In J21's architecture, switching from paper to live mode requires changing exactly one value in config.py: `PAPER_TRADING = True` becomes `PAPER_TRADING = False`. All other code remains unchanged. The logger module checks this flag and routes signal output to either a CSV log file in paper mode or the exchange order execution API in live mode. This single-flag design ensures live mode executes the identical code as paper mode everywhere except order submission — giving full confidence that the signal logic, position sizing, and risk management that performed correctly in paper mode are exactly what runs in live.
Paper trading mode is the same as an exchange demo account — both simulate trading equally well.
Exchange demo accounts simulate order execution in a simplified environment that often behaves differently from the live exchange's actual order book and API. J21's paper trading mode is different: it connects to the real live exchange API for data fetching — the same connection used in live mode — while substituting order logging for order submission. This distinction matters because paper trading mode tests real API connectivity, real data quality, and real rate limit handling that live trading requires, rather than testing against a demo environment that may behave more predictably than the production exchange under actual market conditions.