बैकटेस्टिंग के लिए फॉरेक्स टिक डेटा: स्रोत, क्वालिटी चेक और आम गलतियाँ अक्टूबर 31, 2026 – Posted in: Arbitrage Software, Forex trading

BJF TRADING GROUP · फॉरेक्स बैकटेस्टिंग

बैकटेस्टिंग के लिए फॉरेक्स टिक डेटा: स्रोत, क्वालिटी चेक और आम गलतियाँ

कोई बैकटेस्ट उतना ही ईमानदार हो सकता है जितनी ईमानदार वे कीमतें हैं जो आप उसमें डालते हैं। स्कैल्पिंग, आर्बिट्राज और हर उस रणनीति के लिए जो कुछ ही पिप्स के भीतर काम करती है, एक-मिनट के बार काफ़ी नहीं होते: आपको bid और ask कोट्स का असली क्रम चाहिए। यह गाइड बताती है कि फॉरेक्स टिक डेटा कहाँ से आता है, एक ही पेयर के दो डेटासेट कभी मेल क्यों नहीं खाते, किसी परिणाम पर भरोसा करने से पहले कौन-से क्वालिटी चेक चलाने चाहिए, और कच्चे टिक्स को ऐसे टेस्ट में कैसे बदलें जो लाइव ट्रेडिंग जैसा दिखे।

फॉरेक्स टिक डेटा क्या है

संक्षिप्त उत्तर: फॉरेक्स टिक डेटा किसी करेंसी पेयर में हर कोट बदलाव का रिकॉर्ड है: एक टाइमस्टैम्प (आमतौर पर मिलीसेकंड में), bid प्राइस, ask प्राइस और कभी-कभी हर तरफ़ कोट किया गया वॉल्यूम। बार डेटा, जो हर अवधि का केवल open, high, low और close रखता है, उसके विपरीत टिक डेटा हर प्राइस अपडेट का क्रम, समय और स्प्रेड सुरक्षित रखता है — और शॉर्ट-टर्म रणनीति असल में इसी पर ट्रेड करती है।

एक सामान्य पंक्ति कुछ इस तरह दिखती है:

2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25

यानी समय, bid, ask, और bid तथा ask पर उपलब्ध वॉल्यूम (मिलियन में, अगर स्रोत यह देता है)। इस टिक पर स्प्रेड 0.7 पिप्स है। एक सेकंड बाद पाँच और पंक्तियाँ हो सकती हैं, या एक भी नहीं।

किसी भी चीज़ से पहले एक बात समझना ज़रूरी है: स्पॉट फॉरेक्स मार्केट में कोई केंद्रीय टेप नहीं होता। इक्विटी और फ़्यूचर्स के पास एक एक्सचेंज होता है जो ट्रेड्स का आधिकारिक क्रम प्रकाशित करता है। फॉरेक्स ओवर-द-काउंटर कई बैंकों, ECN और ब्रोकरों के बीच ट्रेड होता है, और हर कोई अपने कोट्स खुद स्ट्रीम करता है। इसलिए हर फॉरेक्स टिक डेटासेट किसी एक वेन्यू या एक एग्रीगेटर का बाज़ार के बारे में नज़रिया है। एक ही पल में दो स्रोत एक पिप के अंश और दसियों मिलीसेकंड से असहमत हो सकते हैं, और दोनों अपने-अपने वेन्यू के लिए सही हो सकते हैं।

यही तथ्य इस गाइड के ज़्यादातर हिस्से की दिशा तय करता है। “क्या यह टिक डेटा सटीक है?” गलत सवाल है। उपयोगी सवाल ये हैं: सटीक किस एक्ज़ीक्यूशन वेन्यू के लिए, रिकॉर्ड कैसे किया गया, और साफ़ कैसे किया गया?

कोट टिक्स बनाम ट्रेड टिक्स

ज़्यादातर फॉरेक्स डेटासेट कोट टिक्स होते हैं: सबसे अच्छे bid या सबसे अच्छे ask में बदलाव। ये ट्रेड नहीं हैं। एक भी सौदे के बिना कोट दस बार बदल सकता है, और कोई बड़ा ट्रेड टॉप ऑफ़ बुक को बिल्कुल भी नहीं बदल सकता। कुछ फ़्यूचर्स-आधारित या एक्सचेंज-ट्रेडेड FX डेटा में ट्रेड टिक्स (अंतिम प्राइस और साइज़) होते हैं, लेकिन स्पॉट फॉरेक्स बैकटेस्टिंग के लिए आपको bid और ask कोट्स चाहिए, क्योंकि आपके ऑर्डर इन्हीं के विरुद्ध भरे जाएँगे: खरीद ask पर, बिक्री bid पर।

टिक डेटा बनाम बार डेटा: इंटरपोलेशन क्या छिपाता है

कई बैकटेस्टिंग टूल जो “हर टिक” टेस्ट करने का दावा करते हैं, रिकॉर्ड किए गए टिक्स का इस्तेमाल करते ही नहीं। वे एक-मिनट के बार लेते हैं और हर बार के अंदर कृत्रिम टिक्स जनरेट करते हैं, आमतौर पर open से high और low तक और फिर close तक एक चिकना रास्ता। परिणाम टिक डेटा जैसा दिखता है, लेकिन उसमें ऐसी कोई जानकारी नहीं होती जो बार में पहले से न हो।

