डेटा को खराब करने के बाद बैकटेस्ट ज़्यादा विश्वसनीय दिख सकता है। बदसूरत प्रिंट हटा दें, खाली अंतरालों में करीने से कीमतें भर दें, और Sharpe बढ़ सकता है। यह बढ़त चेतावनी हो सकती है: सफ़ाई के नियम ने शायद बाज़ार की उन्हीं स्थितियों को मिटा दिया है जिनमें आपकी रणनीति को टिके रहना चाहिए।
डेटा की गुणवत्ता मायने रखती है। एक क्रॉस्ड कोट या दोहराया गया ट्रेड ऐसा फ़िल बना सकता है जो किसी को मिल ही नहीं सकता था। लेकिन असुविधाजनक अवलोकनों को गायब करने वाला फ़िल्टर भी एक मॉडल-चयन है। उस पर भी उतना ही संदेह करें जितना किसी नए सिग्नल फ़ीचर पर करते।
खराब कीमत असल में खराब डेटा कब होती है?
पहले पूछें कि यह अवलोकन किस चीज़ को दर्शाता है। प्रचलित बाज़ार से बहुत दूर का ट्रेड भ्रष्ट रिकॉर्ड हो सकता है, कम तरलता में वास्तविक स्वीप हो सकता है, या किसी खास वेन्यू की घटना हो सकती है। शून्य-वॉल्यूम बार वाली 1-minute कैंडल का मतलब हो सकता है कि कोई ट्रेड नहीं हुआ, जबकि गायब कैंडल का मतलब फ़ीड में गड़बड़ी हो सकती है। इन स्थितियों को अलग-अलग ढंग से संभालना चाहिए।
एक सरल मीन-रिवर्ज़न रणनीति पर विचार करें, जो कीमत छोटी अवधि के मूविंग एवरेज से 1% नीचे गिरने पर खरीदती है और एवरेज पर पहुँचने पर बाहर निकलती है। रात के कम तरलता वाले समय में एक ट्रेड पिछली कीमत से 1.2% नीचे दर्ज होता है, फिर बाज़ार तेज़ी से उछलता है। अगर वह प्रिंट असली है, तो बाज़ार में पहले से रखा लिमिट ऑर्डर भर सकता था। अगर वह खराब टिक है जिसे किसी निष्पादन योग्य कोट ने समर्थन नहीं दिया, तो फ़िल गिनने से बढ़त गढ़ी जाती है।
बार को मिटा देना अपने आप में ज़्यादा सुरक्षित नहीं है। रणनीति का ऑर्डर बाज़ार में तब भी खुला हो सकता था और अगला असली ट्रेड उसे भर सकता था। बचाव योग्य रीप्ले में यह मॉडल होना चाहिए कि रणनीति क्या देख सकती थी और उसके ऑर्डर का किस कीमत पर निष्पादित होना संभव था।
सफ़ाई का नियम नतीजे को कैसे बदलता है?
डेटा के स्पष्ट उपचारों के तहत रणनीति चलाएँ और बदलावों की तुलना करें। मूल स्रोत सुरक्षित रखें और हर हटाव या सुधार का कारण दर्ज करें। फिर बताएँ कि नतीजा इन फ़ैसलों पर कितना निर्भर है।
| डेटा का उपचार | संभावित लाभ | बैकटेस्ट के लिए जोखिम |
|---|---|---|
| दस्तावेज़ित एक्सचेंज त्रुटि-सीमा से बाहर के प्रिंट को हटाएँ | ज्ञात अमान्य रिकॉर्ड को चरम मान तय करने से रोकता है | तेज़ बाज़ार में यह नियम वैध ट्रेड को गलत वर्गीकृत कर सकता है |
| गायब अंतराल में पिछली कीमत आगे बढ़ाएँ | अंतरालों के कारण इंडिकेटर काम करना बंद नहीं करते | ऐसी कीमत बना देता है जिस पर शायद कोई ट्रेड हुआ ही न हो |
| आख़िरी ट्रेड के बजाय समेकित कोट इस्तेमाल करें | दिखाई गई निष्पादन कीमतों की बेहतर तस्वीर देता है | कोट का आकार, वेन्यू तक पहुँच और कतार में आपकी जगह फिर भी मायने रखते हैं |
| सांख्यिकीय सीमा के आधार पर सभी आउटलायर बार हटाएँ | चरम मानों के प्रति संवेदनशीलता घटाता है | उन वास्तविक तनावपूर्ण अवधियों को हटा सकता है जिनमें रणनीति को सबसे ज़्यादा नुकसान होता है |
मान लें कि बिना फ़िल्टर वाले रन का Sharpe 0.9 है, जबकि 0.8% बार हटाने पर यह बढ़कर 1.4 हो जाता है। यह अपने आप में डेटा-गुणवत्ता की जीत नहीं है। जाँचें कि हटाए गए बार अस्थिरता के उछालों के आसपास जमा हैं या नहीं, क्या वे P&L के किसी अहम हिस्से के लिए ज़िम्मेदार हैं, और क्या आपने नतीजा देखने से पहले हटाने का नियम तय किया था।
डेटा अपवादों का एक लेज़र रखें: स्रोत, टाइमस्टैम्प, प्रभावित फ़ील्ड, कार्रवाई का कारण, और यह कि फ़ैसला रणनीति के प्रदर्शन की समीक्षा से पहले लिया गया था या बाद में।
मैं कैसे जाँचूँ कि सफ़ाई ने बढ़त बदल दी?
रणनीति को स्थिर रखें और उन्हीं तारीखों पर कई उचित उपचारों की तुलना करें। जहाँ संभव हो, मूल डेटा का रीप्ले, दस्तावेज़ित सुधारों का सेट और उन अस्पष्ट अवलोकनों के लिए सतर्क निष्पादन परिदृश्य शामिल करें। हर रन के लिए Sharpe के साथ ट्रेडों की संख्या, टर्नओवर, ड्रॉडाउन और प्रभावित अंतरालों से आया P&L योगदान बताएँ।
फिर उन ट्रेडों को देखें जिनमें बदलाव आया। अगर संदिग्ध प्रिंटों के छोटे समूह को हटाने पर रणनीति के सबसे बड़े विजेता गायब हो जाएँ, तो उन रिकॉर्डों को एक-एक करके पढ़ें। अगर नुकसान गायब हों, तो उनकी भी उतनी ही बारीकी से जाँच करें। जिस नियम पर ध्यान सिर्फ़ तभी दिया जाता है जब वह बैकटेस्ट को नुकसान पहुँचाए, वह पहले से ही शोध का काम कर रहा है।
दोहराए जा सकने वाले अध्ययन के लिए विक्रेता की फ़ाइलों या उनके चेकसम, सफ़ाई कोड और अपवाद सूची के संस्करण दर्ज करें। विक्रेता इतिहास में संशोधन कर सकता है; अगली बार आपका रन यह पहचानने लायक होना चाहिए कि रणनीति बदली है या इनपुट।
लेकिन क्या सफ़ाई ज़रूरी नहीं है?
हाँ। साफ़ तौर पर भ्रष्ट रिकॉर्ड रखने से कोई ट्रेड गढ़ा जा सकता है, अस्थिरता बिगड़ सकती है या इंडिकेटर टूट सकता है। और किसी को कच्चे फ़ीड को अंतिम सत्य नहीं मानना चाहिए। व्यावहारिक बात बस इतनी है: सफ़ाई के लिए प्रमाण, तयशुदा नियम और संवेदनशीलता-जाँच चाहिए, क्योंकि इससे यह बदल सकता है कि बैकटेस्ट किस बाज़ार का प्रतिनिधित्व करने का दावा करता है।
जब डेटा सुधार से प्रदर्शन बेहतर हो, तो पूछें कि कौन-सा अवलोकन हटाया गया और क्या इक्विटी कर्व देखे बिना भी आप वही फ़ैसला लेते। अगर जवाब स्पष्ट नहीं है, तो दोनों संस्करण शोध रिकॉर्ड में रखें। उनके बीच का अंतर भी नतीजे का हिस्सा है।
← सभी पोस्ट


