Research-to-Production Handoff
The process of turning a strategy that works in a research backtest into code that runs safely against live markets — a transition where subtle differences between the two environments are the most common source of a strategy behaving unexpectedly once it goes live.
A research backtest is usually written for speed and flexibility, not for the constraints of a live trading system — it might process an entire year of data at once, assume perfect fills at the closing price, and ignore exchange connectivity, order rejections, and position limits entirely, because none of those things get in the way of testing an idea. Production trading code has to deal with all of it: real orders that can be partially filled or rejected, real network latency, real position and risk limits enforced by the exchange or the firm, and data arriving one event at a time rather than as a convenient batch. Handoff is the process of bridging that gap — turning a research idea, validated on simplified assumptions, into code that behaves correctly under the real constraints of live trading.
Where things typically go wrong
The most common handoff failures aren't conceptual mistakes about the strategy — they're small implementation mismatches between the research and production code paths. A backtest might assume trades execute at the exact closing price, while the production system has to submit orders and accept whatever fill it actually gets, which is subtly different in a way that erodes the strategy's edge if trading costs weren't modeled realistically to begin with. A signal calculation reimplemented in production code, rather than reused directly from the research codebase, can drift out of sync with the research version over time as one gets updated without the other, until the two versions of "the same" strategy are quietly computing different things.
A concrete case
A mean-reversion strategy backtests well using end-of-day data and assumes it always trades exactly at the close. When it's handed off to the production system, the engineering team discovers the firm's execution infrastructure can't guarantee a fill exactly at the closing auction for every name in the universe — some orders get partial fills a few seconds later at a slightly different price. Left unaddressed, this is a silent, ongoing gap between the backtested and live version of the strategy. Because the handoff process includes an explicit review of exactly this kind of execution assumption, the team catches it before launch and either adjusts the strategy's expected performance downward to account for realistic fills, or reworks the execution logic to better match what the backtest assumed.
What this means in practice
The safest handoffs reuse as much of the actual research code as possible in production, rather than rewriting the strategy logic from scratch in a different language or framework, since every rewrite is an opportunity for the production version to subtly diverge from what was actually tested. Where a rewrite is unavoidable, a careful side-by-side comparison of research and production outputs on the same historical data is the standard check that the two are computing the same thing.
Handoff is where a research backtest's simplified assumptions meet production trading's real constraints. Most handoff failures are small, silent mismatches between the two code paths — different execution assumptions, a reimplemented signal that drifts from the original — rather than conceptual errors in the strategy itself.
Further reading
- Chan, Algorithmic Trading, ch. 8