रिकॉर्ड किए गए फॉरेक्स टिक्स की तुलना एक-मिनट के OHLC बार से इंटरपोलेट किए गए कृत्रिम टिक्स से (उदाहरणात्मक)
एक मिनट के अंदर: रिकॉर्ड किए गए bid टिक्स उछलते हैं, रुकते हैं और पलटते हैं; बार के OHLC से जनरेट किए गए टिक्स एक चिकने रास्ते पर चलते हैं और high तथा low का क्रम गढ़ लेते हैं। उदाहरणात्मक डेटा।

यह क्यों मायने रखता है, देखिए। EUR/USD का एक एक-मिनट बार लें: open 1.08500, high 1.08540, low 1.08480, close 1.08520। एक लॉन्ग पोज़ीशन खुली है जिसका टेक-प्रॉफ़िट 1.08530 और स्टॉप-लॉस 1.08485 पर है। दोनों स्तर बार के अंदर हैं। ट्रेड जीता या हारा?

  • अगर low पहले आया, तो स्टॉप 1.08485 पर हिट हुआ और ट्रेड में 1.5 पिप्स का नुकसान हुआ।
  • अगर high पहले आया, तो टेक-प्रॉफ़िट 1.08530 पर हिट हुआ और ट्रेड ने 3 पिप्स कमाए।

बार आपको यह नहीं बता सकता। जनरेटर कोई क्रम चुन लेता है (अक्सर किसी तय नियम से, जैसे “बुलिश बार पहले low पर जाता है”), और बैकटेस्ट पूरे आत्मविश्वास से एक परिणाम दिखाता है जो आंशिक रूप से सिक्का उछालने जैसा है। 100-पिप टारगेट वाली स्विंग रणनीति के लिए यह शायद ही मायने रखता है। जिस रणनीति के टारगेट और स्टॉप एंट्री से कुछ ही पिप्स दूर हों, उसके लिए यह ट्रेड्स के बड़े हिस्से का फ़ैसला करता है।

इंटरपोलेशन उन तीन चीज़ों को भी मिटा देता है जो रिकॉर्ड किए गए टिक्स बचाए रखते हैं:

रणनीति को क्या चाहिए रिकॉर्ड किए गए टिक्स बार से जनरेट किए गए टिक्स
एक मिनट के अंदर high और low का क्रम सटीक नियम से अनुमानित
प्राइस जंप (एक कोट में 1.5-पिप की चाल) मौजूद छोटे-छोटे कदमों में चिकना कर दिया गया
हर कोट पर स्प्रेड मौजूद (bid और ask) आमतौर पर एक फ़िक्स्ड स्प्रेड या प्रति बार एक मान
कोट्स के बीच का समय (शांत बनाम व्यस्त सेकंड) मौजूद बराबर अंतराल पर या गढ़ा हुआ
न्यूज़ और रोलओवर के आसपास कोट गतिविधि मौजूद खो जाती है

लेटेंसी आर्बिट्राज के लिए जंप ही निर्णायक बिंदु हैं: सिग्नल खुद जंप है। एक कृत्रिम रास्ता जो 1.08500 से 1.08515 तक पंद्रह छोटे कदमों में चलता है, कोई सिग्नल पैदा ही नहीं करता, इसलिए जो रणनीति लाइव ट्रेड करती, वह टेस्ट में मृत दिखती है, या पुलबैक खरीदने वाली रणनीति असलियत से बेहतर दिखती है।

फॉरेक्स टिक डेटा कहाँ से आता है

पाँच व्यावहारिक स्रोत हैं। वे लागत, गहराई और, सबसे अहम, इस बात में अलग हैं कि वे उन कीमतों से कितना मेल खाते हैं जिन पर आप असल में ट्रेड करेंगे।

स्रोत आपको क्या मिलता है खूबियाँ सीमाएँ
आपकी अपनी रिकॉर्डिंग (ब्रोकर के API या FIX सेशन के ज़रिए) आपके अकाउंट को मिला हर कोट, आपके लोकल रिसीव टाइम के साथ आपके एक्ज़ीक्यूशन वेन्यू से सटीक मेल; टाइमस्टैम्प और फ़ॉर्मैट आपके नियंत्रण में रिकॉर्डिंग शुरू करने के बाद ही शुरू होता है; स्थिर मशीन चाहिए; कनेक्शन टूटने पर गैप
ब्रोकर हिस्ट्री डाउनलोड ब्रोकर की अपनी फ़ीड से ऐतिहासिक bid/ask आपके वेन्यू के क़रीब; अक्सर कई सालों की हिस्ट्री क्वालिटी अलग-अलग; कुछ ब्रोकर पुराने टिक्स को कम या फ़िल्टर कर देते हैं; टाइमस्टैम्प सर्वर टाइम में हो सकते हैं
मुफ़्त सार्वजनिक आर्काइव (कुछ ECN ब्रोकरों और एग्रीगेटरों द्वारा उपलब्ध, जैसे Dukascopy, TrueFX, HistData.com) मेजर पेयर्स के लिए bid/ask टिक्स, अक्सर 2000 के दशक तक पीछे मुफ़्त, लंबी हिस्ट्री, रिसर्च और रोबस्टनेस टेस्ट के लिए अच्छा किसी एक वेन्यू या एग्रीगेटर का नज़रिया, आपका नहीं; स्प्रेड और कोट फ़्रीक्वेंसी आपके ब्रोकर से अलग; हर स्रोत की टाइम ज़ोन परिपाटी जाँचें
कमर्शियल डेटा वेंडर साफ़ की गई, नॉर्मलाइज़ की गई मल्टी-वेन्यू टिक हिस्ट्री दस्तावेज़ी कार्यप्रणाली, एक जैसे फ़ॉर्मैट, सपोर्ट महँगा; फिर भी आपके ब्रोकर की फ़ीड नहीं
रेफ़रेंस / फ़ास्ट फ़ीड (जैसे London, Tokyo और New York नोड्स से BJF Feed टिक हिस्ट्री) एक तेज़, स्वतंत्र रेफ़रेंस प्राइस स्ट्रीम उन रणनीतियों को टेस्ट करने के लिए ज़रूरी जो धीमी फ़ीड की तुलना तेज़ फ़ीड से करती हैं आर्बिट्राज टेस्ट के लिए इसे ब्रोकर के अपने टिक्स के साथ जोड़ना पड़ता है

