Skip to content
GetProfitable
Search

Paper trading and incubation

Lesson 26 · about 10 min

A strategy that has passed its out-of-sample and walk-forward tests has cleared the cheap filters. The next filter is time: running the frozen rules forward, on data that did not exist when the rules were written, and comparing what happens with what the backtest predicted. This period is called incubation. Paper trading is one way to do it; tiny live size is another; both are better than skipping straight to full size.

What incubation tests

Incubation catches things the backtest cannot:

  • True out-of-sample. The rules were frozen before this data existed. There is no way to have fitted it.
  • Operational reality. Data feed hiccups, platform quirks, orders that do not go in because you were away, holidays you forgot.
  • Repainting and evaluation differences. The live signals either match the historical ones for the same bars or they do not.
  • Your ability to follow the rules. Whether you take the signal that arrives at a bad moment.

What it does not test well: fills. A paper account fills you at the displayed price, and displayed prices are optimistic in exactly the ways Module 4 describes. Paper-traded slippage is usually near zero, and you should keep applying the backtest's slippage assumption to paper trades rather than believing the paper fills.

Paper versus tiny live

Paper account Tiny live size (e.g. 0.1% risk, one micro contract)
Fills Optimistic Real
Costs Usually modelled or absent Real
Emotional load None Small but present
Operational issues Mostly caught All caught
Cost of a bug Zero Trivial
Data feed Sometimes delayed Live

Tiny live is better on almost every dimension and costs very little. The exception is markets where the minimum size is large relative to your account, in which case paper is the only option, and its fill optimism has to be corrected by hand.

How long

Incubation should run until the number of trades is large enough to compare with the backtest, not for a fixed calendar period. A useful minimum is 30 trades, and 50 is better. For a system averaging 60 trades a year that is six months to a year; for an intraday system it may be a month.

System frequency Trades per month Incubation for 30 trades For 50 trades
Swing, daily bars 5 6 months 10 months
Active swing 12 10 weeks 4 months
Intraday, 15-minute 35 4 weeks 6 weeks

Thirty trades cannot confirm an edge (the sample-size arithmetic from Module 5 says so), but they can reveal a broken one, a mismatch in trade frequency, or a slippage assumption that was wrong by a factor of two.

Key idea: Incubation is the first test on data that could not have been fitted, run by a person who has to actually place the orders. It is not there to prove the edge; it is there to catch the ways the backtest and reality differ before those differences cost real money.

What to record

For every incubation trade, log the same fields as the backtest plus the operational ones:

Field Why
Signal time and price per the rules To compare with what the tool showed historically later
Order time and price actually placed Latency and discipline
Fill price Real slippage
Stop, target, exit and R The usual
Deviations from rules, with reason Every one is a data point
Missed signals Ones you did not take, and why

After 30 trades, compare with the backtest on four numbers: trade frequency, win rate, average R, and slippage per trade in R. Trade frequency is the first thing to check, because a system that trades half as often live as in the backtest has a data or session mismatch, and that must be fixed before any other comparison means anything.

When incubation fails

An incubation result that is far worse than the backtest is information. The usual causes, in order of frequency:

  1. Slippage and costs were under-estimated (measure them; they are now known).
  2. The live signals do not match the historical ones (repainting, session, time zone).
  3. The rules were not followed (the log will show it).
  4. The strategy is overfit (nothing operational explains the gap).

The first three are fixable and you go back to the backtest with corrected inputs. The fourth is the answer you were paying to learn, and the correct response is to stop.

Try it: Set up an incubation log with the fields above before the next signal. Decide now the number of trades at which you will do the first comparison, and write down what backtest numbers you will compare against. Deciding the comparison in advance is what stops you moving the goalposts later.

Recap

  • Incubation runs frozen rules forward on data that did not exist when they were written.
  • It catches operational problems, repainting, discipline failures and cost errors; it does not prove the edge.
  • Tiny live size beats paper on fills and costs; paper fills are optimistic and must be corrected.
  • Run for at least 30 trades, preferably 50; compare frequency, win rate, average R and slippage.
  • A large gap traces to costs, signal mismatch, or discipline first; if none of those, the strategy was overfit.

See it drawn

Original diagrams for the ideas on this page. Illustrative, not real market data.

Slippage on a market orderA buy order clears four price levels, so the average price paid is worse than the price first quoted.Buy 1,000 shares at marketpricesell orders resting (bar length = size)20.04300 shares20.03200 shares20.01200 shares20.00300 sharesnothing resting at 20.02order sweeps up the bookaverage fill 20.02SLIPPAGE0.02 a share$20.00 in totalintended 20.00Each level fills at its own price; the average is what you really paid.
Slippage on a market order. You click at 20.00, but only 300 shares are resting there, so the rest of the order fills at 20.01, 20.03 and 20.04. The average price paid is 20.02, and that two-cent gap is slippage.
The spread of outcomes behind an expectancyA histogram of forty trades: a tall block of small losses on the left, a low spread of larger wins on the right, and a line marking the average outcome.NUMBER OF TRADES051024 LOSSES, AVG −$20016 WINS, AVG +$600EXPECTANCY +$120−$400−$200$0+$200+$400+$600+$800PROFIT OR LOSS PER TRADEexpectancy = (40% × $600) − (60% × $200) = +$120 per trade
Expectancy: the average trade. Forty trades sorted by outcome: 24 small losses and 16 larger wins. Weighting each side by how often it happens gives the average result per trade, marked here by the dashed line at +$120.
The win rate needed to break evenA falling curve: the more a winning trade pays relative to the amount risked, the smaller the share of trades that must win to break even.BREAKEVEN WIN RATE0%20%40%60%80%1:11:21:31:41:5REWARD-TO-RISK RATIO1:1 needs 50%1:2 needs 33.3%1:3 needs 25%breakeven win rate = 1 ÷ (1 + reward-to-risk)above the curve, wins more than cover losses
The win rate needed to break even. How often a method must win just to stay level, for each reward-to-risk ratio. At 1:1 half the trades must win, at 1:2 a third, and at 1:3 a quarter, because each win covers more losses.