Intuition The core idea in one breath
Paper trading is running your real strategy with fake money in real market conditions , so you can find the gap between "it worked in the past" (backtest) and "it works right now" (live) — before that gap costs you actual cash.
Intuition The three-stage funnel
A trading idea must survive three tests, each more honest than the last:
Backtest — replay history. Cheap, fast, but contaminated by hindsight and clean data.
Paper trade — trade live prices with imaginary money. Honest about timing , dishonest about psychology and fills .
Live (small size) — real money, real fear.
WHY not skip straight from backtest to live? Because a backtest cannot see the future arriving one tick at a time . Paper trading forces your code to decide without knowing what happens next — the single thing a backtest can never guarantee it did honestly.
The deepest reason: a backtest can suffer from look-ahead bias and survivorship bias , while paper trading, by construction, cannot look ahead because the future literally hasn't happened yet.
Paper trading (a.k.a. forward testing or out-of-sample live simulation ) is the execution of a strategy against live, streaming market data using simulated capital , where orders are recorded and marked-to-market but never sent to a real exchange.
Definition Key distinction — backtest vs paper trade
Backtest
Paper trade
Data
historical
live / streaming
Future known?
yes (danger!)
no
Fills
assumed
modelled or exchange-simulated
Cost
seconds
days–months (real time)
Catches
logic bugs
latency, data feed, slippage, discipline
We need to compare backtest performance to paper performance on the same period going forward. Let me derive the tracking metric from scratch.
Intuition What are we even asking?
"Does my live/paper result look like my backtest promised?" If yes, my model is honest. If paper is much worse, the backtest was fantasy.
Let r t b t r^{bt}_t r t b t be the backtest return on day t t t and r t p t r^{pt}_t r t pt the paper-traded return on the same day. Define the daily difference :
d t = r t p t − r t b t d_t = r^{pt}_t - r^{bt}_t d t = r t pt − r t b t
WHY subtract? Because a systematically negative d t d_t d t means paper trading is bleeding value the backtest never charged you — usually slippage and fees .
The average leakage per day:
d ˉ = 1 N ∑ t = 1 N d t \bar d = \frac{1}{N}\sum_{t=1}^{N} d_t d ˉ = N 1 ∑ t = 1 N d t
The tracking error is the standard deviation of that difference — how unpredictable the gap is:
Intuition Why paper beats live even after paper trading?
Even paper trades often fill at the shown price, but real orders move the price . So we model slippage.
Suppose you want to buy Q Q Q shares but each unit of demand pushes price up by a factor k k k (the impact coefficient). Price paid on the marginal share at quantity q q q is P 0 ( 1 + k q ) P_0(1+kq) P 0 ( 1 + k q ) . Total cost:
C = ∫ 0 Q P 0 ( 1 + k q ) d q = P 0 ( Q + 1 2 k Q 2 ) C = \int_0^{Q} P_0(1+kq)\,dq = P_0\left(Q + \tfrac{1}{2}kQ^2\right) C = ∫ 0 Q P 0 ( 1 + k q ) d q = P 0 ( Q + 2 1 k Q 2 )
The average price per share is C / Q C/Q C / Q :
P ˉ = P 0 ( 1 + 1 2 k Q ) \bar P = P_0\left(1 + \tfrac{1}{2}kQ\right) P ˉ = P 0 ( 1 + 2 1 k Q )
Worked example Example 1 — Is my backtest honest?
Over N = 5 N=5 N = 5 days, paper vs backtest returns (in %):
r p t = [ 0.8 , − 0.3 , 0.5 , 0.1 , − 0.2 ] r^{pt}=[0.8,\,-0.3,\,0.5,\,0.1,\,-0.2] r pt = [ 0.8 , − 0.3 , 0.5 , 0.1 , − 0.2 ] , r b t = [ 1.0 , − 0.2 , 0.7 , 0.2 , − 0.1 ] r^{bt}=[1.0,\,-0.2,\,0.7,\,0.2,\,-0.1] r b t = [ 1.0 , − 0.2 , 0.7 , 0.2 , − 0.1 ] .
Step 1 — differences d t = r p t − r b t = [ − 0.2 , − 0.1 , − 0.2 , − 0.1 , − 0.1 ] d_t=r^{pt}-r^{bt}=[-0.2,-0.1,-0.2,-0.1,-0.1] d t = r pt − r b t = [ − 0.2 , − 0.1 , − 0.2 , − 0.1 , − 0.1 ] .
Why this step? Isolates the leakage per day.
Step 2 — mean d ˉ = − 0.7 5 = − 0.14 % \bar d = \frac{-0.7}{5} = -0.14\% d ˉ = 5 − 0.7 = − 0.14% .
Why? A negative mean flags systematic underperformance — not noise.
Step 3 — interpret. Paper loses ~0.14%/day vs backtest, consistently (all d t < 0 d_t<0 d t < 0 ). That is transaction cost your backtest ignored . Verdict: fix the cost model before going live.
Worked example Example 2 — Slippage at size
P 0 = ₹ 100 P_0 = ₹100 P 0 = ₹100 , impact k = 0.00002 k = 0.00002 k = 0.00002 per share, order Q = 5000 Q = 5000 Q = 5000 shares.
Step 1 slippage per share = 1 2 k P 0 Q = 0.5 × 0.00002 × 100 × 5000 = ₹ 5 =\tfrac12 kP_0 Q = 0.5\times0.00002\times100\times5000 = ₹5 = 2 1 k P 0 Q = 0.5 × 0.00002 × 100 × 5000 = ₹5 .
Why? Uses the derived formula directly.
Step 2 So average fill = ₹ 105 = ₹105 = ₹105 , a 5% hidden cost .
Why it matters: a paper test that fills all 5000 at ₹100 is lying. Model impact or paper-trade at realistic partial fills .
Worked example Example 3 — Duration sanity check
Your strategy makes ~2 trades/week. How long to paper trade for 30 trades of evidence?
Step 1 30 trades ÷ 2 per week = 15 30 \text{ trades} \div 2 \text{ per week} = 15 30 trades ÷ 2 per week = 15 weeks.
Why 30? Rough statistical floor for the mean return's noise to shrink (std error ∝ 1 / n \propto 1/\sqrt{n} ∝ 1/ n ).
Lesson: paper trading a rare-signal strategy for 3 days proves nothing .
Common mistake "It made money on paper, so I'll go live full-size."
Why it feels right: the numbers are green and it was live data, not history. The flaw: paper fills ignore slippage and partial fills ; and green over a few trades is within noise. Fix: require enough trades (≥ 30 \ge30 ≥ 30 ), model costs, then go live at minimum size first.
Common mistake "Paper trading is just a slow backtest."
Why it feels right: both simulate. The flaw: a backtest can accidentally use future data (look-ahead bias); paper trading cannot . It also tests your data feed, latency, and your own discipline — none of which a backtest touches. Fix: treat paper trading as testing the whole system , not just the logic.
Common mistake "My paper P&L exactly matches the backtest, so I'm done."
Why it feels right: perfect match = perfect model, surely? The flaw: a too-perfect match usually means your paper engine is also assuming instant, costless fills — i.e. it inherited the backtest's fantasy. Fix: a good paper engine should show TE > 0 and slightly worse returns than backtest. That's realism, not failure.
Recall Feynman: explain to a 12-year-old
Imagine you invented a video-game move that always wins... when you replay old recorded games . Cool — but replays can't surprise you, you already know what the enemy does. Paper trading is playing live against the game right now , but with a save-file so you don't lose real coins. If your move still wins live, it's real. If it only won in replays, you just avoided losing your real coins.
Mnemonic Remember the funnel:
"BPL"
B acktest (history) → P aper (live, fake money) → L ive (real, small).
Also: "Paper catches what History hides."
#flashcards/stock-market
Paper trading uses which kind of data and which kind of money? Live/streaming market data with simulated (fake) capital.
Why can a backtest lie but paper trading structurally cannot lie about timing? A backtest can accidentally use future data (look-ahead bias); paper trading decides tick-by-tick with the future genuinely unknown.
Define tracking error between backtest and paper returns. The standard deviation of the daily return differences
d t = r t p t − r t b t d_t=r^{pt}_t-r^{bt}_t d t = r t pt − r t b t , i.e.
1 N − 1 ∑ ( d t − d ˉ ) 2 \sqrt{\frac{1}{N-1}\sum(d_t-\bar d)^2} N − 1 1 ∑ ( d t − d ˉ ) 2 .
What does a consistently negative mean difference d ˉ \bar d d ˉ indicate? Systematic leakage — usually slippage and fees the backtest ignored.
Derived slippage-per-share formula with linear price impact k k k ? 1 2 k P 0 Q \tfrac{1}{2}kP_0Q 2 1 k P 0 Q — linear in order size
Q Q Q .
Why does a strategy that works on 1 lot fail at large size? Slippage grows linearly with quantity (
∝ Q \propto Q ∝ Q ), so market impact eats the edge at scale.
Order of the validation funnel? Backtest → Paper trade → Live (small size).
Why is a perfect paper-vs-backtest match a warning sign? It suggests the paper engine also assumes costless instant fills — it inherited the backtest's fantasy instead of adding realism.
Roughly how many trades before paper results are statistically meaningful? At least ~30, since standard error of the mean shrinks as
1 / n 1/\sqrt{n} 1/ n .
Two things paper trading tests that a backtest never can? Real data-feed/latency behaviour and the trader's own psychological discipline.
Look-ahead and survivorship bias
Future unknown tick by tick
Live streaming data + fake capital
Slippage, fees, latency, discipline
Daily diff d_t = paper minus backtest
Backtest is honest, go live
Intuition Hinglish mein samjho
Dekho, backtesting matlab tum apni strategy ko purana data pe chala ke dekhte ho — bahut fast aur sasta hai, par isme ek dhoka chhupa hota hai. History pehle se pata hoti hai, isliye tumhara code galti se "future ki jhaank" (look-ahead bias) le sakta hai, aur data bhi ekdam saaf hota hai jaisa real market me kabhi nahi hota. Yahi gap paper trading bharta hai.
Paper trading ka matlab: strategy ko live, real-time market data pe chalao, lekin paisa nakli — koi real order exchange ko nahi jaata. Kyunki future abhi hua hi nahi, isliye tumhara code cheat nahi kar sakta. Ye tumhare pure system ko test karta hai — data feed, latency, aur sabse important, tumhari khud ki discipline (dar aur laalach jo backtest me kabhi mehsoos nahi hote).
Sabse bada point: backtest me fills muft aur turant maan liye jaate hain, par real me bade order price hila dete hain — isko slippage kehte hain, aur ye 1 2 k P 0 Q \tfrac12 kP_0Q 2 1 k P 0 Q ke hisaab se order size ke saath badhta hai. Isiliye 1 lot pe chamakti strategy 5000 shares pe mar jaati hai. Tracking error (d t = r p t − r b t d_t = r^{pt}-r^{bt} d t = r pt − r b t ka standard deviation) dekh ke pata chalta hai backtest sach bol raha tha ya sapna dikha raha tha.
Toh rule simple hai — BPL funnel : pehle Backtest, phir Paper trade (kam se kam ~30 trades tak), phir chhoti size me Live. Jab tak paper me green nahi aata realistic costs ke saath, apna asli paisa daalna sabse mehnga sabak hota hai.