व्यावहारिक नियम: रिसर्च के लिए जितनी लंबी साफ़ हिस्ट्री मिल सके उसका इस्तेमाल करें, और अंतिम फ़ैसले के लिए अपने वेन्यू के सबसे क़रीब का डेटा। जो रणनीति सिर्फ़ एक मुफ़्त आर्काइव पर काम करती है और आपके ब्रोकर के रिकॉर्ड किए गए टिक्स पर फ़ेल हो जाती है, वह काम नहीं करती। जो रणनीति यथार्थवादी लागतों के साथ दोनों पर टिकी रहती है, उसने एक सार्थक टेस्ट पास किया है।

अगर आप किसी रणनीति को महीनों तक चलाने की योजना बना रहे हैं, तो अपने ब्रोकर के टिक्स आज से ही रिकॉर्ड करना शुरू करें, रणनीति पूरी होने से पहले ही। अंतिम जाँच के लिए आपकी अपनी फ़ीड के तीन महीने किसी और के दस सालों से ज़्यादा क़ीमती हैं।

आपके ब्रोकर की फ़ीड बनाम रेफ़रेंस फ़ीड

क्योंकि हर वेन्यू अपने कोट्स खुद स्ट्रीम करता है, एक ही पल अलग-अलग जगहों से थोड़ा अलग दिखता है। इन अंतरों की एक संरचना है:

  • प्राइस ऑफ़सेट। लिक्विड घंटों में मिड प्राइस आमतौर पर एक पिप के अंश के भीतर मेल खाते हैं और पतले बाज़ार, रोलओवर और न्यूज़ के आसपास अलग हो जाते हैं।
  • टाइम ऑफ़सेट। जो ब्रोकर लिक्विडिटी प्रोवाइडर्स से कीमतें एग्रीगेट करता है, अपना मार्कअप लगाता है और रिस्क चेक चलाता है, वह अक्सर किसी चाल को तेज़ रेफ़रेंस फ़ीड की तुलना में बाद में दिखाता है। यह देरी कुछ मिलीसेकंड से लेकर कई सौ मिलीसेकंड तक हो सकती है।
  • कोट फ़्रीक्वेंसी। कुछ फ़ीड हर बदलाव भेजती हैं, दूसरी थ्रॉटल करती हैं (उदाहरण के लिए, प्रति सिंबल हर 100 ms में अधिकतम एक अपडेट)। थ्रॉटल की गई फ़ीड में टिक्स कम और जंप बड़े होते हैं।
  • स्प्रेड प्रोफ़ाइल। एक रॉ ECN फ़ीड और मार्कअप वाली रिटेल फ़ीड का औसत स्प्रेड पूरे एक पिप से अलग हो सकता है, और रोलओवर पर इससे कहीं ज़्यादा।
एक ही मिनट के लिए दो फॉरेक्स फ़ीड: रेफ़रेंस फ़ीड ब्रोकर फ़ीड से आगे, समय की देरी के वितरण के साथ (उदाहरणात्मक)
एक ही पेयर, एक ही मिनट, दो फ़ीड। ब्रोकर फ़ीड रेफ़रेंस की चालों को देरी से और कम अपडेट्स के साथ दोहराती है; दाएँ पैनल में उस देरी का वितरण दिखाया गया है। उदाहरणात्मक डेटा, किसी विशेष ब्रोकर का माप नहीं।

ज़्यादातर रणनीतियों के लिए इसका मतलब है कि आपको उसी फ़ीड पर टेस्ट करना चाहिए जिस पर आप ट्रेड करेंगे। लेटेंसी आर्बिट्राज के लिए इसका मतलब और भी गहरा है: रणनीति का एज खुद दो फ़ीड्स के बीच का अंतर है, इसलिए आपको दोनों स्ट्रीम चाहिए, एक ही घड़ी के टाइमस्टैम्प के साथ रिकॉर्ड की गई। किसी एक वेंडर के टिक्स पर आर्बिट्राज रणनीति टेस्ट करना अर्थहीन है। फ़ीड्स की टिक-दर-टिक तुलना कैसे करें, यह हम फॉरेक्स आर्बिट्राज और HFT में टिक तुलना वाले लेख में बताते हैं, और रेफ़रेंस पक्ष का तेज़ होना क्यों ज़रूरी है, यह आर्बिट्राज के लिए फ़ास्ट डेटा फ़ीड की गाइड में।

टाइमस्टैम्प, टाइम ज़ोन और डेलाइट सेविंग

टाइमस्टैम्प की समस्याएँ खराब कीमतों से भी ज़्यादा चुपचाप बैकटेस्ट गलतियाँ पैदा करती हैं। चार बातें जाँचें:

1. डेटा किस टाइम ज़ोन में है?

