लाइव ट्रेड से पहले बैकटेस्ट करें
बैकटेस्ट क्यों करें
यह कवायद तीन वजहों से अपनी जगह बनाती है, और उनमें से कोई यह साबित करना नहीं कि कोई तरीक़ा पैसा बनाता है।
आप सीखना क्या चाहते हैं, इस पर साफ़ रहना टेस्ट को ईमानदार रखता है, क्योंकि बैकटेस्ट के बिगड़ने के ज़्यादातर रास्ते उससे ऐसा फ़ैसला माँगने से खुलते हैं जो वह दे ही नहीं सकता।
नियम की व्यवहार्यता जाँचना
टेस्ट सबसे पहले यह उजागर करता है कि आपके नियम पूरे हैं या नहीं। उन्हें चार्ट के किसी हिस्से पर एक-एक बार करके लगाना जल्दी ही वे पल सामने ला देता है जहाँ काग़ज़ यह कहता ही नहीं कि क्या करना है, और वही कमियाँ असली नतीजा हैं। जो नियम-सेट मौक़े पर विवेक लगाए बिना लागू न हो सके वह पूरा नहीं है, और यह जानने का इससे सस्ता रास्ता कोई नहीं।
आत्मविश्वास बनाना
किसी अवधि में अपने सेटअप को बार-बार आते देखना आपको असली अंदाज़ा देता है कि वह कितनी बार चलता है, सामान्य घाटे की कड़ी कैसी दिखती है, और दो मौक़ों के बीच आपको कितना इंतज़ार करना होगा। वही जान-पहचान तब मदद करती है जब वैसी ही कड़ी लाइव में आती है, क्योंकि तब वह इस सबूत की तरह नहीं आती कि तरीक़ा टूट गया, बल्कि पहचानी हुई चीज़ की तरह।
एक फ़ायदा और है जो बाद में ही दिखता है। टेस्ट इस बात का लिखित रिकॉर्ड बनाता है कि आपके नियमों ने एक तय दौर में क्या दिया, जिससे आपके पास अपने लाइव नतीजों से मिलाने को कुछ रहता है। उसके बिना निराश करने वाले लाइव महीने को नापने के लिए कुछ नहीं होता और उसे नाकामी मान लिया जाता है। उसके साथ आप कम-से-कम यह पूछ सकते हैं कि लाइव कड़ी उन कड़ियों जैसी दिखती है या नहीं जो टेस्ट में थीं, और यह कहीं ज़्यादा जवाब देने लायक सवाल है।
अंदाज़ा हटाना
जाँचा हुआ नियम-सेट "क्या यह चलता है" वाले सवाल की जगह सँकरा सवाल रख देता है: "क्या यह चला, और क्या हुआ"। दूसरे का जवाब मिल सकता है। पहले का नहीं, और जो ट्रेडर उसी पर अड़ते हैं वे नियमों को तब तक बदलते रहते हैं जब तक जवाब हाँ जैसा न दिखने लगे, और यही वह ख़राबी है जिसका बयान इस पेज पर आगे है।
- पहले पूर्णता। नियमों की कमियाँ ही मुख्य खोज हैं।
- दूसरे नंबर पर बारंबारता। कितनी बार चलता है, यही बाक़ी सब गढ़ता है।
- फ़ैसला मिलता ही नहीं। कोई टेस्ट ईमानदारी से उसे नहीं देता।
बैकटेस्ट अपने नियमों की कमियाँ ढूँढने और यह जानने के लिए करें कि वे कितनी बार चलते हैं, फ़ैसला पाने के लिए नहीं।
ईमानदारी से टेस्ट करें
बैकटेस्ट की बेईमानी जान-बूझकर नहीं, बनावट से आती है: आपको पता है कि आगे क्या हुआ, और यह जानकारी तब तक रिसती रहती है जब तक प्रक्रिया उसे रोक न दे।
तीन आदतें ज़्यादातर रिसाव हटा देती हैं, और उनमें से किसी के लिए सॉफ़्टवेयर नहीं चाहिए।
पर्याप्त सैंपल
इतनी बार कि किसी भी दिशा का सिलसिला नतीजे की व्याख्या न कर सके। वह कितना होगा, यह इस पर निर्भर है कि आपके नियम कितनी बार चलते हैं; हफ़्ते में दो बार आने वाले सेटअप को काम की गिनती तक पहुँचने के लिए लंबी अवधि चाहिए। अगर सैंपल जुटाने में महीने लगें, तो यह नियम-सेट के बारे में जानकारी है, न कि ऐसी दिक़्क़त जिसे टेस्ट छोटा करके हल किया जाए।
आउट-ऑफ़-सैंपल डेटा
नियम एक अवधि पर बनाएँ, उन्हें जमा दें, और बिना बदले उस अवधि पर लगाएँ जिसे आपने बनाते वक़्त देखा ही नहीं था। यही वह क़दम है जो खोज को बयान से अलग करता है, और यही क़दम लगभग हमेशा छोड़ा जाता है क्योंकि नतीजा अक्सर निराश करता है। जो नियम-सेट बनाने वाली अवधि पर चले और अनछुई अवधि पर नहीं, उसे इतिहास पर फ़िट करने के लिए गढ़ा गया है।
यथार्थवादी अनुमान
- बाएँ से दाएँ, एक-एक बार करके चलें। अपनी मौजूदा जगह के दाईं तरफ़ का चार्ट ढक दें।
- दुविधा वाले मामलों को लिया गया दर्ज करें। असली वक़्त में आप उन्हें ले चुके होते।
- वे सेटअप गिनें जो आपसे छूट जाते। सोते हुए, काम पर, स्क्रीन से दूर।
- पेआउट का गणित लगाएँ। उसके बिना जीत की गिनती कुछ नहीं कहती।
- हर बार दर्ज करें, सिर्फ़ दिलचस्प वाले नहीं।
दूसरी बात ही दिखते प्रदर्शन की सबसे ज़्यादा क़ीमत लेती है, और उसे ही थामे रखना सबसे ज़रूरी है। इतिहास पर किया टेस्ट हर सरहद वाले मामले को अपने आप तरीक़े के पक्ष में निपटा देता है, क्योंकि नतीजा सामने दिख रहा होता है। पहले से यह तय कर लेना कि दुविधा ट्रेड गिनी जाएगी, इस झुकाव को हटा देता है और आमतौर पर उस चापलूस नतीजे का अच्छा-ख़ासा हिस्सा भी साथ ले जाता है।
आगे का हिस्सा ढककर एक-एक बार करके, दुविधा को लिया गया गिनते हुए, और जमे नियमों को उस डेटा पर चलाकर जिस पर आपने बनाया नहीं था।
कर्व-फ़िटिंग से बचें
कर्व-फ़िटिंग तब होती है जब नियम-सेट को इतिहास के सामने तब तक सुधारा जाता है कि वह किसी टिकाऊ चीज़ के बजाय उसी इतिहास का बयान बन जाता है।
यह शायद ही धोखे जैसा लगता है। यह निखार जैसा लगता है, और हर अलग बदलाव के पास उस वक़्त एक भरोसेमंद वजह होती है।
बहुत सारे नियम
हर जोड़ी गई शर्त घटा देती है कि पूरा सेट कितनी बार एक साथ मिलता है, जिससे आपका सैंपल सिकुड़ता है और यह मौक़ा बढ़ता है कि जो बचा वह किसी ख़ास दौर का बयान भर है। हर निराश करते टेस्ट के बाद बढ़ने वाला नियम-सेट फ़िट किया जा रहा है, और वह बढ़ना इलाज नहीं, लक्षण है।
ओवर-ऑप्टिमाइज़्ड नतीजे
अजीब तरह से बारीक पैरामीटर मान ही दिखता संकेत हैं: ठीक उन्नीस की लुकबैक, किसी सटीक अंश पर थ्रेशोल्ड। कसाई से निकाले गए मान वे मान हैं जो इसलिए चुने गए कि वे सैंपल पर चले, और बाज़ार के पास उन्हें बाद में मानने की कोई वजह नहीं। गोल, बिना नखरे वाले अंक ठीक-ठाक शुरुआत हैं और वे ज़्यादा शालीनता से बिगड़ते हैं।
यही जाँच सिर्फ़ पैरामीटर पर नहीं, अवधि पर भी लागू होती है। अपने टेस्ट के दौर को आधा-आधा बाँटें और हर आधे को अलग देखें। अगर नतीजा लगभग पूरा एक ही आधे से आता है, तो आपको ऐसा नियम-सेट मिला है जो किसी ख़ास बाज़ार को रास आया, न कि ऐसा जो किसी बर्ताव का बयान करता हो। यह ज़रूरी नहीं कि जानलेवा हो, और यह आपको बता देता है कि लाइव में भरोसा करने से पहले किन हालात पर नज़र रखनी है।
नाज़ुक सिस्टम
मज़बूती की एक काम की जाँच मुफ़्त में मिलती है: हर पैरामीटर को थोड़ा हिलाएँ और दोबारा चलाएँ। अगर छोटे बदलाव से नतीजा ढह जाए, तो नियम-सेट किसी असली बर्ताव का बयान करने के बजाय इतिहास की एक ख़ास तरतीब पर टिका था। रखने लायक नियम-सेट आस-पास के मानों की एक पट्टी में मोटे तौर पर मिलते-जुलते नतीजे देता है।
| संकेत | आमतौर पर इसका मतलब |
|---|---|
| हर ख़राब टेस्ट के बाद जोड़ी गई शर्तें | सैंपल पर फ़िट किया जाना |
| सटीक, असामान्य पैरामीटर मान | तर्क से नहीं, कसाई से निकाले गए |
| छोटे पैरामीटर बदलाव पर ढहता नतीजा | नाज़ुक; किसी असली बर्ताव का बयान नहीं |
| नतीजों के बिना नियम सही नहीं ठहराए जा सकते | रटना, तरीक़ा नहीं |
हर पैरामीटर हिलाकर दोबारा चलाएँ। जो नतीजा ढह जाए वह इतिहास में मिला नहीं, उस पर फ़िट किया गया था।
सीमाएँ जानें
टेस्ट उस चीज़ का बयान है जो ऐसे हालात में हो चुकी जो अब शायद लागू न हों, और कितनी भी कड़ाई इसे नहीं बदलती।
नीचे दी सीमाएँ आपके तरीक़े की ख़राबियाँ नहीं हैं। ये बीते वक़्त के सामने कुछ भी जाँचने के गुण हैं।
बीता कल भविष्य नहीं
इसे थामने का सबसे साफ़ तरीक़ा: आपका नतीजा बताता है कि नियम इतिहास के एक हिस्से से मेल खाए। उस मेल के पीछे का बर्ताव बना रहेगा या नहीं, यह अलग सवाल है, जिसका जवाब पहले से नहीं मिलता, और इसीलिए समीक्षा-कार्यक्रम और रुकने की शर्तें मौजूद हैं। अच्छे टेस्ट की कोई बात इन दोनों की ज़रूरत नहीं हटाती।
रिजीम बदलाव
बाज़ार ट्रेंडिंग और रेंजिंग हालत के बीच खिसकते हैं, भागीदारी बदलती है, और वोलैटिलिटी की हालतें आती-जाती हैं। जिस अवधि में सिर्फ़ एक ही हालत थी उस पर जाँचा गया नियम-सेट एक ही हालत के सामने जाँचा गया है, चाहे वह अवधि कितनी भी लंबी रही हो। ऐसे दौर पर टेस्ट करना जिसमें साफ़ तौर पर एक से ज़्यादा हालत हो, अतिरिक्त मेहनत के लायक है और अक्सर तस्वीर काफ़ी बदल देता है।
डेटा की गुणवत्ता का भी छोटा-सा ज़िक्र बनता है। अलग-अलग स्रोतों के चार्ट हमेशा ठीक-ठीक एक जैसे नहीं होते, ख़ासकर छोटे दायरों पर, और जिन इंस्ट्रूमेंट के भाव एक्सचेंज पर नहीं बल्कि बताए हुए होते हैं उनमें एक अनजान पहलू और जुड़ जाता है क्योंकि उनके लिए कोई तरीक़ा छापा नहीं जाता। इससे टेस्ट बेमानी नहीं हो जाता; इसका मतलब है कि जो नतीजा सटीक स्तरों या हूबहू कैंडल-आकारों पर टिका है वह दिखने से कम ठोस चीज़ पर खड़ा है।
लाइव एग्ज़िक्यूशन के अंतर
टेस्ट और लाइव का फ़ासला उन चीज़ों से आता है जो टेस्ट में समा ही नहीं सकतीं: झिझक का पल, वह सेटअप जो इसलिए छूटा कि आप कहीं और थे, वह ट्रेड जो आपने लिया पर जो पूरी तरह आपका सेटअप था नहीं। ये सब बर्ताव की बातें हैं, इनमें से कोई इतिहास पर चलाए टेस्ट में नहीं आती, और मिलकर ये आमतौर पर किसी भी बाज़ार-बदलाव से ज़्यादा फ़र्क़ की वजह बनती हैं। इसीलिए प्रैक्टिस अकाउंट पर आगे की ओर टेस्ट करना इतिहास पर चलाए टेस्ट से कम नहीं: आप जमे हुए नियमों को वर्चुअल फ़ंड पर आगे की ओर टेस्ट करें और जान सकते हैं कि वही नियम तब कैसा बर्ताव करते हैं जब उन्हें लगाने वाले आप हों।
टेस्ट कहता है कि नियम किसी इतिहास से मेल खाए। आगे की ओर किया टेस्ट कहता है कि आप उन्हें लगा पाते हैं या नहीं।
बैकटेस्ट की सीख
सही सवाल पूछे जाने पर यह कवायद समय के लायक है और ग़लत सवाल पूछे जाने पर गुमराह करती है।
पैसा जोखिम में डालने से पहले टेस्ट
कोई पैसा शामिल होने से पहले अपने नियमों को बीते डेटा पर ईमानदारी से चलाना आपको बता देगा कि नियम पूरे हैं या नहीं, वे कितनी बार चलते हैं और सामान्य घाटे का दौर कैसा दिखता है। तीनों पहले से जान लेने लायक हैं, और तीनों बैलेंस पर सीखने से सस्ते चार्ट पर पड़ते हैं।
ईमानदार रहें
यह ईमानदारी नैतिक नहीं, कार्यविधि की है: चार्ट ढकें, दुविधा को लिया गया गिनें, अनछुई अवधि पर चलाने से पहले नियम जमा दें, और हर बार दर्ज करें। इनमें से हर एक नतीजे को चापलूस बनाने का एक ख़ास रास्ता बंद करता है, और हर एक दिखते प्रदर्शन की क़ीमत लेता है, और ठीक इसीलिए वे काम करते हैं।
- अनछुए डेटा पर जमे हुए नियम। टेस्ट का इकलौता हिस्सा जिसमें जानकारी है।
- गोल पैरामीटर, कम शर्तें। फ़िट किया जाना सटीकता में दिखता है।
- मज़बूती की जाँच। किसी पर भरोसा करने से पहले हिलाएँ और दोबारा चलाएँ।
- बाद में आगे की ओर टेस्ट। बर्ताव वाले सवाल का जवाब आगे से ही मिलता है।
कोई टेस्ट मुनाफ़े की गारंटी नहीं
यहाँ कोई आँकड़े नहीं आते, क्योंकि इस डेस्क ने कुछ भी बैकटेस्ट नहीं किया और उसके पास कोई अकाउंट नहीं है। बनावट के स्तर पर इतना कहा जा सकता है कि इतिहास पर मिला नतीजा बीते वक़्त के बारे में एक बयान है और आने वाले वक़्त के बारे में सिर्फ़ एक मान्यता के सहारे दावा, और वही मान्यता है जिसके लिए समीक्षा-कार्यक्रम और रुकने की शर्तें होती हैं। टेस्ट को एक इनपुट मानें, जो उसमें से बचे उसे आगे की ओर टेस्ट करें, और तय करने का काम अपने लाइव रिकॉर्ड पर छोड़ें।
टेस्ट दायरा छोटा करता है। तय आपका आगे का रिकॉर्ड करता है, और ईमानदारी से कुछ और कर भी नहीं सकता।
इस सेटअप पर पाठक क्या पूछते हैं
बिना किसी ख़ास टूल के बैकटेस्ट कैसे करूँ?
चार्ट खोलें, किसी शुरुआती बिंदु तक पीछे जाएँ, उसके दाईं तरफ़ का सब कुछ ढक दें, और अपने लिखे नियम लगाते हुए एक-एक कैंडल आगे बढ़ें। हर बार दर्ज करें, दुविधा वाले मामले भी। यह धीमा है और ईमानदार है, और यही धीमापन आपको अनजाने में ऐसी जानकारी इस्तेमाल करने से रोकता है जो बाज़ार ने तब तक पैदा ही नहीं की थी।
आउट-ऑफ़-सैंपल टेस्टिंग क्या है?
आप नियम एक अवधि पर बनाते हैं, फिर उन्हें जमा देते हैं और बिना बदले ऐसी अलग अवधि पर लगाते हैं जिसे आपने बनाते वक़्त कभी देखा ही नहीं। यह इसलिए मायने रखता है कि किसी भी नियम-सेट को उसी इतिहास के सामने अनंत बार सुधारा जा सकता है जिस पर वह गढ़ा गया, इसलिए अनछुई अवधि ही इस कवायद का इकलौता हिस्सा है जिसमें जानकारी है। यही वह क़दम भी है जो सबसे ज़्यादा छोड़ा जाता है, क्योंकि नतीजा अक्सर निराश करता है।
काम के टेस्ट के लिए कितना डेटा चाहिए?
इतनी बार कि किसी भी दिशा का सिलसिला नतीजे की व्याख्या न कर सके, और यह पूरी तरह इस पर निर्भर है कि आपके नियम कितनी बार चलते हैं। हफ़्ते में दो बार आने वाले सेटअप को काम की गिनती तक पहुँचने के लिए लंबी अवधि चाहिए। अगर सैंपल जुटाने में महीने लगें, तो उसे टेस्ट छोटा करने की वजह नहीं, नियम-सेट के बारे में जानकारी मानें।
बैकटेस्ट की गई रणनीतियाँ लाइव में क्यों नाकाम होती हैं?
आमतौर पर बाज़ार की नहीं, बर्ताव की वजहों से। इतिहास पर चलाए टेस्ट में न वह झिझक होती है, न वे सेटअप जो स्क्रीन से दूर रहते हुए आपसे छूटे, और न वे ट्रेड जो लगभग आपके सेटअप थे। वह टेस्ट की अवधि के बाद हालात के बदलाव को भी शामिल नहीं कर सकता। जमे हुए नियमों को प्रैक्टिस अकाउंट पर आगे की ओर टेस्ट करना ही बर्ताव वाला आधा हिस्सा सामने लाता है।