What Virtual Trading Reveals Before Live Deployment
Anurag Singh Kushwah·Apr 10, 2024·10 min read
Between "the backtest looks good" and "this trades real money" there is a stage most people skip: running the strategy against the live market with simulated capital. Not as a demo — as a full dress rehearsal on production infrastructure. Every strategy on my platform earns its way through this stage, and it has vetoed more deployments than any backtest ever did.
It tests your system, not just your strategy
A backtest exercises your logic. Virtual trading exercises everything else: the WebSocket feed that silently drops ticks at 9:15 AM, the symbol whose lot size changed last expiry, the broker API that starts throttling exactly when the market gets interesting. These failures don't exist in historical data. They only appear when you run against the real, misbehaving, live market.
The numbers that matter
I track the same strategy in three environments — backtest, virtual, live — and compare distributions, not anecdotes:
- Fill deviation — virtual fill price vs. the backtest's assumption at the same signal.
- Signal latency — timestamp of the triggering tick vs. order placement.
- Missed trades — signals the live path failed to act on that the backtest took.
- P&L tracking error — day-by-day virtual P&L against backtest P&L on the same dates.
If virtual P&L tracks the backtest within costs, the simulation was honest. When it doesn't, the tracking error tells you exactly which assumption broke — usually fills, occasionally data, sometimes an outright bug that historical replay could never trigger.
Same code, different adapter
The rule that makes this work: virtual trading runs the production code path. Same strategy process, same OMS, same risk checks — only the final broker adapter is swapped for a simulator that fills against the live book. If your paper-trading mode is a separate script, it validates nothing.
When to graduate a strategy
My bar: four to six weeks of virtual trading, tracking error explained entirely by modeled costs, zero unhandled operational incidents. It feels slow. It is much faster than discovering the same problems with real capital and real slippage.