आम परिपाटियाँ हैं UTC/GMT, US Eastern समय (डेलाइट सेविंग के साथ या बिना) और ब्रोकर का “सर्वर टाइम”, जिसे कई ब्रोकर सर्दियों में GMT+2 और गर्मियों में GMT+3 पर रखते हैं ताकि ट्रेडिंग दिन New York समय के अनुसार 17:00 पर बंद हो। अगर आपकी रणनीति कहती है “London ओपन पर 08:00 बजे ट्रेड करो”, तो एक घंटे का ऑफ़सेट मतलब वह एक अलग मार्केट रेजीम में ट्रेड करती है।

2. क्या डेलाइट सेविंग लागू है, और किसकी?

यूरोप और संयुक्त राज्य अमेरिका अलग-अलग तारीख़ों पर घड़ियाँ बदलते हैं। मार्च में लगभग तीन हफ़्ते और अक्टूबर के अंत व नवंबर की शुरुआत में लगभग एक हफ़्ते के लिए London और New York के बीच का अंतर पाँच की जगह चार घंटे होता है। गलत नियम से बदला गया डेटासेट उन हफ़्तों में सेशन-आधारित लॉजिक को एक घंटा खिसका देता है। यह गलती छोटी, मौसमी और इक्विटी कर्व में पकड़ने में बेहद कठिन होती है।

3. टाइमस्टैम्प कहाँ लिया गया?

एक टिक में वह समय हो सकता है जब वेन्यू ने कोट बनाया, जब वह वेन्यू के सर्वर से निकला, या जब आपकी मशीन ने उसे प्राप्त किया। ट्रेंड रणनीति के लिए यह अंतर मायने नहीं रखता। लेटेंसी-संवेदनशील रणनीतियों के लिए यही पूरा सवाल है: दो फ़ीड्स की तुलना तभी हो सकती है जब दोनों पर एक ही घड़ी का स्टैम्प हो, आदर्श रूप से NTP या PTP से सिंक किया गया आपका अपना रिसीव टाइम।

4. रिज़ॉल्यूशन और क्रम

सेकंड-रिज़ॉल्यूशन टाइमस्टैम्प शॉर्ट-टर्म काम के लिए काफ़ी नहीं हैं: दर्जनों कोट्स एक ही सेकंड साझा कर सकते हैं, और सॉर्ट करने के बाद उनके भीतर का क्रम खो सकता है। मिलीसेकंड (या उससे बारीक) रिज़ॉल्यूशन का इस्तेमाल करें और टाई-ब्रेकर के रूप में फ़ाइल का मूल क्रम बनाए रखें।

किसी डेटासेट पर भरोसा करने से पहले क्वालिटी चेक

कच्चे टिक डेटा में हमेशा गलतियाँ होती हैं। लक्ष्य पूर्णता नहीं है, बल्कि यह जानना है कि डेटा में क्या है और जो टेस्ट को विकृत करेगा उसे हटाना है। ये वे चेक हैं जो हम किसी भी नए डेटासेट को ऑप्टिमाइज़ेशन में इस्तेमाल करने से पहले चलाते हैं:

चेक क्या देखें सामान्य कार्रवाई
क्रमिक समय पीछे जाते टाइमस्टैम्प दोबारा सॉर्ट तभी करें जब कारण पता हो; वरना फ़ाइल को फ़्लैग करें
डुप्लिकेट एक जैसी पंक्तियाँ (वही समय, bid, ask) सटीक डुप्लिकेट हटाएँ; अलग समय वाली दोहराई गई कीमतें रखें
क्रॉस्ड या शून्य स्प्रेड Ask ≤ bid हटाएँ; बार-बार ऐसा होना टूटे हुए स्रोत या मिलाई गई फ़ीड्स की ओर इशारा करता है
असामान्य स्प्रेड ज्ञात घटनाओं के बाहर स्प्रेड, मान लीजिए, घंटे के मीडियन के 10× से ऊपर फ़्लैग करें; रोलओवर या न्यूज़ से मेल खाए तो रखें, अकेला हो तो हटाएँ
प्राइस स्पाइक हाल की वोलैटिलिटी से कई गुना बड़ा मिड जंप जो कुछ टिक्स में पलट जाता है अकेले स्पाइक हटाएँ; असली न्यूज़ चालों को कभी फ़िल्टर न करें
गैप लिक्विड घंटों में 60 सेकंड से ज़्यादा समय तक कोई टिक नहीं गैप्स का नक्शा बनाएँ; उन अवधियों को टेस्ट से बाहर रखें या उनके अंदर के ट्रेड्स को चिह्नित करें
बासी कोट्स वही bid/ask मिनटों तक दोहराया जाता है जबकि दूसरे स्रोत हिलते हैं गैप की तरह बरतें
वीकेंड और छुट्टी के टिक्स शुक्रवार के क्लोज़ और रविवार के ओपन के बीच के कोट्स हटाएँ, या अगर वहाँ पूरा एक घंटा दिखे तो टाइम ज़ोन जाँचें
टिक घनत्व प्रति घंटा टिक्स की तुलना दूसरे दिनों के उसी घंटे से अचानक गिरावट थ्रॉटलिंग या रिकॉर्डिंग की समस्या का संकेत है
प्राइस स्केल और अंक 4-अंकीय बनाम 5-अंकीय कोट्स, 3 दशमलव वाले JPY पेयर्स स्रोतों को मिलाने से पहले नॉर्मलाइज़ करें

