हर strategy सुनने में बढ़िया लगती है। “20 दिन का high टूटे तो खरीदो” — यह नियम किसी वीडियो में कमाल दिखता है। पर असली सवाल यह है कि पिछले कुछ सालों में यह नियम आपके चार्ट पर चलता तो क्या होता? इसी जांच को Backtesting कहते हैं।
अच्छी बात यह है कि इसके लिए Python या किसी भी तरह की coding नहीं चाहिए। एक चार्ट, एक Google Sheet और थोड़ा धैर्य काफी है। इस पोस्ट में हम तीन आसान तरीके देखेंगे, एक पूरा worked example हल करेंगे, और वे जाल समझेंगे जिनकी वजह से backtest आपको झूठा भरोसा दे देता है।
| Key Takeaways Backtesting का मतलब है अपना नियम पुराने चार्ट पर आज़माकर देखना कि वह कैसा चलता।बिना coding के तीन तरीके हैं: TradingView का Bar Replay, Google Sheet में Manual log, और Streak जैसे rule-based tools।नियम पूरी तरह साफ़ होना चाहिए। “ठीक लगे तो खरीदो” जैसा नियम backtest हो ही नहीं सकता।कम से कम 50 से 100 trades का sample चाहिए। 20 trades पर भरोसा करना जल्दबाज़ी है।Brokerage, STT और slippage जोड़े बिना नतीजा झूठा निकलता है।Backtest पास होने का मतलब कमाई की गारंटी नहीं है। इसके बाद छोटे size में forward test ज़रूरी है। |
| सीधा जवाब अपने entry, stop-loss और target के नियम लिखिए। फिर पुराने चार्ट पर एक-एक candle आगे बढ़ाते हुए हर trade को Sheet में दर्ज कीजिए। अंत में win rate, औसत profit-loss और drawdown निकालिए। बिना coding के यह काम TradingView के Bar Replay और एक Google Sheet से हो जाता है। |
Backtesting क्या है, और क्या नहीं
Backtesting आपके नियम का पुराना रिज़ल्ट-कार्ड है। यह बताता है कि नियम बीते समय में कितनी बार जीता, कितनी बार हारा और सबसे बुरे दौर में कितना नुकसान हुआ।
एक बात शुरू में ही समझ लीजिए। Backtest यह साबित नहीं करता कि strategy आगे कमाएगी। वह ज़्यादातर यह साबित करता है कि कोई strategy बेकार है। यानी यह एक छलनी है, जो कमज़ोर विचारों को असली पैसा लगने से पहले छांट देती है।
| Backtesting | Forward Testing | Live Trading | |
| डेटा | पुराना चार्ट | आज का नया बाज़ार | आज का नया बाज़ार |
| पैसे का जोखिम | कोई नहीं | नहीं या बहुत कम | पूरा |
| मकसद | नियम की जांच | भावनाओं और असली अमल की जांच | कमाई |
बिना Coding के तीन तरीके — एक नज़र में
| तरीका | कैसे काम करता है | सबसे अच्छा किसके लिए | सीमा |
| TradingView Bar Replay | चार्ट पर एक-एक candle आगे बढ़ाकर trade खुद दर्ज करना | शुरुआत करने वाले, price action और pattern वाले नियम | नतीजा हाथ से लिखना पड़ता है; intraday history कम |
| Google Sheet में Manual log | हर trade की entry, SL, exit लिखकर formulas से नतीजा निकालना | हर कोई, चाहे कोई भी तरीका अपनाएं | अनुशासन चाहिए; आंकड़े सही भरना आपकी ज़िम्मेदारी |
| Streak जैसे rule-based tools | indicator और शर्तें चुनिए, tool खुद पुराने डेटा पर चलाता है | indicator पर टिके नियम | plan और सीमाएं बदलती रहती हैं; options में सीमित |
तरीका 1 — TradingView Bar Replay से Manual Backtest
Bar Replay चार्ट को पुरानी तारीख पर वापस ले जाता है और आगे की candles छुपा देता है। आप उन्हें एक-एक करके खोलते हैं, ठीक वैसे जैसे उस दिन बाज़ार चला था। इससे आप गलती से “आगे का चार्ट देखकर” फैसला नहीं ले पाते, और यही इसकी सबसे बड़ी खूबी है।
- स्टेप 1: TradingView खोलिए और Nifty 50 या कोई स्टॉक चुनकर उसका daily चार्ट लगाइए।
- स्टेप 2: चार्ट के ऊपर वाले पैनल में Bar Replay का बटन (rewind जैसा आइकन) दबाइए।
- स्टेप 3: चार्ट पर माउस घुमाने पर कैंची के साथ एक नीली खड़ी रेखा दिखेगी। जिस पुरानी candle से शुरू करना है, उस पर क्लिक कीजिए।
- स्टेप 4: Forward बटन या कीबोर्ड पर Shift + → दबाकर एक-एक candle आगे बढ़ाइए। Play और Pause के लिए Shift + ↓ चलता है।
- स्टेप 5: जैसे ही आपका नियम पूरा हो, Sheet में लिखिए: तारीख, entry, stop-loss और target।
- स्टेप 6: candle आगे बढ़ाते रहिए जब तक stop-loss या target न लग जाए। फिर नतीजा लिखिए और अगले मौके की तलाश में आगे बढ़िए।
| Bar Replay की सीमाएं — पहले जान लीजिए कितना पीछे जा सकते हैं, यह symbol और timeframe पर निर्भर है। Intraday data की history daily से कम होती है।बहुत पुरानी तारीख चुनने पर “Data point unavailable” का संदेश आ सकता है। तब बड़े timeframe पर शुरू करके नीचे जाइए।Renko, Kagi, Range, Point & Figure और Line Break जैसे चार्ट पर Bar Replay नहीं चलता।Replay के दौरान Paper Trading या broker के orders असली समय के डेटा पर चलते हैं। इसलिए नतीजा आपको खुद Sheet में लिखना होगा।अलग-अलग plan पर limits अलग हो सकती हैं। अपने plan की सीमा TradingView की वेबसाइट पर देख लीजिए। |
तरीका 2 — Google Sheet में Manual Log
चाहे आप Bar Replay इस्तेमाल करें या कोई और तरीका, नतीजे एक Sheet में ही जमा होने चाहिए। नीचे के columns बनाइए:
| Column | क्या लिखें | Formula (पहली trade की पंक्ति 2 मानकर) |
| A: Trade No. | 1, 2, 3… | — |
| B: तारीख | entry की तारीख | — |
| C, D, E | Entry, Stop-loss, Exit कीमत | — |
| F: Result (R में) | जीत +2R, हार −1R जैसा | =(E2-C2)/(C2-D2) |
| G: Cumulative R | अब तक का कुल R | =G1+F2 (पंक्ति 2 में =F2) |
| H: Peak | अब तक का सबसे ऊंचा G | =MAX(H1,G2) |
| I: Drawdown | Peak से कितना नीचे | =G2-H2 |
सबसे नीचे चार नतीजे निकालिए:
- Win rate: =COUNTIF(F2:F101,”>0″)/COUNT(F2:F101)
- Expectancy (हर trade पर औसत R): =AVERAGE(F2:F101)
- सबसे बड़ा Drawdown: =MIN(I2:I101)
- कुल R: =SUM(F2:F101)
R-multiple का मतलब है कि आपने एक trade में जितना जोखिम उठाया (entry से stop-loss तक की दूरी), उसके मुकाबले कितना कमाया या गंवाया। यह समझ पक्की करने के लिए Risk-Reward Ratio वाली पोस्ट पढ़ें। अगर आप पहले से Trading Journal का Free Template इस्तेमाल करते हैं, तो उसी के साथ एक अलग Sheet “Backtest” नाम से जोड़ लीजिए।
तरीका 3 — Streak जैसे No-Code Rule-based Tools
Streak, Zerodha का no-code प्लेटफ़ॉर्म है। Zerodha की अपनी जानकारी के अनुसार इसमें आप बिना कोड लिखे indicators चुनकर entry की शर्तें, stop-loss और target तय करते हैं, कई स्टॉक चुनते हैं, और फिर पुराने डेटा पर नतीजा देखते हैं। इसमें maximum drawdown और औसत profit-loss जैसे आंकड़े भी मिलते हैं।
एक ज़रूरी चेतावनी: Zerodha की यह जानकारी पुरानी है, और tool के plan, कीमत और सीमाएं समय के साथ बदलती रहती हैं। इसलिए इस्तेमाल से पहले Streak की वेबसाइट पर मौजूदा सीमाएं खुद देख लीजिए।
Options के नियम परखने के लिए Opstra, Sensibull और AlgoTest जैसे प्लेटफ़ॉर्म भी हैं। AlgoTest के अप्रैल 2026 के एक तुलना-लेख के अनुसार Sensibull पर पूरा backtesting paid plan में है और Opstra का free tier सीमित है। ध्यान रहे कि यह लेख AlgoTest का अपना है, यानी वह खुद एक प्रतिस्पर्धी है, इसलिए इसे अंतिम सच न मानें। पैसा देने से पहले हर tool का free हिस्सा आज़माइए।
| मेरी सलाह पहले तरीका 1 और 2 से शुरू कीजिए। Tool तब ही लीजिए जब आपका नियम हाथ से परखकर पास हो चुका हो। कमज़ोर विचार को महंगे tool में चलाने से वह मज़बूत नहीं बन जाता। |
Backtest से पहले नियम कैसे लिखें — 5 सवाल
नियम तभी backtest हो सकते हैं जब वे इतने साफ़ हों कि चार्ट देखकर कोई भी उन्हें बिना सोचे लागू कर सके। इन पांच सवालों के जवाब लिख लीजिए:
- Entry ठीक-ठीक कब? (जैसे: 20 दिन के high के ऊपर बंद हुई candle के अगले दिन open पर)
- Stop-loss कहां? (जैसे: पिछली swing low के नीचे)
- Target या exit कब? (जैसे: जोखिम का 2 गुना, यानी 2R)
- हर trade में कितना जोखिम? (जैसे: पूंजी का 1%, Position Sizing वाली पोस्ट देखें)
- कौन-सा instrument और timeframe? कौन से दिन छोड़ने हैं? (जैसे: expiry का दिन, बड़े नतीजों का दिन)
जांच का आसान तरीका: अपना नियम किसी दोस्त को दीजिए और उसी चार्ट पर trade निकालने को कहिए। अगर आपकी और उसकी trades अलग निकलें, तो नियम अभी पक्का नहीं है।
Real Worked Example — 20 Trades का Backtest
| ध्यान दें नीचे के आंकड़े समझाने के लिए बनाए गए काल्पनिक आंकड़े हैं। ये किसी असली backtest के नतीजे नहीं हैं और इस नियम की सिफ़ारिश भी नहीं हैं। असली नतीजे आपको अपने चार्ट पर खुद निकालने होंगे। |
नियम: Nifty 50 के daily चार्ट पर 20 दिन के high के ऊपर बंद हुई candle के अगले दिन खरीदें। Stop-loss पिछली swing low पर, target जोखिम का 2 गुना (2R)। पूंजी ₹2,00,000 और हर trade में 1% जोखिम, यानी 1R = ₹2,000।
स्टेप 1 — 20 trades दर्ज करना। Bar Replay में एक-एक candle बढ़ाते हुए 20 trades मिलीं: 8 में target लगा (+2R) और 12 में stop-loss (−1R)। क्रम और cumulative R नीचे है:
| Trade | नतीजा | R | Cumulative R |
| 1 | जीत | +2R | +2R |
| 2 | हार | −1R | +1R |
| 3 | हार | −1R | 0R |
| 4 | हार | −1R | −1R |
| 5 | जीत | +2R | +1R |
| 6 | हार | −1R | 0R |
| 7 | हार | −1R | −1R |
| 8 | जीत | +2R | +1R |
| 9 | हार | −1R | 0R |
| 10 | हार | −1R | −1R |
| 11 | हार | −1R | −2R |
| 12 | जीत | +2R | 0R |
| 13 | हार | −1R | −1R |
| 14 | जीत | +2R | +1R |
| 15 | जीत | +2R | +3R |
| 16 | हार | −1R | +2R |
| 17 | हार | −1R | +1R |
| 18 | जीत | +2R | +3R |
| 19 | हार | −1R | +2R |
| 20 | जीत | +2R | +4R |
स्टेप 2 — नतीजे निकालना:
| माप | हिसाब | नतीजा |
| Win rate | 8 ÷ 20 | 40% |
| कुल R (costs से पहले) | (8 × 2) − (12 × 1) = 16 − 12 | +4R = ₹8,000 |
| Expectancy प्रति trade | 4R ÷ 20 | +0.2R = ₹400 |
| Profit factor | कुल जीत 16R ÷ कुल हार 12R | 1.33 |
| सबसे लंबी लगातार हार | trade 2–4 और 9–11 | 3 हार |
| सबसे बड़ा Drawdown | +2R (trade 1) से −2R (trade 11) तक | 4R = ₹8,000 = पूंजी का 4% |
स्टेप 3 — Costs जोड़ना। मान लीजिए हर trade पर brokerage, STT, अन्य शुल्क और slippage मिलाकर औसतन ₹200 लगते हैं (यह भी एक अनुमान है, आपका असली खर्च अलग होगा)। 20 trades का खर्च = 20 × ₹200 = ₹4,000, यानी 2R।
कुल R = 4R − 2R = +2R, यानी ₹4,000। Expectancy घटकर 0.1R, यानी ₹200 प्रति trade रह गई। एक छोटे से खर्च ने आधी कमाई खा ली।
स्टेप 4 — नाज़ुकता की जांच। अगर सिर्फ एक trade और हार जाती (7 जीत, 13 हार), तो costs से पहले का नतीजा 14 − 13 = +1R बनता। Costs के 2R घटाने पर यह −1R यानी −₹2,000 हो जाता। एक trade के फ़र्क से strategy कमाऊ से घाटे वाली बन गई।
स्टेप 5 — नतीजा। 20 trades बहुत कम हैं, इसलिए यह नतीजा भरोसे लायक नहीं है। अगला कदम: कम से कम 100 trades, और अलग-अलग दौर (तेज़ी, गिरावट और sideways) में दोबारा जांच।
Backtest के 6 धोखे — जिनसे नतीजा झूठा हो जाता है
| धोखा | क्या होता है | बचाव |
| Look-ahead bias | आगे की candle देखकर फैसला लेना | Bar Replay में एक-एक candle ही आगे बढ़ाएं |
| Cherry picking | सिर्फ़ वही दौर या स्टॉक चुनना जहां नियम चला | तेज़ी, गिरावट और sideways, सभी दौर शामिल करें |
| Overfitting | नियम में इतने बदलाव कि वह सिर्फ़ पुराने डेटा पर फिट बैठे | नियम सादे रखें, और दूसरे समय-अवधि पर भी जांचें |
| Costs भूलना | brokerage, STT और slippage न गिनना | हर trade पर अनुमानित खर्च घटाएं |
| छोटा sample | 20–30 trades पर फैसला | कम से कम 50–100 trades |
| Survivorship bias | सिर्फ़ आज के सफल स्टॉक चुनना, जो गिरकर गायब हो गए उन्हें छोड़ देना | पहले index पर जांचें, या गिरे हुए स्टॉक भी शामिल करें |
एक सातवां फ़र्क भी है जो चार्ट पर नहीं दिखता: backtest में आप हर नियम बिना डरे निभाते हैं। Live में लगातार तीन हार के बाद हाथ कांपते हैं। इसीलिए backtest के बाद forward testing ज़रूरी है।
Backtest के बाद क्या करें — 4 कदम
- कदम 1: 100 trades और कई तरह के दौर में नियम पास हो, तभी आगे बढ़ें।
- कदम 2: एक से दो महीने paper trade करें या बहुत छोटे size (जैसे 0.25% जोखिम) में असली trade करें।
- कदम 3: Backtest और live नतीजों की तुलना Trading Journal में करें। बड़ा फ़र्क दिखे तो वजह ढूंढें।
- कदम 4: पास हुई strategy को अपने Trading Plan में लिखें, और उसके नियम बिना वजह न बदलें।
| Common गलतियां नतीजा खराब आने पर नियम बदलते जाना, जब तक पुराना चार्ट “ठीक” न दिखे। यह जांच नहीं, जुगाड़ है।Backtest सिर्फ़ दिमाग में करना और Sheet में कुछ न लिखना।एक साथ पांच-छह strategies परखना और किसी का भी पूरा रिकॉर्ड न बनाना।20 trades का अच्छा नतीजा देखकर तुरंत असली पैसा लगा देना।Costs को “छोटी चीज़” मानकर छोड़ देना, जबकि ऊपर के उदाहरण में उन्होंने आधी कमाई खा ली।Backtest की जीत को भविष्य की गारंटी मान लेना। |
Quick Glossary
Backtesting — अपने नियम को पुराने डेटा पर आज़माकर नतीजा देखना।
Forward Testing — नियम को असली बाज़ार में बिना पैसे या बहुत कम पैसे के साथ परखना।
R-multiple — जोखिम की एक इकाई। अगर जोखिम ₹2,000 था और कमाई ₹4,000, तो नतीजा +2R।
Expectancy — हर trade से औसतन कितना R कमाने की उम्मीद है।
Drawdown — पूंजी या cumulative R में सबसे ऊंचे बिंदु से सबसे नीचे तक की गिरावट।
Profit Factor — कुल जीत को कुल हार से भाग देने पर मिली संख्या। 1 से ऊपर होना ज़रूरी है।
Overfitting — नियम को पुराने डेटा पर इतना कस देना कि वह नए डेटा पर फेल हो जाए।
Slippage — सोची हुई कीमत और असली execution कीमत का फ़र्क।
| Trader Tip पहले एक ही strategy, एक ही instrument और 50 trades। जब तक वे Sheet में दर्ज न हो जाएं, नया indicator मत जोड़िए। हफ़्ते में एक घंटा भी नियम से देंगे, तो महीने भर में आपके पास अंदाज़ों की जगह आंकड़े होंगे। |
Live जाने से पहले ब्रोकर चुनें
Backtest पास हो जाए और forward test भी ठीक रहे, तब आपको एक भरोसेमंद ब्रोकर चाहिए होगा। नीचे तीन विकल्प हैं: Zerodha, Upstox और Angel One। (Streak, Zerodha का tool है।) ये affiliate links हैं। इनसे खाता खोलने पर हमें कमीशन मिल सकता है, आपको कोई अतिरिक्त शुल्क नहीं देना पड़ता। खाता खोलने से पहले शुल्क और सुविधाएं ख़ुद तुलना कर लें।
यह भी पढ़ें: Position Sizing — एक Trade में कितना पैसा लगाएं | Risk-Reward Ratio कैसे Calculate करें | Trading Journal कैसे बनाएं (Free Template) | Trading Plan कैसे बनाएं (Template के साथ)।
अक्सर पूछे जाने वाले प्रश्न
Backtesting क्या होती है?
अपना trading नियम पुराने चार्ट पर आज़माकर देखना कि वह बीते समय में कितनी बार जीता, कितनी बार हारा और सबसे बुरा दौर कैसा रहा। इससे असली पैसा लगाने से पहले नियम की ताक़त परखी जा सकती है।
क्या बिना coding के backtesting हो सकती है?
हां। TradingView के Bar Replay और एक Google Sheet से manual backtest हो जाता है। Streak जैसे rule-based tools में भी शर्तें चुनकर बिना कोड के नियम परखे जा सकते हैं।
Backtest के लिए कितने trades चाहिए?
कोई एक जादुई संख्या नहीं है, पर 20 बहुत कम हैं। कम से कम 50 से 100 trades का लक्ष्य रखें, और वे तेज़ी, गिरावट व sideways, तीनों तरह के दौर से आएं।
क्या Bar Replay से किया backtest सही माना जाएगा?
अगर आप एक-एक candle आगे बढ़ाएं और हर trade ईमानदारी से दर्ज करें, तो यह एक अच्छा शुरुआती तरीका है। पर इसमें slippage और भावनाएं नहीं दिखतीं, और history की सीमा symbol व timeframe पर निर्भर करती है।
कितना win rate अच्छा माना जाता है?
अकेला win rate कुछ नहीं बताता। 40% win rate के साथ 2R का target कमाऊ हो सकता है, जबकि 70% win rate के साथ छोटे target और बड़े stop-loss घाटे में ले जा सकते हैं। Expectancy और drawdown साथ देखें।
Backtest पास हो गया तो क्या कमाई पक्की है?
नहीं। बाज़ार बदलता है, costs असली होते हैं और live में भावनाएं नियम तोड़वा देती हैं। इसीलिए backtest के बाद छोटे size में forward test करना चाहिए।
Options की backtesting कैसे करें?
Options में premium, IV और expiry के कारण manual backtest कठिन है। इसके लिए Opstra, Sensibull या AlgoTest जैसे tools हैं, पर free plan की सीमाएं देखें और liquidity व costs का असर ज़रूर जोड़ें। पहले equity या index चार्ट पर सादे नियम से अभ्यास करना बेहतर है।
Backtesting और Paper Trading में क्या फ़र्क है?
Backtesting पुराने डेटा पर होती है और कुछ घंटों में सैकड़ों trades परख सकती है। Paper trading आज के लाइव बाज़ार में नकली पैसे से होती है, इसमें समय लगता है, पर भावनाओं का एहसास ज़्यादा असली मिलता है।
| SEBI Disclaimer यह लेख केवल शैक्षणिक उद्देश्य से लिखा गया है, यह निवेश या trading की सलाह नहीं है। उदाहरण के आंकड़े काल्पनिक हैं। Backtest के नतीजे भविष्य की कमाई की गारंटी नहीं देते। शेयर बाज़ार और F&O में पूंजी डूबने का जोखिम है। SEBI के हालिया अध्ययनों के अनुसार लगभग 88 से 91 प्रतिशत individual F&O traders को घाटा हुआ है। कोई भी फैसला लेने से पहले अपनी स्थिति के अनुसार SEBI-registered सलाहकार से परामर्श लें। |
लेखिका के बारे में
सारिता मिश्रा stockmarketpro.co.in पर हिंदी में शेयर बाज़ार, ट्रेडिंग और पर्सनल फ़ाइनेंस की शैक्षणिक सामग्री लिखती हैं। मकसद है जटिल बातों को असली उदाहरणों और आसान भाषा में समझाना।