Appearance

Personalize your experience

Mode
Accent Color
Direction
From Backtest to Live

From Backtest to Live

Backtesting

The staged path from a validated backtest to full size, what each stage can detect that the previous one cannot, and the monitoring that tells you when to stop.

Why staging is not optional

Each stage exists because it catches a category of failure the previous one structurally could not. Skipping a stage does not save time — it defers the discovery of a problem to a where it costs money.

NEVER GO FROM BACKTEST STRAIGHT TO FULL SIZEbacktesthistory›forward testheld-back data›paper1–2 weeks live feed›live small10–25% of target›live fulltarget sizeeach stage can fail for reasons the previous one structurally could not detect — that is why each exists
Five stages. Size only increases after the previous stage confirmed what it was there to confirm.
StageTypeDescription
BacktestdetectsLogic errors, no edge, unacceptable . Cannot detect anything about execution.
Forward testdetectsOverfitting. Cannot detect anything about execution either — it is still a replay.
Paper tradingdetectsFeed gaps, , -boundary surprises, broker rejections, configuration that is wrong in ways history never exercised. The first stage that touches reality.
Live smalldetectsReal slippage, real fill behaviour, real , and your own to real losses. cannot produce any of these.
Live fulldetects at size, and whether the edge survives the cost profile of larger orders.
!
Caution:Paper trading is the stage most often skipped and the one with the yield per day spent. It is where you discover that the in a was wrong, that the broker rejects a particular , or that a gap at the open silently suppresses the first signal every day. None of those appear in a backtest, and all of them are cheap to find here.

Paper trading

, live timing, simulated . Run it for one to two weeks minimum — long enough to span a weekend, an expiry if relevant, and at least one unusual .

  1. 1
    Compare signal timing against the backtest
    Run the same in the backtest and check that produced the same signals at the same bars. A discrepancy here is a or timing problem, and it is easier to diagnose now than later.
  2. 2
    Watch the session boundaries
    The open, the close, and the intraday square-off. These are where configuration errors , and they surface once per day so you do not wait long.
  3. 3
    Check every rejection
    A order in is a rejected order live. unsupported, quantity below , price off the grid — all cheap to fix here.
  4. 4
    Confirm the trade count
    Materially fewer signals than the backtest projected usually means feed gaps; materially more means a configuration difference.
  5. 5
    Read the log daily
    Not the — the individual . Two weeks of is too a sample for but exactly the size for reading every trade.
ℹ
Note:Do not evaluate performance in paper trading. Two weeks produces a handful of and any P&L figure from them is noise. Paper trading answers “does this run correctly”, not “does this make money” — the backtest and already addressed the second question.

Live, small

Ten to twenty-five percent of target size. Enough that and slippage are real and measurable, enough that being wrong about something is affordable.

  • slippage properly. Twenty compared against the bar closes they should have executed at. This number is the single most valuable output of the stage — feed it back into the backtest and re-run.
  • Watch for . If position sizes differ from planned ones, every P&L figure scales with them and the risk calculation was based on a size you did not get.
  • the exit-reason mix against the backtest. More stops than in the test means the stop is being hit intra-bar in a way the replay could not see.
  • your own . This is not sentimentality. If a normal losing streak at 25% size is uncomfortable, it will be intolerable at full size, and the will be abandoned at the worst possible moment.
★
Pro tip:Re-run the backtest with your measured slippage before scaling. If the is still comfortably profitable, scale. If realistic slippage has eaten the edge, the strategy is finished — and finding that out at 25% size is the entire of the stage.

Scaling up

Increase size only when are consistent with paper and with the cost-corrected backtest. Divergence does not improve with size; it usually gets worse, because larger orders consume more of the book.

ObservationTypeDescription
Live matches corrected backtestscaleThe model is calibrated. Increase in steps, re-measuring slippage at each size.
Live slightly worsescale cautiouslyExpected. Update the cost to match and the still clears your thresholds.
Live materially worsestop and diagnoseWork through slippage, , exit mix and position size in that order. Do not scale to see whether it improves.
Live better than backtestinvestigatePleasant and suspicious. Usually a favourable regime rather than a conservative model, and regimes revert.
!
Caution: grows non-linearly. A position size that at the may, at four times the size, walk several levels up the book — so the cost per unit rises exactly as the position grows. Re- slippage at every size increase rather than assuming the earlier figure holds.

Monitoring a running strategy

Operational readiness

Things that have nothing to do with the and will still stop it working.

  • Broker credentials expire. Many require daily or periodic re-authentication. A cannot place orders through a stale .
  • Margin must be sufficient. Including for the fully- state of any ladder, not just the first entry.
  • Prefer broker-side stops for positions you cannot afford to leave unattended. A stop the platform manages internally depends on the platform being .
  • Know what happens on . Resting broker orders survive; internally managed logic pauses. Design the risk controls around that distinction.
  • Editing does not affect a running instance. A deployed runs its deployed configuration until stopped and redeployed.

Deployment checklist

Before real capital

  • Backtest passes on , , and
  • Costs set to measured or conservative values
  • Walk-forward validation consistent with the result
  • Stress tests passed: rounded parameters, shifted , best trade removed
  • traded for one to two weeks with the log read daily
  • signal timing reconciled against the backtest
  • Every order rejection in understood and
  • configured, and resting broker-side where it matters
  • maxDailyLoss set to bound a bad
  • Position sizing within genuine risk tolerance, including any ladder fully
  • Broker credentials valid and margin sufficient
  • Stop conditions for the written down in advance
  • Starting at 10–25% of target size, not full size

See also

Related articles

  • Execution Modelling

    Backtesting / Execution Modelling

    Commission, slippage, spread and fill assumptions — the difference between a backtest that means something and one that flatters. Costs are where most…

  • Market Impact

    Trading / Order Book / Views

    The slippage curve: what a market order of any size would cost right now.

  • Step 7 — Strategy Testing

    Automation / Strategy Builder / Wizard Steps

    The testing step offers three modes, each answering different questions about strategy behavior. Use all three in sequence: backtest to validate logic,…

  • Backtesting in Python and C++

    Backtesting / SDKs

    The quatick Python package and the header-only C++ library let you import indicators, backtest on your own machine and send the same file to Quatick.…

  • Backtesting Methodology

    Backtesting / Methodology

    What a backtest is actually evidence of, the assumptions built into it, how much data is enough, and the procedure that makes a result worth acting on.

  • C++ SDK Reference

    Backtesting / SDKs / C++

    Header-only C++20 (packages/quatick-backtest-cpp): the position simulator, an event-driven engine with the same order rules as Python, analytics, a parallel…

  • Monte Carlo and Robustness

    Backtesting / Monte Carlo

    A backtest is one path through history. Monte Carlo asks how different the result could have been with the same edge: a different order of trades, a…

  • Orders and Fills

    Backtesting / SDKs / Orders and Fills

    The event-driven engines of the Python and C++ SDKs share one set of order types and fill rules, so the same strategy fills identically in both languages…

  • Overfitting & Validation

    Backtesting / Validation

    Why searching for a good backtest reliably produces one even when no edge exists, how to recognise a fitted strategy, and the validation designs that…

Browse all knowledge base articles →