स्पाइक के लिए एक सरल, मज़बूत नियम: पिछले 200 टिक्स पर मिड-प्राइस बदलावों का रोलिंग मीडियन एब्सोल्यूट डेविएशन (MAD) निकालें; हर उस टिक को फ़्लैग करें जिसका बदलाव MAD के लगभग 15× से ज़्यादा हो और अगले तीन टिक्स में ज़्यादातर पलट जाए। असली न्यूज़ चाल तीन टिक्स में नहीं पलटती; खराब प्रिंट आमतौर पर पलट जाता है। हर पेयर के लिए थ्रेशोल्ड ट्यून करें और देखें कि आप क्या हटा रहे हैं, क्योंकि ज़रूरत से ज़्यादा उत्साही फ़िल्टर ठीक वही चालें मिटा देता है जिनकी आर्बिट्राज या न्यूज़ रणनीति को ज़रूरत होती है।

लॉग रखें। लिखें कि हर चेक ने हर महीने कितनी पंक्तियाँ हटाईं या फ़्लैग कीं। अगर एक महीने में 8% टिक्स जाते हैं जबकि बाक़ी में 0.1%, तो उस महीने में स्रोत की समस्या है, और उस पर निर्भर कोई भी रणनीति परिणाम संदिग्ध है।

चरण दर चरण: बैकटेस्ट के लिए टिक डेटा तैयार करना

कच्ची फ़ाइलों से सत्यापित बैकटेस्ट डेटासेट तक फॉरेक्स टिक डेटा क्लीनिंग पाइपलाइन
कच्ची फ़ाइलों से ऐसे डेटासेट तक जिस पर आप भरोसा कर सकें: हर चरण या तो किसी ज्ञात समस्या को ठीक करता है या उसे दर्ज करता है।
1
सवाल के अनुसार स्रोत चुनें। रिसर्च और रोबस्टनेस के लिए लंबी मुफ़्त हिस्ट्री; अंतिम जाँच के लिए आपके ब्रोकर के रिकॉर्ड किए गए टिक्स; और अगर रणनीति फ़ीड्स की तुलना करती है तो एक रेफ़रेंस फ़ीड भी।
2
टाइमस्टैम्प नॉर्मलाइज़ करें। सब कुछ मिलीसेकंड रिज़ॉल्यूशन के साथ UTC में बदलें, स्रोत का सही डेलाइट-सेविंग नियम लागू करें, और टाई-ब्रेकर के रूप में मूल क्रम बनाए रखें।
3
कीमतें नॉर्मलाइज़ करें। प्रति सिंबल अंकों की संख्या एक जैसी, bid और ask अलग कॉलम में, और अगर रणनीति स्प्रेड चुकाती है तो केवल-मिड डेटा नहीं।
4
स्पष्ट गलतियाँ हटाएँ। सटीक डुप्लिकेट, क्रॉस्ड या शून्य स्प्रेड, वीकेंड टिक्स, पलटने वाले अकेले स्पाइक।
5
गैप्स और बासी अवधियों का नक्शा बनाएँ। उन्हें गढ़ी हुई कीमतों से भरने की बजाय बाहर रखे गए अंतरालों की सूची के रूप में सहेजें।
6
दूसरे स्रोत से मिलान करें। घंटेवार मिड प्राइस और स्प्रेड की तुलना किसी दूसरे डेटासेट से करें; बड़े और लगातार अंतर स्केल, टाइम ज़ोन या फ़ीड की समस्या दर्शाते हैं।
7
अवधि को बाँटें। कुछ भी ऑप्टिमाइज़ करने से पहले एक आउट-ऑफ़-सैंपल विंडो (उदाहरण के लिए आख़िरी 25%) और एक वॉक-फ़ॉरवर्ड शेड्यूल आरक्षित करें।
8
एक्ज़ीक्यूशन धारणाएँ तय करें। टिक्स से वेरिएबल स्प्रेड, मिलीसेकंड में आपका असली एक्ज़ीक्यूशन टाइम, प्रति लॉट कमीशन। फिर टेस्ट चलाएँ।

वेरिएबल स्प्रेड: वह लागत जिसे फ़िक्स्ड स्प्रेड छिपा देता है

कई टेस्ट एक ही स्प्रेड मान इस्तेमाल करते हैं, जैसे EUR/USD के लिए 0.8 पिप्स। असली स्प्रेड पूरे दिन बदलते रहते हैं: London और New York के ओवरलैप में तंग, एशियाई सेशन में चौड़े, दैनिक रोलओवर और बड़ी रिलीज़ के आसपास कुछ मिनटों के लिए कई पिप्स चौड़े। इसके कारण हमारी गाइड फॉरेक्स स्प्रेड क्यों चौड़े होते हैं में बताए गए हैं।

फ़िक्स्ड स्प्रेड एक व्यवस्थित तरीक़े से गलत होता है, क्योंकि रणनीतियाँ बेतरतीब समय पर ट्रेड नहीं करतीं। ब्रेकआउट रणनीति आमतौर पर तब सक्रिय होती है जब वोलैटिलिटी बढ़ती है, और ठीक तभी स्प्रेड चौड़े होते हैं। शांत एशियाई सेशन में ट्रेड करने वाली मीन-रिवर्ज़न रणनीति को दैनिक औसत से ऊपर के स्प्रेड मिलते हैं। रिकॉर्ड किए गए bid/ask टिक्स के साथ, हर ट्रेड वही स्प्रेड चुकाता है जो उस पल असल में कोट किया गया था।

उदाहरण (उदाहरणात्मक आँकड़े)। एक स्कैल्पिंग रणनीति EUR/USD पर 1 स्टैंडर्ड लॉट (लगभग $10 प्रति पिप) के साथ महीने में 400 राउंड ट्रिप करती है।

