మీ Backtest, Live Trading తో సరిపోలకపోవడానికి తొమ్మిది కారణాలు
ఈ వ్యాసం ఇంగ్లీష్ నుండి అనువదించబడింది. అసలు వ్యాసాన్ని ఇంగ్లీష్లో చదవండి
Backtest మరియు live strategy మధ్య తేడా రావడానికి గుర్తించగలిగే తొమ్మిది కారణాలు ఉన్నాయి, slippage వాటిలో ఒకటి మాత్రమే. పెద్ద కారణాలు ఇవి: fill price, మీరు లెక్కలోకి తీసుకోని ఖర్చులు, backtest చూడలేని ఒక bar లోపలి ధర కదలికలు, మరియు ఏ simulation కూడా తిరిగి చూపించలేని live ప్రవర్తన, ఉదాహరణకు reject అయిన orders, partial fills. మీరు ఏ కారణాన్ని చూస్తున్నారో తెలిస్తే, ఈ తేడాలో ఎక్కువ భాగాన్ని కొలవచ్చు.
Strategy ని live లో నడిపిన ప్రతి trader కీ ఈ అనుభవం వచ్చే ఉంటుంది. Backtest లో equity curve చక్కగా కనిపించింది. ఆరు వారాల తర్వాత live account వేరే చోట ఉంది, strategy లో ఒక్క line కూడా మారలేదు.
సాధారణంగా ఇచ్చే వివరణ "slippage". అది నిజమే, కానీ దాదాపు ఏ ఉపయోగమూ లేదు. ఇక్కడ పూర్తి list ఉంది, ఒక్కొక్కటి ఎంత నష్టం చేస్తుందో దాని ప్రకారం సుమారుగా వరుసలో.
తొమ్మిది కారణాలు ఒక్క చూపులో
| # | కారణం | ఎవరికి ఎక్కువ నష్టం |
|---|---|---|
| 1 | Fill price | Liquidity తక్కువ ఉన్న strikes, పెద్ద orders |
| 2 | ఒక bar లోపలి కదలికలు | దగ్గరి stops మరియు targets, scalping |
| 3 | వదిలేసిన ఖర్చులు | High-frequency strategies |
| 4 | అసలు ఫలితం ఇవ్వకూడని runs | పాత reports ని కొత్తవాటితో పోల్చే ఎవరైనా |
| 5 | బయటి నుంచి వచ్చే signals | TradingView, webhook మరియు API తో trigger అయ్యే strategies |
| 6 | Liquidity, partial fills, freeze limits | Far OTM options, multi-leg positions, పెద్ద size |
| 7 | Broker వైపు సమస్యలు | అందరికీ, ముఖ్యంగా volatile రోజుల్లో |
| 8 | Overfitting మరియు look-ahead bias | ఎక్కువగా tune చేసిన strategies |
| 9 | Contract మారింది | Lot size లేదా expiry మార్పులకు ముందు test చేసిన ఏదైనా |
1. Fill price తేడాకు అతి పెద్ద ఒంటరి కారణం
Backtest మీ trade ని historical bar data నుంచి తీసుకున్న ధర వద్ద fill చేస్తుంది. Live లో, మీ order చేరిన క్షణంలో order book ఏ ధర ఇస్తే అదే మీకు వస్తుంది. Liquidity బాగా ఉన్న, ATM దగ్గరి NIFTY option పై ఈ రెండు సంఖ్యలు దగ్గరగా ఉండవచ్చు. Liquidity తక్కువ ఉన్న strike పై అలా ఉండకపోవచ్చు.
2. Bar లోపలి ధర కదలికలు కనిపించవు
Ticks కాకుండా bars ని replay చేసే engine, ఒక్కో bar కి కొన్ని ధరలు మాత్రమే చూస్తుంది, వాటి మధ్య దారి చూడదు. Bar లోపల కొద్దిసేపు మాత్రమే తాకిన level పూర్తిగా miss కావచ్చు. మీ stop మరియు target రెండూ ఒకే bar range లో ఉంటే, ముందు ఏది hit అయిందో backtest కి తెలియదు.
అదే bar, వ్యతిరేక ఫలితాలు. Bar data వీటిని వేరుగా గుర్తించలేదు
ఇది bar data స్వభావం, లోపం కాదు. కానీ ఇది ఒక రకమైన strategy ని అసలు కంటే బాగా చూపిస్తుంది: దగ్గరి stops తో దగ్గరి targets, scalping, మరియు entry, exit ఒకే bar లో trigger అయ్యే ఏదైనా.
3. మీరు on చేయని ఖర్చులు
ఏ ఫలితాన్ని నమ్మే ముందైనా ఖర్చులు set చేయండి. Report లోని cost settings లో brokerage, slippage, STT, exchange charges, SEBI charges, GST మరియు stamp duty ఉంటాయి, gross మరియు net ఫలితాలు పక్కపక్కనే చూపిస్తాయి.
నెలకు కొన్ని వేల రూపాయలు లక్ష్యంగా పెట్టుకున్న strategy కి, ఇది చిన్న round-off తేడా కాదు. Strategy మొత్తం ఇదే. మరింత సమాచారం slippage ని అర్థం చేసుకోవడం లో.
4. ఏమీ ఇవ్వని run కూడా మీకు ఏదో చెబుతోంది
ఒక్క trade కూడా fill కాకుండా backtest పూర్తి కావచ్చు. పాత engine లో, ఇలాంటి runs పూర్తైనట్టు కనిపించేవి, దాంతో పలుచని report ని failure గా కాకుండా బలహీనమైన ఫలితంగా చదివే అవకాశం ఉండేది.
FastBT అలా కాకుండా తిరస్కరిస్తుంది: ఒక run నిజాయితీగా report ఇవ్వలేకపోతే, అది ఆ విషయం చెబుతుంది, credit ఆటోమేటిక్గా refund అవుతుంది. ఇంతకు ముందు report ఇచ్చిన strategy ఇప్పుడు తక్కువ ఫలితాలు ఇస్తే, లేదా తిరస్కరించబడితే, అది engine మరింత నిజాయితీగా ఉండటం, తక్కువ సామర్థ్యం కాదు. పాత report ని కొత్త దానితో పోల్చేటప్పుడు, strategy బలహీనపడింది అని నిర్ణయించే ముందు ముందుగా ఇది చెక్ చేయండి.
5. కొన్ని strategies ని అసలు backtest చేయలేం
మీ strategy బయటి నుంచి వచ్చే signals పై fire అయితే, ఉదాహరణకు TradingView alert, custom webhook లేదా third-party API, replay చేయడానికి ఏమీ ఉండదు. Historical price data ఉంది; మీ signal history లేదు. దాని కోసం మీరు తయారు చేసే ఏ backtest అయినా signal యొక్క ఒక అంచనాను test చేస్తుంది, అసలు signal ని కాదు.
వీటిని Live Offline లో నడిపి validate చేయండి: strategy నడుస్తుంది, ప్రతి trade ని record చేస్తుంది, కానీ exchange కి ఏదీ పంపదు. అసలు trigger దారిని పరీక్షించే ఏకైక environment ఇదే. మీరు TradingView వాడితే, TradingView strategies ని Tradetron కి connect చేయడం చూడండి.
6. Liquidity, partial fills మరియు freeze limits
మీ order fill అవుతుందని backtest అనుకుంటుంది. Live లో అది కొంత భాగమే fill కావచ్చు, ఆలస్యంగా కావచ్చు, లేదా అసలు కాకపోవచ్చు. Far out-of-the-money options పై, volatility మారినప్పుడు strategy ఎంచుకునే illiquid strikes పై, మరియు size పెంచుకుంటూ వెళ్ళే ఏదైనా దానిపై ఇది ఎక్కువ నష్టం చేస్తుంది. Exchange freeze quantity దాటితే, ఒకే order reject అవుతుంది, దాన్ని విభజించాల్సి వస్తుంది, దాంతో మీ average price మరియు timing రెండూ మారతాయి.
Multi-leg positions లో ఇది ఇంకా పెరుగుతుంది. నాలుగు legs structure లో ఒక leg fill కాకపోతే, మీరు test చేసిన strategy ని ఇక నడపడం లేదు; మీరు అనుకోని position పట్టుకుని ఉన్నారు. ఆ పరిస్థితిని మీ strategy handle చేసేలా చూసుకోండి.
7. Broker వైపు వాస్తవం
మీ strategy కి exchange కి మధ్య ఒక broker ఉంటారు, వారికి వారి సొంత failure modes ఉంటాయి: order rejections, margin కొరత, expire అయిన sessions, rate limits మరియు అప్పుడప్పుడు latency. Backtest లో ఇవేవీ ఉండవు; ప్రతి order వెంటనే accept అవుతుంది.
కాబట్టి live ఫలితాల్లో జరగని లేదా ఆలస్యంగా జరిగిన trades కొన్ని ఉంటాయి, అవి సమానంగా పంచబడి ఉండవు. అవి volatile రోజుల్లో గుమిగూడతాయి, అప్పుడు margin చాలా బిగుతుగా, order flow చాలా ఎక్కువగా ఉంటుంది, తరచుగా మీ strategy ఆధారపడేది ఆ రోజులపైనే.
8. Overfitting, look-ahead bias, వాటిని ఎలా గుర్తించాలి
Backtest బాగా కనిపించేవరకు settings మారుస్తూ ఉంటే, మీరు strategy ని చరిత్రలోని ఆ కాలానికి కొంతవరకు fit చేశారు. మూడు సంకేతాలు:
- Trades సంఖ్య. ముప్పై trades పై నిలబడిన ఫలితం, chart వేసుకున్న noise మాత్రమే.
- Regime coverage. ఆరు నెలల trending market ఒక regime ని మాత్రమే test చేస్తుంది.
- Look-ahead bias. Rule fire అయిన క్షణంలో అందుబాటులో లేని సమాచారాన్ని వాడే rule, చాలాసార్లు అదే bar లేదా session లో తర్వాత వచ్చే విలువ. Tradetron లాంటి no-code builder దీన్ని నిర్మాణం ద్వారానే పరిమితం చేస్తుంది, ఎందుకంటే మీరు ఏదైనా code రాయకుండా fixed building blocks తో conditions కూర్చుతారు, కానీ ఇది పూర్తి హామీ కాదు. Repainting indicator, అంటే తర్వాత దాని పాత విలువలు మారే indicator, కూడా ఇదే లక్షణం చూపిస్తుంది.
Backtest అసాధారణంగా శుభ్రంగా కనిపిస్తే, ఏదైనా condition భవిష్యత్తు సమాచారంతో మాత్రమే evaluate అయ్యే అవకాశం ఉందేమో చెక్ చేయండి. తర్వాత test window ని పెంచండి: ఏళ్ల data అందుబాటులో ఉన్నప్పుడు ఆరు నెలలు మాత్రమే test చేయడానికి పెద్ద కారణం లేదు. Overfitting మిమ్మల్ని ఎలా మోసం చేస్తుందో తప్పించుకోవాల్సిన backtesting పొరపాట్లు చూపిస్తుంది.
9. మీ backtest వేరే contract ని వివరిస్తూ ఉండవచ్చు
Contract specifications మారుతాయి. NSE January 2026 series నుంచి index derivative lot sizes ని మార్చింది, NIFTY ని 75 నుంచి 65 కి, BANK NIFTY ని 35 నుంచి 30 కి. Weekly expiries కూడా మారాయి: NSE లో ఇప్పుడు ఒకే weekly index expiry ఉంది (NIFTY, మంగళవారం), BANK NIFTY కి monthly expiries మాత్రమే ఉన్నాయి. పాత కాలాలపై చేసిన backtest రూపాయి లెక్కలను పాత contract sizes పై చూపిస్తుంది, ఇప్పుడు లేని expiries ని trade చేయవచ్చు. Percentage ఫలితాలు స్థూలంగా ఉపయోగపడతాయి; absolute లాభం, నష్టం మరియు drawdown ఉపయోగపడవు. Lot size మార్పు తర్వాత ఏం చెక్ చేయాలి చూడండి.
Coverage ఇప్పుడు అంతకుముందులా పెద్ద పరిమితి కాదు: FastBT, NSE F&O మరియు cash, BSE, MCX, crypto మరియు US markets అంతటా నడుస్తుంది, custom Python మరియు list ఆధారిత strategies కి support ఉంది. పాత engine cover చేయని market కోసం మీరు ఇంతకుముందు ఏదైనా workaround వాడి ఉంటే, ఆ workaround ఇప్పుడు error ని పెంచుతూ ఉండవచ్చు.
తేడాను ఎలా తగ్గించాలి
- Run చేసే ముందు: ఖర్చులు on చేయండి, సాధారణం కంటే నిరాశావాద (pessimistic) slippage అంచనా వాడండి.
- Run చేసే ముందు: strategy కి నష్టం చేయాల్సిన ఒక కాలం వచ్చేవరకు window ని పెంచండి.
- Run చేసిన తర్వాత: అర్థవంతమైన సంఖ్యలో trades వచ్చేంతవరకు Live Offline లో test చేయండి. Rejections, partial fills, ఆలస్యాలు మరియు బయటి signals ని చూపించే ఏకైక step ఇదే.
- Run చేసిన తర్వాత: అతి చిన్న నిజమైన size తో live కి వెళ్ళండి, size పెంచే ముందు live fills ని backtest fills తో trade వారీగా పోల్చండి.
Live strategy ని దాని backtest తో ఎలా పోల్చి సరిచూడాలి
దాదాపు ఎవరూ ఇది చేయరు, కానీ ఇది ఒక అస్పష్టమైన నిరాశను మీరు చర్య తీసుకోగలిగే సంఖ్యగా మారుస్తుంది. అదే కాలానికి మీ backtest report నుంచి trades ని, మీ live trade log ని download చేయండి, తర్వాత ఈ నాలుగు ప్రశ్నలను వరుసగా చూడండి:
| ప్రశ్న | సమాధానం "లేదు" లేదా పెద్దది అయితే | దాని అర్థం |
|---|---|---|
| అవే trades trigger అయ్యాయా? Entry times ని పోల్చండి. | Live లో వేరే లేదా తక్కువ trades వచ్చాయి | ఇది signal లేదా execution సమస్య, ఖర్చుల సమస్య కాదు. ఖర్చులు మార్చినా ఇది సరికాదు |
| Fill తేడా ఎంత? ఒక్కో trade కి సగటు live fill మైనస్ backtest fill. | ఎప్పుడూ ఒకేలా ఉండే gap | ఈ strategy కి అదే మీ నిజమైన slippage. దాన్ని ఖర్చుల్లో పెట్టి మళ్ళీ run చేయండి; సాధారణంగా gap లో ఎక్కువ భాగం ఇక్కడే మూసుకుపోతుంది |
| ఇంకా ఏం మిగిలింది? | చిన్న, స్థిరమైన మిగులు | సాధారణంగా partial fills లేదా strategy ని deploy చేసిన విధానం. చిన్నగా ఉంటే ఊహించిందే |
| Volatility తో పాటు మిగులు పెరుగుతుందా? | Market ఎక్కువగా కదిలిన రోజుల్లో అత్యంత దారుణంగా | Liquidity మరియు broker ప్రభావాలు (కారణాలు 6 మరియు 7). Logic ని తిరగరాయడం ద్వారా కాదు, size మరియు order handling ద్వారా సరిచేయండి |
Report ని చదవడం కోసం, backtesting guide మరియు strategy performance ని ఎలా అంచనా వేయాలి చూడండి. Platform అంతటా ఈ patterns ఎలా కనిపిస్తాయో మా State of Retail Algo Trading in India 2026 report చూపిస్తుంది.
తరచుగా అడిగే ప్రశ్నలు
నా backtest లాభంలో ఉంది కానీ live trading ఎందుకు లాభంలో లేదు?
సాధారణ కారణాలు: లెక్కలోకి తీసుకోని ఖర్చులు, fill price లో తేడాలు, మరియు ఏ simulation కూడా చూపించలేని live ప్రవర్తన, ఉదాహరణకు partial fills, reject అయిన orders. అది slippage అని ఊహించకుండా, ఏది వర్తిస్తుందో తెలుసుకోవడానికి trade వారీగా పోల్చి సరిచూడండి.
Tradetron backtest లో worst price ని అంచనాగా పెట్టవచ్చా?
లేదు. Best price, worst price మరియు bid-ask average అనేవి deploy చేసిన strategy కోసం live order-execution settings, backtest options కావు. బదులుగా slippage ఖర్చు ద్వారా నిరాశావాద fill ని లెక్కించండి.
Backtest లో brokerage మరియు taxes ఉంటాయా?
ఉండవచ్చు. Brokerage, slippage, STT, exchange charges, SEBI charges, GST మరియు stamp duty కవర్ చేసేలా ఖర్చులు set చేయండి, report gross మరియు net ఫలితాలను పక్కపక్కనే చూపిస్తుంది.
నా strategy ఇంతకుముందు కంటే తక్కువ backtest ఫలితాలు ఎందుకు ఇస్తోంది?
FastBT నిజాయితీగా తయారు చేయలేని report ని ఇవ్వడానికి నిరాకరిస్తుంది, ఏ fills లేకుండా పూర్తైనట్టు కనిపించే run ని ఇవ్వకుండా credit ని ఆటోమేటిక్గా refund చేస్తుంది. ఆ సందర్భంలో తక్కువ ఫలితాలు అంటే engine మరింత ఖచ్చితంగా ఉందని అర్థం.
TradingView alerts పై నడిచే strategy ని backtest చేయవచ్చా?
అర్థవంతంగా చేయలేం. బయటి నుంచి trigger అయ్యే strategies, చరిత్రలో ఎప్పుడూ record కాని signals పై fire అవుతాయి, కాబట్టి replay చేయడానికి ఏమీ ఉండదు. బదులుగా వాటిని Live Offline లో test చేయండి.
ఎంత slippage అంచనా వేయాలి?
ఊహించకుండా కొలవండి. Strategy ని చిన్న size తో live లో నడపండి, ప్రతి live fill ని backtest fill తో పోల్చండి, సగటు తేడాను వాడండి.
January 2026 కి ముందటి backtest ఫలితాలు ఇంకా చెల్లుతాయా?
Percentage ఫలితాలు స్థూలంగా ఉపయోగపడతాయి, కానీ రూపాయి లెక్కలు పాత lot sizes ని చూపిస్తాయి, test చేసిన కొన్ని expiries ఇప్పుడు లేవు. Capital size నిర్ణయించడానికి వాటిని వాడే ముందు మళ్ళీ run చేయండి.