What does paper miss?
Slippage, partial fills, borrow, gap fills, fees — and emotion. Paper takes every signal; you will not.
Guide · Process
Paper trading is a useful mechanical rehearsal and a terrible predictor of results. It gets the arithmetic right and omits every friction that decides whether a small edge survives.
That is a real list and it is worth doing. What it is not is evidence that the strategy makes money.
| Friction | What paper assumes | What real money does |
|---|---|---|
| Slippage | Fills at the quoted price | Fills a few ticks worse, much worse on gaps and thin names |
| Partial fills | The whole order fills | Limit orders fill partially or not at all, changing the risk you actually took |
| Market impact | Your order does not exist | Size moves the book in illiquid names, and you trade against your own footprint |
| Short borrow | Shorts are always available | Locate may be unavailable, expensive, or recalled mid-trade |
| Halts and gaps | Orders behave normally | A stop through a gap fills far below the stop price, so the loss exceeds 1R |
| Fees and financing | Often ignored entirely | Commission, regulatory fees, and margin interest apply to every round trip |
| Emotion | Every signal is taken | You skip the uncomfortable ones, which are frequently the good ones |
The last row is the largest by a distance. A backtest and a paper account both take 100% of signals. In real money you will hesitate after two losses, size down after a drawdown, and take a discretionary exit at the worst moment. A strategy's realised expectancy is the strategy's expectancy multiplied by your compliance with it, and compliance is never 100%.
Run the arithmetic on the edge I actually validated. The anchored-VWAP reclaim came out at +0.117R over 4,933 trades on a 129-symbol, 10-year universe (95% CI +0.057 to +0.174) — the +0.23R over 101 trades I first reported did not survive my own adversarial re-test. Assume a 1R risk of $300 per trade, so the modelled edge is $35.10 per trade.
modelled edge = 0.117R × $300 = $35.10 per trade slippage 2 ticks × 2 sides on 100 shares ≈ $4.00 commission + fees ≈ $2.00 net edge ≈ $63.00 per tradeThat version survives. Now assume slippage of 0.05R per side rather than a few ticks, which is realistic on gappy names, and you lose 0.10R of a 0.117R edge — over 85% of the entire result, gone to execution quality alone. A small edge is not robust to sloppy fills, which is the practical reason execution discipline matters more than signal hunting.
A promotion gate is a pre-committed, written rule that decides when a system is allowed to trade real money, evaluated by something other than your enthusiasm. Without one, the promotion decision gets made on a good week, which is precisely the wrong sample.
A gate needs three properties to be worth anything:
My execution engine refuses to connect a live broker until the paper record shows 60 closed paper trades with positive realised expectancy. It is a hard check in the promotion path, not a note in a document, and the current record against it is zero closed paper trades, so the live path stays shut.
The two numbers are chosen for different reasons. Sixty closed trades is a compromise: it is not enough for statistical confidence, which needs a few hundred, but it is enough to expose an engine that double-fires orders, mishandles a halt, or quietly loses on fees. Requiring realised expectancy rather than modelled expectancy is the important half, because realised includes the fills you actually got.
An override exists in the code because a gate with no escape hatch gets bypassed by editing the source, which is worse. It is named to be uncomfortable to type, and it logs a warning when used. That is the design intent: make the unsafe path possible, obvious, and recorded, rather than impossible and therefore routed around.
The measurement layer has to exist before any of this is meaningful, which means logging planned 1R, realised R, and setup tag on every trade from the first paper fill onward. Journal fields that make this work →
Educational content, not financial advice. No live profit-and-loss figures are claimed anywhere on this site; backtest and walk-forward results are always labelled as such. Full terms: /terms.html
FAQ
Slippage, partial fills, borrow, gap fills, fees — and emotion. Paper takes every signal; you will not.
For engineering, yes: it proves orders route, brackets attach, and books reconcile. It is not evidence the strategy makes money.
A pre-written rule deciding when a system may trade real money, counted in closed trades and enforced by code rather than by mood.
My engine requires 60 closed paper trades with positive realised expectancy before it will connect a live broker. Currently the record is zero.
Yes. Slippage of 0.05R per side removes 0.10R from a 0.117R edge — over 85% of it, lost purely to execution quality.
Stages: pass the gate, 20 trades at minimum size, 30 at quarter risk, then full risk — with a coded drawdown halt at 10%.