0.8 पिपटेस्ट में फ़िक्स्ड स्प्रेड400 ट्रेड × 0.8 × $10 = स्प्रेड लागत में प्रति माह $3,200
1.1 पिपअसल में चुकाया गया औसत स्प्रेडरणनीति वोलैटाइल मिनटों में ज़्यादा ट्रेड करती है: 400 × 1.1 × $10 = $4,400
$1,200मासिक लागत जो टेस्ट से छूट गईप्रति लॉट; अगर ग्रॉस एज प्रति ट्रेड 1.5 पिप्स है, तो 0.3-पिप की गलती उसका 20% खा जाती है

1.1-पिप का आँकड़ा तंत्र दिखाने के लिए एक उदाहरण है, किसी ब्रोकर का मापा गया मान नहीं। टिक डेटा में मापें कि आपकी रणनीति के ट्रेड्स को असल में कितना औसत स्प्रेड मिलता है।

डेटा की धारणा परिणाम को कितना बदल देती है

हर धारणा का असर दिखाने के लिए नीचे का चार्ट एक काल्पनिक शॉर्ट-टर्म रणनीति लेता है और केवल डेटा और एक्ज़ीक्यूशन मॉडल बदलता है। आँकड़े उदाहरणात्मक हैं, इस तरह बनाए गए हैं कि वे उन प्रभावों की दिशा और अनुमानित आकार दिखाएँ जो हम बार-आधारित टेस्ट से यथार्थवादी एक्ज़ीक्यूशन वाले टिक-आधारित टेस्ट पर जाते समय नियमित रूप से देखते हैं। ये किसी विशेष रणनीति के परिणाम नहीं हैं।

चार डेटा और एक्ज़ीक्यूशन धारणाओं के तहत एक रणनीति का प्रति ट्रेड औसत शुद्ध परिणाम, इंटरपोलेट किए गए बार से लेकर एक्ज़ीक्यूशन टाइम सहित असली टिक्स तक (उदाहरणात्मक)
हर चरण वास्तविकता का एक हिस्सा जोड़ता है: रिकॉर्ड किए गए टिक्स, वेरिएबल स्प्रेड, फिर एक्ज़ीक्यूशन टाइम। उदाहरणात्मक आँकड़े।

पैटर्न ही मायने रखता है। हर यथार्थवादी धारणा एज का कुछ हिस्सा हटा देती है, और आख़िरी चरण, एक्ज़ीक्यूशन टाइम, शॉर्ट-टर्म रणनीतियों के लिए अक्सर सबसे ज़्यादा हटाता है। अगर कोई रणनीति सकारात्मक परिणाम और ट्रेड्स की समझदार संख्या के साथ चारों चरण पार कर लेती है, तो वह छोटे लाइव टेस्ट के लायक है। अगर वह केवल पहले कॉलम में अच्छी दिखती है, तो एज डेटा मॉडल का है, बाज़ार का नहीं।

टिक्स ज़रूरी हैं, पर पर्याप्त नहीं: एक्ज़ीक्यूशन टाइम

एक परफ़ेक्ट टिक डेटासेट भी आशावादी टेस्ट देता है अगर हर ऑर्डर उसी टिक की कीमत पर भरता है जिसने उसे ट्रिगर किया। लाइव में फ़ैसले और फ़िल के बीच हमेशा देरी होती है: आपका प्लेटफ़ॉर्म, नेटवर्क, ब्रोकर की प्रोसेसिंग। उस देरी में बाज़ार आगे बढ़ जाता है। शांत दिन पर असर एक पिप का अंश होता है; तेज़ चाल पर यही जीतने और हारने वाले ट्रेड का अंतर है।

सही मॉडल आपके एक्ज़ीक्यूशन टाइम के रिक्वेस्ट वाले हिस्से जितना टिक स्ट्रीम में आगे बढ़ता है और उस बाद के पल पर कोट किए गए bid या ask पर फ़िल करता है। इससे स्लिपेज का कोई अंक अनुमान लगाए बिना यथार्थवादी स्लिपेज, सकारात्मक और नकारात्मक दोनों, पैदा होता है। हम इस मॉडल, लेटेंसी के चार घटकों और एक उदाहरण को लेटेंसी आर्बिट्राज बैकटेस्ट में एक्ज़ीक्यूशन टाइम गैप वाले लेख में समझाते हैं, और लाइव फ़िल पर स्लिपेज कैसे मापें, यह फॉरेक्स स्लिपेज की व्याख्या में।

यही सवाल “मेरे लाइव परिणाम बैकटेस्ट से अलग क्यों हैं?” का सबसे आम जवाब भी है। डेटा ठीक था; फ़िल मॉडल ने शून्य देरी मान ली थी। एक अच्छा व्यावहारिक नियम है कि अपने मापे गए एक्ज़ीक्यूशन टाइम पर टेस्ट करें और फिर उस मान के 1.5 से 2 गुना पर भी। जो रणनीति ऊँचे मान पर ढह जाती है, वह नाज़ुक है।

स्टोरेज, फ़ॉर्मैट और हैंडलिंग

टिक डेटा बड़ा होता है, और आपका चुना फ़ॉर्मैट डिस्क स्पेस और ऑप्टिमाइज़र के उसे दोबारा चलाने की गति, दोनों पर असर डालता है। एक सक्रिय मेजर पेयर के लिए मोटा अनुमान:

~39 Mप्रति वर्ष टिक्सलगभग 150,000 कोट्स प्रति ट्रेडिंग दिन × 260 दिन पर (व्यस्त फ़ीड ज़्यादा भेजती हैं, थ्रॉटल की गई फ़ीड कम)
~2 GBCSV टेक्स्ट के रूप मेंपूरी तारीख़-समय स्ट्रिंग, bid और ask के साथ प्रति पंक्ति लगभग 50 बाइट
~0.6 GBकॉम्पैक्ट बाइनरी के रूप में8-बाइट टाइमस्टैम्प + पॉइंट्स में दो 4-बाइट इंटीजर कीमतें = प्रति टिक 16 बाइट, कम्प्रेशन से पहले

