Backtesting क्या है?
Backtesting वह प्रक्रिया है जिसमें एक साफ trading strategy को पुराने data पर लागू किया जाता है। Entry, exit, sizing, costs और समय के rules पहले लिखे जाते हैं। फिर हर signal पर वही rules लगाकर trades का sample बनाया जाता है। इससे पता चलता है कि चुनी गई अवधि में strategy का result, drawdown, win rate और payoff कैसा था।
सीधा जवाब यही है: backtest historical experiment है, forecast नहीं। अच्छा past result future में दोहरने की guarantee नहीं देता। Market structure बदल सकता है, live fills data से अलग हो सकते हैं और छोटी design choices result को बहुत बदल सकती हैं। इसीलिए केवल final return देखना पर्याप्त नहीं है।
भारत में stock, futures या options की testing करते समय instrument के current और historical rules समझना जरूरी है। Lot size, expiry, corporate action, liquidity, charges और margin समय के साथ बदल सकते हैं। Clean data के बिना precise दिखने वाला report भी गलत conclusion दे सकता है।
Backtest शुरू करने से पहले rules लिखें
सबसे पहले strategy को ऐसे वाक्यों में लिखें जिन्हें कोई दूसरा व्यक्ति भी उसी तरह लागू कर सके। Market और timeframe तय करें। Entry condition, exit condition, stop, position size, maximum open positions और unavailable data का treatment लिखें। अगर rule में अच्छे setup या मजबूत trend जैसे अस्पष्ट शब्द हैं, तो test दोहराना मुश्किल होगा।
उस सवाल को एक line में लिखें जिसका answer चाहिए। उदाहरण: क्या इस exact setup ने चुनी अवधि में fees के बाद positive average result दिखाया? यह सवाल किसी indicator को सही साबित करने से बेहतर है, क्योंकि इसमें sample, cost और result की सीमा साफ रहती है।
Rules को result देखने के बाद बार-बार बदलना overfitting का रास्ता है। अगर बदलाव जरूरी हो, तो नया version बनाएँ। पुराने result को मिटाकर नया rule उसी sample पर best दिखाना honest comparison नहीं है। Journal में version, date और बदलाव की वजह रखें।
- Market, symbol universe और timeframe तय करें।
- Entry, exit, stop और sizing rules साफ लिखें।
- Fees, spread और slippage का तरीका पहले चुनें।
- Missing data और corporate actions का treatment दर्ज करें।
- Rule version और test date को result के साथ रखें।
Data को training और out-of-sample हिस्सों में बाँटें
एक common तरीका data का एक हिस्सा rule बनाने के लिए और बाद का अलग हिस्सा जाँच के लिए रखना है। पहले हिस्से को training या in-sample data कहा जाता है। जिस हिस्से को design के दौरान नहीं देखा गया, उसे out-of-sample कहा जाता है। अगर result केवल training data में अच्छा है, तो strategy ने past noise याद किया हो सकता है।
समय क्रम बनाए रखें। Future की जानकारी पुराने trade में नहीं आनी चाहिए। आज पूरा हुआ indicator, बाद में बदला index member या final closing price पुराने समय में पहले से उपलब्ध मान लेना look-ahead bias पैदा करता है। Survivorship bias तब आता है जब test में केवल आज बची कंपनियाँ हों और बंद या हट चुकी कंपनियाँ गायब हों।
एक out-of-sample pass भी पक्की पुष्टि नहीं है। कई ideas test करने के बाद केवल best result चुनने से chance का असर बढ़ता है। CME Group पर प्रकाशित backtesting research multiple testing और data mining के कारण reported performance को सावधानी से पढ़ने की जरूरत बताती है।
Fees, slippage और practical limits जोड़ें
Gross P&L strategy की पूरी तस्वीर नहीं देता। Brokerage, exchange charges, taxes, bid-ask spread और slippage जोड़ें। Frequent strategy में छोटी cost भी बहुत trades पर बड़ा असर बना सकती है। अगर historical bid-ask data उपलब्ध नहीं है, तो assumption साफ लिखें और अलग cost levels पर result देखें।
हर signal पर मनचाही कीमत मिलना realistic नहीं है। Market open, तेज movement और कम liquidity में fill अलग हो सकता है। Position size भी available volume से बड़ी नहीं माननी चाहिए। Options में expiry, strike availability और stale price अलग समस्याएँ लाते हैं।
Sample में zero-trade periods और losing trades रहने दें। केवल उन dates को चुनना जहाँ setup अच्छा दिखा, result को बेहतर बनाता है लेकिन सवाल बदल देता है। Reproducible backtest में data range, filters और excluded trades की वजह दिखाई देती है।
| हिस्सा | क्या दर्ज करें | क्यों जरूरी है |
|---|---|---|
| Rules | Entry, exit, size, version | Test को दोहराने के लिए |
| Data | Source, dates, timeframe | Sample की सीमा समझने के लिए |
| Costs | Fees, spread, slippage | Net result देखने के लिए |
| Sample | Trades और market periods | छोटे sample से बचने के लिए |
| Risk | Drawdown और worst trades | Return के रास्ते को देखने के लिए |
Backtest को live trading journal से कैसे मिलाएँ
Backtest planned behavior दिखाता है। Trading journal actual decisions और fills दिखाता है। दोनों में एक जैसे setup tags, rule version और position-size units रखें। फिर planned signal, skipped trade, manual change और actual cost अलग देखे जा सकते हैं।
Live sample छोटा हो तो जल्दी verdict न दें। पहले data quality जाँचें। क्या सही trades import हुए, fees शामिल हैं और account cash movements P&L से अलग हैं? फिर backtest और live result का difference देखें। Difference execution, changed market, rule break या unrealistic assumption से आ सकता है।
Proloca historical strategy engine या broker नहीं है। यह दर्ज trades के review की जगह है। Backtest किसी अलग tool में हो सकता है, जबकि Proloca में actual trades, screenshots, psychology, account context और notes रखे जा सकते हैं। दोनों को जोड़ने वाला सबसे useful field strategy version है।
Backtesting पर आम सवाल
कितने trades काफी हैं? कोई एक संख्या हर strategy के लिए सही नहीं है। Trade frequency, market regimes, holding period और result distribution देखना जरूरी है। केवल average के साथ trade count, range और extreme results भी रखें।
क्या सबसे अच्छा parameter चुनना चाहिए? कई values test करके केवल winner चुनना overfitting बढ़ा सकता है। पहले logic तय करें, changes का log रखें और unseen data पर check करें। क्या backtest profit की guarantee देता है? नहीं। यह चुने data और assumptions का historical result है। यह educational framework है, व्यक्तिगत financial advice नहीं।
स्रोत और आगे की पढ़ाई
ये स्रोत backtesting limits, simulation और recordkeeping का संदर्भ देते हैं। ये किसी strategy को validate या recommend नहीं करते।
-
CME Group: Backtesting
Multiple tests, data mining और backtest result पर statistical caution बताने वाला research paper।
-
CME Institute: Education and Trading Simulator
Market education, simulation और strategy practice के लिए official CME resources।
-
SEBI Investor: Investor Charter
Risk, fees, account statements और transaction documents समझने तथा सुरक्षित रखने पर भारतीय guidance।