Look-ahead Bias वह गलती है जिसमें बाद में उपलब्ध जानकारी किसी पहले के फैसले, मॉडल के प्रशिक्षण या नियम के चुनाव में पहुँच जाती है। महत्त्वपूर्ण यह है कि जानकारी वास्तव में कब जानी जा सकती थी, केवल तालिका में लिखी तारीख नहीं। पहले लिए गए फैसले का परिणाम बाद में मापना अपने आप में गलती नहीं है।
पीटर कंप्यूटर पर जाँचता है कि उसका नियम अतीत में कैसे कारोबार करता। तालिका में पूरी ऐतिहासिक जानकारी पहले से मौजूद है, इसलिए प्रोग्राम भूल से ऐसी बात भी पढ़ सकता है जो पीटर को तब पता नहीं हो सकती थी। QuantConnect इसी तरह Look-ahead Bias समझाता है। हर इनपुट के लिए पूछें: नियम ने जब फैसला लिया, क्या यह जानकारी उपलब्ध थी? केवल दिन की तारीख पर्याप्त नहीं हो सकती। घटना सुबह हुई हो, खबर बाद में छपी हो और कारोबारी तक और भी देर से पहुँची हो सकती है। परीक्षण को यह क्रम मानना चाहिए, केवल पंक्तियों को तारीख के अनुसार लगाना नहीं। [2]
कीमत की एक कैंडल किसी अवधि के शुरुआती और अंतिम भाव, सबसे ऊँचे और नीचे भाव तथा कारोबार की मात्रा का सार देती है। जब तक अवधि चल रही है, उसके अंतिम मान ज्ञात नहीं हैं। इसलिए पीटर उसी कैंडल के अंतिम ऊँचे भाव के आधार पर अवधि की शुरुआत में नहीं खरीद सकता। QuantConnect का इंजन LEAN पूरा हो चुका डेटा EndTime, यानी समाप्ति के समय, के अनुसार देता है। छोटी और लंबी अवधियाँ मिलाते समय हर शृंखला की उपलब्धता अलग जाँचनी होती है। एक पंक्ति आगे खिसकाना तभी मदद करता है जब वह समय-क्षेत्र और देरी समेत वास्तविक उपलब्धता से मेल खाए। [1]
पीटर पिछले महीनों की तारीखों वाले आर्थिक आँकड़े डाउनलोड करता है। लेकिन कुछ संख्याएँ बाद में संशोधित हो चुकी हैं। आज का सुधारा हुआ मान पुराने फैसले में डालना उसे ऐसी जानकारी देना है जो तब मौजूद नहीं थी। इसलिए St. Louis Fed, FRED में आज की नज़र से दिखने वाले अतीत और ALFRED से मिलने वाले ऐतिहासिक संस्करणों में अंतर करता है। ऐसे डेटा के लिए उस समय प्रकाशित संस्करण चाहिए। जिस महीने को मापा गया उसकी तारीख काफी नहीं; दिन की तारीख वाला ऐतिहासिक संस्करण भी यह नहीं बताता कि उसी दिन ठीक कब वह उपलब्ध हुआ। [3]
पीटर पुराना डेटा प्रशिक्षण के लिए और नया डेटा परीक्षण के लिए अलग करता है। लेकिन इनपुट बदलने के लिए फिर पूरी तालिका का औसत निकालता है। भविष्य की जानकारी दूसरे रास्ते से वापस आ गई। इसलिए मशीन लर्निंग लाइब्रेरी scikit-learn के दस्तावेज़ कहते हैं कि डेटा बदलने के तरीके केवल प्रशिक्षण वाले हिस्से से सीखें और फिर परीक्षण वाले हिस्से पर लागू करें। गायब मान भरना और इनपुट चुनना भी जाँचें। सीखने में इस्तेमाल होने वाले परिणामों पर भी ध्यान दें: अभी खुले सौदे का अंतिम नतीजा ज्ञात नहीं है। बाद में उसे आँक सकते हैं, लेकिन उस नतीजे को पहले के प्रशिक्षण में वापस नहीं डाल सकते। [4]
पुरानी कैंडल ऊँचा और नीचा भाव दिखाती है, लेकिन अकेले उससे वास्तविक सौदों का पूरा क्रम नहीं मिलता। इसलिए TradingView बताता है कि उसका सिमुलेटर कैंडल के भीतर कीमत की चाल के बारे में क्या मान्यताएँ रखता है। पीटर को संकेत बनना, ऑर्डर भेजना और उसके संभव निष्पादन का समय अलग समझना चाहिए। बाद में पता चले उच्चतम भाव पर बेचना केवल इसलिए उस समय उपलब्ध नियम नहीं बन जाता कि सिमुलेशन उस भाव को ढूँढ़ सकता है। भविष्य की जानकारी का रिसाव और बहुत अनुकूल निष्पादन मान लेना अलग गलतियाँ हैं। अधिक बारीक डेटा मदद कर सकता है, पर वास्तविक निष्पादन की गारंटी नहीं देता। [5]
Freqtrade Lookahead Analysis बार-बार किए गए परीक्षणों की तुलना करके इंडिकेटर या संकेतों में बदलाव खोजता है। वह भविष्य की पंक्तियाँ पढ़ने वाली गणना पकड़ सकता है। लेकिन निर्णय की जो शाखा परीक्षण में चली ही नहीं, उसे नहीं जाँच सकता। इसलिए नतीजे के साथ जाँच का दायरा भी जानना चाहिए। दस्तावेज़ गलत चेतावनियों की संभावना भी बताते हैं, जैसे किसी रणनीति का एक बाजार और बाजारों के पूरे समूह पर अलग व्यवहार करना। साफ नतीजा सब कुछ सही होने का प्रमाण नहीं, और मिले अंतर की वजह समझनी होगी। डेटा का मूल जाँचना अभी भी काम का हिस्सा है। [6]
पीटर भविष्य वाला इनपुट हटाता है और शानदार परिणाम बिगड़ जाता है। अब पुराने रिपोर्ट को सुधरे तरीके का परिणाम नहीं कह सकता। मगर सुधार के बाद भी सारी जाँच पूरी नहीं हुई। TradingView, Look-ahead Bias को Overfitting से अलग करता है: नियम उस डेटा की खासियतों से जरूरत से ज्यादा मेल खाने लगता है जिस पर उसे तैयार किया गया था। ऐसा भविष्य की जानकारी के बिना भी हो सकता है। दूसरी ओर, बहुत सरल नियम में भी समय की गलती हो सकती है। पुराने परीक्षण और बाद के प्रदर्शन का अंतर अकेले नहीं बताता कि कौन-सी गलती या बाजार में कौन-सा बदलाव उसका कारण था। [5]
उपयोगी रिकॉर्ड से दोबारा समझ सकें कि पीटर उस समय क्या जानता था: डेटा का संस्करण, नियम, खाते की स्थिति, उपलब्ध इनपुट और भेजे गए ऑर्डर। निष्पादन की मान्यताएँ और खर्च भी जोड़ें। Paper Trading, यानी असली पैसे के बिना अभ्यास के सौदे, चलते हुए रिकॉर्ड दे सकता है, लेकिन सिमुलेशन वास्तविक कारोबार से अलग रहता है। अमेरिकी संगठन National Futures Association (NFA) बताता है कि काल्पनिक परिणामों में तरलता, अपेक्षित और वास्तविक निष्पादन भाव के अंतर तथा नुकसान के दबाव में फैसलों से जुड़ी सीमाएँ हैं; उसके प्रचार-संबंधी नियम तय सदस्यों पर लागू होते हैं। समय की गलती हटाने से अधिक ईमानदार परीक्षण मिलता है, भविष्य के लाभ का वादा नहीं। [7]
जब परीक्षण पहले से जानता हो कि कौन-सी अवधि बढ़ेगी
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Backtesting, Overfitting, Walk-forward Analysis, Survivorship Bias, Paper Trading. इस प्रविष्टि का उल्लेख यहाँ भी है Walk-forward Analysis, Overfitting, Survivorship Bias, On-chain Analysis.
01क्या इंडिकेटर को एक पंक्ति आगे करना काफी है?+
कभी इससे एक खास गलती सुधरती है, लेकिन यह सार्वभौमिक हल नहीं। डेटा देर से प्रकाशित हुआ हो सकता है, बाद में बदला गया हो सकता है या पूरी तालिका की तैयारी में पहले ही इस्तेमाल हुआ हो सकता है। अहम बात हर इनपुट का निर्णय के समय उपलब्ध होना है।
02क्या मूल्यांकन में बाद का परिणाम इस्तेमाल कर सकते हैं?+
हाँ। पुराने अनुमान को आँकने के लिए बाद का परिणाम जानना जरूरी है। गलती तब है जब उस परिणाम को अतीत में वापस ले जाकर पहले के फैसले, प्रशिक्षण या नियम के चुनाव पर असर डालें, जबकि उस समय वह ज्ञात नहीं था।