परिमाण-क्रम के अनुमान। कम्प्रेस्ड कॉलमनार फ़ॉर्मैट आमतौर पर टिक फ़ाइलों को कई गुना और छोटा कर देते हैं।

  • कीमतें पॉइंट्स में इंटीजर के रूप में सहेजें (1.08512 → 108512)। इससे कीमतों की तुलना करते समय फ़्लोटिंग-पॉइंट राउंडिंग से बचा जाता है और साइज़ आधा हो जाता है।
  • सिंबल और दिन के अनुसार बाँटें। प्रति सिंबल प्रति दिन एक फ़ाइल से गैप चेक, आंशिक रीलोड और पैरेलल ऑप्टिमाइज़ेशन आसान हो जाते हैं।
  • कच्ची फ़ाइलों को अछूता रखें। एक अलग डेटासेट में साफ़ करें और क्लीनिंग लॉग रखें, ताकि आप कोई भी परिणाम दोबारा बना सकें।
  • आदान-प्रदान के लिए CSV रखें। टाइमस्टैम्प, bid और ask वाला सादा फ़ॉर्मैट वही है जिसे ज़्यादातर टूल इम्पोर्ट करते हैं। उदाहरण के लिए, SharpTrader Optimizer आपका अपना टिक डेटा टाइमस्टैम्प, bid और ask वाली CSV के रूप में स्वीकार करता है।

आम गलतियाँ

  • इंटरपोलेट किए गए बार को “टिक डेटा” कहना। जाँचें कि आपका टूल रिकॉर्ड किए गए कोट्स दोबारा चलाता है या उन्हें बार से जनरेट करता है।
  • मिड प्राइस पर टेस्ट करना। केवल-मिड डेटासेट स्प्रेड को पूरी तरह नज़रअंदाज़ करता है; लागतें bid और ask से आनी चाहिए।
  • एक टेस्ट में स्रोतों को मिलाना। दो वेंडरों की फ़ाइलें जोड़ने से जोड़ पर कृत्रिम जंप और एक ही अवधि में अलग-अलग स्प्रेड रेजीम बन जाते हैं।
  • टाइम ज़ोन और DST को नज़रअंदाज़ करना। सेशन फ़िल्टर और दैनिक रोलओवर लॉजिक चुपचाप खिसक जाते हैं।
  • गैप्स को गढ़ी हुई कीमतों से भरना। कोई रणनीति ऐसे आउटेज के दौरान “ट्रेड” कर सकती है जिसमें कभी असली कोट्स थे ही नहीं। इसकी बजाय गैप्स को बाहर रखें।
  • ज़रूरत से ज़्यादा सफ़ाई। हर बड़ी चाल हटाने से वे न्यूज़ स्पाइक और जंप मिट जाते हैं जिन पर ट्रेड करने के लिए कुछ रणनीतियाँ बनी हैं।
  • ज़ीरो-लेटेंसी फ़िल। सिग्नल टिक पर परफ़ेक्ट फ़िल लगभग किसी भी शॉर्ट-टर्म रणनीति को मुनाफ़े वाली दिखा देते हैं।
  • सारे डेटा पर ऑप्टिमाइज़ करना। आउट-ऑफ़-सैंपल अवधि और वॉक-फ़ॉरवर्ड चेक के बिना, एक बड़ा पैरामीटर ग्रिड ऐसा कर्व ढूँढ लेगा जो अतीत में फ़िट हो और कुछ नहीं।

SharpTrader Optimizer में टिक डेटा

हमने SharpTrader Optimizer को इस गाइड के बिंदुओं के इर्द-गिर्द बनाया है। यह इंटरपोलेट किए गए बार की बजाय असली ऐतिहासिक bid/ask टिक्स दोबारा चलाता है, हर टिक से स्प्रेड लेता है, और आपको मिलीसेकंड में अपना ऑर्डर एक्ज़ीक्यूशन टाइम सेट करने देता है ताकि हर फ़िल उस देरी के बाद टिक स्ट्रीम से आए। आप London, Tokyo और New York नोड्स पर रिकॉर्ड की गई BJF Feed टिक हिस्ट्री इस्तेमाल कर सकते हैं, या अपने ब्रोकर के टिक्स CSV के रूप में इम्पोर्ट कर सकते हैं। पैरामीटर ग्रिड सभी CPU कोर पर चलते हैं, जो तब मायने रखता है जब एक पेयर का एक साल दसियों मिलियन टिक्स का होता है।

अगर आपके पास पहले से अपनी कोई रणनीति है, तो SharpTrader में अपना बॉट टेस्ट करने वाला लेख कोड से टिक-स्तरीय ऑप्टिमाइज़ेशन तक पूरा वर्कफ़्लो दिखाता है।

उन टिक्स पर टेस्ट करें जो आपकी रणनीति को असल में मिलेंगे

असली bid/ask टिक्स, हर कोट पर वेरिएबल स्प्रेड और मिलीसेकंड में आपके ब्रोकर का एक्ज़ीक्यूशन टाइम: ये तीन इनपुट तय करते हैं कि कोई शॉर्ट-टर्म रणनीति लाइव ट्रेडिंग में टिक पाएगी या नहीं।

