Shadow Trading and Paper Portfolios
Running a strategy's live signals through the production trading system without committing real capital — generating actual orders and prices in real time to check that the strategy behaves as the backtest promised, before any money is at risk.
Prerequisites: Research-to-Production Handoff
Even a strategy that has passed every backtest and code review still hasn't been tested against one thing a backtest can't fully simulate: what actually happens when it meets real, live market data flowing at real speed through the real production system. Shadow trading, also called paper trading, closes that gap by running the strategy for real — generating actual buy and sell signals from live market data, in real time, through the same production infrastructure that would place real orders — but stopping just short of sending those orders to the exchange, or sending them to a simulated fill environment instead. The strategy operates exactly as it would live, on a "paper" portfolio, with nothing at risk.
What shadow trading actually catches
The value of shadow trading isn't re-testing whether the strategy's idea is good — that was the backtest's job. It's catching the gap between the backtested version of the strategy and the actual production implementation: does the production code generate the same signals the research code did on the same data, does the system handle a live data feed's occasional gaps and out-of-order messages correctly, does the strategy's risk and position logic behave sensibly when fed real-time data instead of a clean historical file. These are exactly the kinds of implementation issues that a code review can miss, because they only show up when the system runs continuously against live, imperfect data rather than a tidy backtest dataset.
A concrete case
A strategy shadow-trades for a month before being approved for real capital. During that month, the paper portfolio occasionally generates a signal that doesn't match what an equivalent research backtest would have produced on the same day's data. Investigating, the team discovers the production data feed occasionally delivers a corporate action adjustment a few hours later than the research database assumed, causing a brief mismatch in the reference price the strategy uses. This is exactly the kind of subtle, easy-to-miss issue that only shows up by actually running the strategy live — a code review reading the logic in isolation would have had no obvious reason to flag it.
What this means in practice
Shadow trading typically runs for a period long enough to see the strategy's usual signal frequency play out several times over, and its results are compared against what the research backtest, run on the exact same live period, would have produced. A shadow-trading period that matches the backtest closely is a much stronger basis for trusting the production implementation than a backtest and a code review alone, because it's the first point in the process where the strategy has actually been exercised against reality rather than history.
Shadow trading runs a strategy's real production code against live market data with no capital at risk, catching gaps between the backtested and actual implementation — data-feed quirks, timing issues, edge cases — that show up only when the system runs continuously against live, imperfect data.
Further reading
- Chan, Algorithmic Trading, ch. 9