SharpTrader Optimizer देखेंपढ़ें: एक्ज़ीक्यूशन टाइम गैप

मुफ़्त आर्बिट्राज स्कैनर + छोटा ईमेल कोर्स

मुफ़्त स्कैनर का लिंक और Boris के कुछ छोटे, व्यावहारिक ईमेल पाएँ: लागत के बाद प्राइस गैप का असली मतलब क्या है, असली पैसा लगाने से पहले रणनीति कैसे टेस्ट करें, और आपके मार्केट के लिए कौन-से टूल सही हैं। कोई हाइप नहीं। ईमेल अंग्रेज़ी में भेजे जाते हैं।

सबमिट करके आप आर्बिट्राज टूल और ट्रेडिंग सॉफ़्टवेयर के बारे में BJF Trading Group से ईमेल प्राप्त करने के लिए सहमत होते हैं। आप कभी भी अनसब्सक्राइब कर सकते हैं। हमारी गोपनीयता नीति देखें।

अक्सर पूछे जाने वाले प्रश्न

फॉरेक्स टिक डेटा क्या है?

फॉरेक्स टिक डेटा किसी करेंसी पेयर में हर कोट बदलाव का रिकॉर्ड है, जिसमें टाइमस्टैम्प, bid प्राइस, ask प्राइस और कभी-कभी कोट किया गया वॉल्यूम होता है। यह प्राइस अपडेट्स का सटीक क्रम, समय और स्प्रेड बनाए रखता है, जो बार डेटा में खो जाते हैं।

मुफ़्त फॉरेक्स टिक डेटा कहाँ से मिल सकता है?

कुछ ECN ब्रोकर और एग्रीगेटर मेजर पेयर्स के लिए मुफ़्त ऐतिहासिक bid/ask टिक्स प्रकाशित करते हैं, और कई ब्रोकर आपको अपनी हिस्ट्री डाउनलोड करने देते हैं। मुफ़्त आर्काइव रिसर्च के लिए उपयोगी हैं, लेकिन वे एक ही वेन्यू की कीमतें दिखाते हैं, इसलिए अंतिम परिणाम की पुष्टि अपने ब्रोकर के रिकॉर्ड किए गए टिक्स पर करें।

क्या बैकटेस्टिंग के लिए टिक डेटा 1-मिनट डेटा से बेहतर है?

कुछ ही पिप्स के भीतर टारगेट और स्टॉप वाली रणनीतियों — स्कैल्पिंग, न्यूज़ ट्रेडिंग और आर्बिट्राज — के लिए हाँ: एक-मिनट के बार high और low का क्रम, प्राइस जंप और असली स्प्रेड छिपा देते हैं। चौड़े स्टॉप वाली स्विंग रणनीतियों के लिए यथार्थवादी स्प्रेड वाला साफ़ एक-मिनट डेटा अक्सर काफ़ी होता है।

दो डेटा स्रोतों पर मुझे अलग-अलग बैकटेस्ट परिणाम क्यों मिलते हैं?

स्पॉट फॉरेक्स में कोई केंद्रीय टेप नहीं होता, इसलिए हर स्रोत किसी अलग वेन्यू का नज़रिया है। स्प्रेड, कोट फ़्रीक्वेंसी, टाइम ज़ोन, डेलाइट-सेविंग का हैंडलिंग और क्लीनिंग नियम सब अलग होते हैं। कारण खोजने के लिए दोनों डेटासेट के बीच घंटेवार कीमतों और स्प्रेड की तुलना करें, और उस स्रोत पर भरोसा करें जो आपके एक्ज़ीक्यूशन वेन्यू के सबसे क़रीब है।

एक साल के फॉरेक्स टिक डेटा के लिए कितना स्टोरेज चाहिए?

एक सक्रिय मेजर पेयर के लिए, साल में मोटे तौर पर दसियों मिलियन टिक्स: CSV टेक्स्ट के रूप में लगभग 2 GB या कम्प्रेशन से पहले कॉम्पैक्ट बाइनरी फ़ॉर्मैट में लगभग 0.6 GB। कई सालों के कई पेयर्स जल्दी ही दसियों गीगाबाइट तक पहुँच जाते हैं।

मेरा टिक-डेटा बैकटेस्ट परफ़ेक्ट फ़िल क्यों दिखाता है?

क्योंकि टेस्ट हर ऑर्डर को उसी टिक पर भरता है जिसने सिग्नल पैदा किया। असली ऑर्डर को ब्रोकर तक पहुँचने में समय लगता है, और इस बीच कीमत बदल जाती है। टिक स्ट्रीम में आगे बढ़कर और बाद के bid या ask पर फ़िल करके एक्ज़ीक्यूशन टाइम को मॉडल करें, और अपनी मापी गई देरी के 1.5 से 2 गुना पर टेस्ट करें।

क्या मुझे bid और ask दोनों चाहिए, या मिड प्राइस काफ़ी है?

आपको दोनों चाहिए। खरीद ask पर और बिक्री bid पर भरती है, इसलिए स्प्रेड हर ट्रेड पर एक असली लागत है। केवल-मिड डेटासेट यह लागत हटा देता है और शॉर्ट-टर्म रणनीतियों को असलियत से बेहतर दिखाता है।

यह लेख शैक्षिक है और वित्तीय सलाह नहीं है। उदाहरणात्मक के रूप में चिह्नित उदाहरण, चार्ट और आँकड़े किसी विशेष ब्रोकर या रणनीति के माप नहीं हैं; डेटा स्रोत, परिपाटियाँ और लागतें प्रदाताओं के बीच अलग होती हैं और समय के साथ बदलती हैं।