Quantstart विदेशी मुद्रा व्यापार


विदेशी मुद्रा ट्रेडिंग डायरी 3 - विदेशी मुद्रा व्यापार प्रणाली को खोलना विदेशी मुद्रा व्यापार डायरी में आज के प्रवेश में मैं विदेशी मुद्रा व्यापार प्रणाली के लिए दीर्घकालिक योजना पर चर्चा करना चाहता हूं। इसके अलावा मैं यह जानना चाहता हूं कि कैसे गणना करता है कि कैसे मैं Pythons दशमलव डेटा प्रकार का इस्तेमाल करता हूं ताकि गणना को अधिक सटीक बनाया जा सके। इंटरैक्टिव ब्रोकर्स द्वारा प्रदत्त एपीए की तुलना में यह देखने के लिए कि आज तक, हम ओंडाएस्ट एपीआई के साथ प्रयोग कर रहे थे। हमने यह भी देखा कि कैसे एक उचित पोर्टफोलियो प्रतिकृति तत्व को एक उचित घटना-संचालित बैटिंग सिस्टम की ओर पहला कदम के रूप में जोड़ना है। Ive भी दोनों पिछले लेख (1 और 2) पर कुछ सहायक टिप्पणियां थीं, जो बताती है कि आप में से बहुत से कोड को बदलने और खुद को विस्तार देने के लिए उत्सुक हैं विदेशी मुद्रा ट्रेडिंग सिस्टम को खोलना ऊपर उल्लिखित कारणों के लिए मैंने विदेशी मुद्रा व्यापार प्रणाली को खोलने का स्रोत तय करने का निर्णय लिया है। इसका क्या मतलब है इसका मतलब यह है कि सभी वर्तमान और भविष्य के कोड, उदारीकृत एमआईटी ओपन सोर्स लाइसेंस के तहत निशुल्क यूआरएल पर गिथुब संस्करण नियंत्रण वेबसाइट पर उपलब्ध होंगे: githubmhallsmooreqsforex उन लोगों के लिए जिन्होंने पहले git और Github का इस्तेमाल किया है, आप रेपो को क्लोन करने में सक्षम होंगे और अपने खुद के प्रयोजनों के लिए इसे संशोधित करना शुरू करेंगे। क्वांटस्टार्ट स्वचालित विदेशी मुद्रा व्यापार प्रणाली अब एक उदार एमआईटी लाइसेंस के तहत खुला स्रोत है। आप githubmhallsmooreqsforex पर qsforex भंडार के तहत नवीनतम कोड Github पर पा सकते हैं। आप में से जो स्रोत संस्करण नियंत्रण के लिए नए हैं, आप शायद कैसे git (और सामान्य में संस्करण नियंत्रण) शानदार मुक्त ebook प्रो गिट के साथ काम करता है पर पढ़ना चाहते हो जाएगा। स्रोत नियंत्रण के बारे में सीखने में कुछ समय खर्च करना उचित है क्योंकि यदि आप प्रोग्रामिंग और अपडेट करने वाले कार्यक्रमों को बहुत समय व्यतीत करते हैं, तो आपको भविष्य में सिरदर्द की एक बड़ी रकम बचाएगी। उबंटू प्रणाली की त्वरित शुरुआत के लिए जीआईटी स्थापित करना है: आपको तब आवश्यकता होगी qshforex प्रोजेक्ट के लिए एक डायरेक्टरी जीथूब साइट से परियोजना को रहने और क्लोन करती है: इस समय आपको कोड चलाने के लिए एक आभासी वातावरण बनाने की आवश्यकता होगी: फिर आपको आवश्यकताओं को स्थापित करने की आवश्यकता होगी (यह कुछ समय): अंत में आपको अपने पायथन वर्चुअल वातावरण में एक प्रतीकात्मक लिंक बनाने की आवश्यकता होगी ताकि आप अपने कोड में आयात qsforex टाइप कर सकें (और इसे चलाएं): जैसा कि मैंने पिछले प्रविष्टियों में उल्लेख किया है आपको आवश्यक वातावरण चर बनाने की आवश्यकता होगी आपके ओडा प्रमाणन क्रेडेंशियल्स के लिए यह कैसे करें पर निर्देश के लिए कृपया डायरी प्रविष्टि 2 देखें। कृपया रेपो से जुड़े रीडमी पर ध्यान दें, क्योंकि इसमें कोड का उपयोग करने के बारे में अधिसूचना निर्देश, अस्वीकरण और एक वारंटी है। चूंकि सॉफ़्टवेयर अल्फा मोड में है, इसलिए ये निर्देश समय के आगे बढ़ने के साथ-साथ और अधिक सरल होंगे। विशेष रूप से मैं परियोजना को एक पायथन पैकेज में लपेटने का प्रयास करूंगा ताकि यह आसानी से पीआईपी के माध्यम से स्थापित किया जा सके। यदि आपके पास स्थापना प्रक्रिया के बारे में कोई प्रश्न हैं, तो कृपया मुझे माइकक्वैंटार्ट पर ईमेल करने में संकोच न करें। दीर्घकालिक योजना विदेशी मुद्रा व्यापार प्रणाली का दर्शन, शेष क्वांटस्टार्ट साइट के साथ, हमारे बैकटेस्टिंग में यथासंभव वास्तविक जीवन-व्यापार की कोशिश करना और नकल करना है। इसका अर्थ है कि विवरण जिसमें अक्सर अधिक शोध उन्मुख बैकटेस्टिंग परिस्थितियों से बाहर रखा जाता है। लेटेंसी, सर्वर आउटेज, ऑटोमेशन, मॉनिटरिंग, यथार्थवादी लेनदेन लागत, सभी को मॉडल के भीतर शामिल किया जाएगा ताकि हमें यह पता चल सके कि रणनीति कितनी अच्छी है। चूंकि हमारे पास डाटा टिके (बिडस्क टाइमस्टैम्प) तक पहुंच होगी, इसलिए हम लेनदेन लागतों में फैल को शामिल कर सकेंगे। हम झुकाव मॉडल भी कर सकते हैं। यह बाजार के प्रभाव को कम करने के लिए कम तेज है, हालांकि यह छोटी व्यापारिक मात्रा में कम चिंता का विषय है। लेन-देन लागत के अलावा हम जोखिम वाले ओवरले और स्थिति के आकार का उपयोग करके मजबूत पोर्टफोलियो प्रबंधन का मॉडल करना चाहते हैं। तो वर्तमान में फ़ॉरेक्स ट्रेडिंग सिस्टम में इवेंट-संचालित आर्किटेक्चर की तारीख तक क्या शामिल है - विदेशी मुद्रा व्यापार प्रणाली को एक घटना-आधारित प्रणाली के रूप में बनाया गया है, क्योंकि यह एक इंटरैड ट्रेडिंग सिस्टम एक जीवंत वातावरण में लागू किया जाएगा । मूल्य स्ट्रीमिंग - हमारे पास एक बुनियादी मूल्य स्ट्रीमिंग वस्तु है यह वर्तमान में केवल एक एकल जोड़ी के लिए सदस्यता का प्रबंधन करता है, लेकिन हम इसे कई मुद्रा जोड़े की सदस्यता के लिए आसानी से संशोधित कर सकते हैं। सिग्नल पीढ़ी - रणनीति वस्तु का उपयोग करते हुए हम व्यापार रणनीतियों (सीधे पिछले और वर्तमान टिकों की कीमतों पर आधारित) को शामिल कर सकते हैं, जो संकेत ऑब्जेक्ट बनाता है आदेश निष्पादन - हमारे पास एक भोलीय आदेश निष्पादन प्रणाली है जो आंखों से पोर्टफोलियो से ओंडा को ऑर्डर भेजती है। आँख बंद करके मेरा मतलब है कि कोई जोखिम प्रबंधन या स्थिति का आकार लेना नहीं है, और न ही कोई एल्गोरिदमिक निष्पादन जिसके कारण कम लेनदेन लागत बढ़ सकती है। जीबीपी बेस मुद्रा - चीजों को सरल रखने के लिए, Ive केवल GBP आधार मुद्रा के लिए सिस्टम लिखा है Ive यह संभवतः संशोधित करने का सबसे महत्वपूर्ण पहलू है कि आप में से कितने USD, EUR, CAD, JPY, AUD और NZD जीबीपीयूएसडी ट्रेडिंग में प्रिक्रया खाते हैं - मैंने आरंभिक स्थिति और पोर्टफोलियो ऑब्जेक्ट्स का परीक्षण करने के लिए मुद्रा जोड़ी के रूप में केबल को चुना साथ में। कई मुद्रा जोड़े संभालने का एक महत्वपूर्ण अगला कदम है। इसमें स्थिति और पोर्टफोलियो गणना में संशोधन शामिल होगा। दशमलव प्रबंधन - किसी भी उत्पादन व्यापार प्रणाली को सही ढंग से मुद्रा गणनाओं को व्यवस्थित करना चाहिए विशेष रूप से, मुद्रा मानों को फ़्लोटिंग पॉइंट डेटा-प्रकार के रूप में संग्रहीत नहीं किया जाना चाहिए, क्योंकि गोलाकार त्रुटियां जमा हो जाएंगी। अधिक विवरण के लिए कृपया फ़्लोटिंग प्वाइंट प्रस्तुतियों पर इस शानदार लेख को देखें। लॉन्गशॉर्ट ट्रेडिंग - डायरी प्रविष्टियाँ 2 और 3 के बीच मैंने एक मुद्रा जोड़ी को कम करने की क्षमता जोड़ा (केवल लंबे समय तक जाने में सक्षम होने के विपरीत)। महत्वपूर्ण रूप से, यह भी इकाई परीक्षण है स्थानीय पोर्टफोलियो हैंडलिंग - मेरी राय में एक बैकस्टेस्ट जो अवास्तविक धारणाओं की वजह से रणनीति के प्रदर्शन को बढ़ाती है, सबसे खराब में सबसे कष्टप्रद है और सबसे खराब में सबसे लाभकारी है ओएडा की गणना की नकल करने वाली एक स्थानीय पोर्टफोलियो ऑब्जेक्ट का परिचय है जिसका मतलब है कि अभ्यास को चलाने के दौरान हम अपनी आंतरिक गणना की जांच कर सकते हैं व्यापार जो हमें बाद में ऐतिहासिक डेटा पर बैकस्टेस्टिंग के लिए इसी पोर्टफोलियो ऑब्जेक्ट का उपयोग करते हुए अधिक आत्मविश्वास प्रदान करता है। स्थिति पोर्टफोलियो के लिए यूनिट टेस्ट - जबकि Ive ने सीधे 1 और 2 डायरी प्रविष्टियों में इसका उल्लेख नहीं किया है, Ive वास्तव में पोर्टफोलियो और स्थिति ऑब्जेक्ट्स के लिए कुछ यूनिट टेस्ट लिख रहे हैं। चूंकि ये रणनीति की गणनाओं के लिए बहुत महत्वपूर्ण हैं, इसलिए एक बहुत भरोसेमंद होना चाहिए कि वे अपेक्षा के अनुरूप प्रदर्शन करते हैं। ऐसे परीक्षणों का एक अतिरिक्त लाभ यह है कि वे अंतर्निहित गणना को संशोधित करने की अनुमति देते हैं, जैसे कि यदि सभी परीक्षण अभी भी पास होते हैं, तो हम यह आश्वस्त हो सकते हैं कि समग्र प्रणाली अपेक्षित रूप से व्यवहार करना जारी रखेगी। इस स्तर पर विदेशी मुद्रा व्यापार प्रणाली में निम्न कार्यशीलता की कमी है: स्लीपेज हैंडलिंग - ओडीए से प्रदान किए गए टिक डेटा के उच्च-फ़्रिक्वेंसी प्रकृति के कारण सिस्टम वर्तमान में बहुत अधिक झुकाव पैदा कर रहा है। इसका अर्थ है कि स्थानीय रूप से गणना किए गए पोर्टफोलियो शेष OANDA द्वारा गणना की जाने वाली शेष राशि को दर्शाती नहीं है जब तक सही ईवेंट-हैंडलिंग और स्लीपेज समायोजन किया जाता है, इसका मतलब यह होगा कि बैकटेस्ट वास्तविकता को सही ढंग से नहीं दिखाएगा। एकाधिक आधार मुद्राओं - वर्तमान में हम GBP तक सीमित हैं कम से कम हमें प्रमुख मुद्रा संप्रदायों - अमरीकी डालर, यूरो, सीएडी, एयूडी, जेपीवाई और एनजेडडी को शामिल करने की जरूरत है। एकाधिक मुद्रा जोड़े - इसी तरह हमें केबल (जीबीपीयूएसडी) से परे प्रमुख मुद्रा जोड़े का समर्थन करने की आवश्यकता है। इसके दो पहलू हैं पहली बार गणनाओं को सही ढंग से संभालना है, जब न ही कोई मुद्रा जोड़ी का आधार या उद्धरण खाता संप्रदाय मुद्रा के बराबर है। दूसरा पहलू कई पदों का समर्थन करना है ताकि हम मुद्रा जोड़े के पोर्टफोलियो का व्यापार कर सकें। जोखिम प्रबंधन - कई अनुसंधान बैकअप पूरी तरह से जोखिम प्रबंधन की उपेक्षा करते हैं दुर्भाग्यवश यह एक रणनीति के नियमों का वर्णन करने में संक्षेप के लिए आम तौर पर आवश्यक है। हकीकत में हम - जबरदस्त - व्यापार करते समय एक जोखिम ओवरले का उपयोग करते हैं, अन्यथा यह बहुत संभावना है कि हम किसी स्तर पर पर्याप्त नुकसान पहुंचाएंगे। यह कहना नहीं है कि जोखिम प्रबंधन पूरी तरह से इसे रोक सकता है, लेकिन यह निश्चित रूप से कम संभावना बनाता है पोर्टफोलियो अनुकूलन - एक संस्थागत सेटिंग में हमारे पास एक निवेश जनादेश होगा, जो विभिन्न आवंटन नियमों के साथ एक मजबूत पोर्टफोलियो प्रबंधन प्रणाली को निर्देशित करेगा। एक खुदरा व्यक्तिगत सेटिंग में हम अपनी दीर्घकालिक जटिल वृद्धि दर को अधिकतम करने के लिए कैली मानदंड जैसे स्थिति का आकार बदलने के दृष्टिकोण का उपयोग करना चाह सकते हैं। मजबूत रणनीतियाँ - मैंने केवल कुछ सरल यादृच्छिक सिग्नल का प्रदर्शन किया है जो कि आज तक खिलौना रणनीतियां पैदा कर रहा है। अब जब हम एक विश्वसनीय अंतर्दाय विदेशी मुद्रा व्यापार प्रणाली बनाने की शुरुआत कर रहे हैं, तो हमें कुछ और दिलचस्प रणनीतियां शुरू करना चाहिए। भविष्य की डायरी प्रविष्टियां तकनीकी संकेतकों के मिश्रण से तैयार की जाने वाली रणनीतियों पर केंद्रित होगी, साथ ही समय श्रृंखला के मॉडल और मशीन सीखने की तकनीक। रिमोट परिनियोजन - चूंकि हम संभावित रूप से 24 घंटों के कारोबार में दिलचस्पी रखते हैं (कम से कम सप्ताह के दौरान) हमें घर पर स्थानीय डेस्कटॉपलप्पट मशीन पर बैकस्टर चलाने से अधिक परिष्कृत सेटअप की आवश्यकता होती है। यह महत्वपूर्ण है कि हम उपयुक्त रिडंडेंसी और मॉनिटरिंग के साथ हमारे सिस्टम के एक मजबूत रिमोट सर्वर परिनियोजन बनाएँ। ऐतिहासिक बैकटेस्टिंग - हमने पोर्टफोलियो ऑब्जेक्ट का निर्माण किया है जिससे हमें यथार्थवादी बैकटेस्टिंग कर सकें। इस स्तर पर हम एक ऐतिहासिक टिक डाटा स्टोरेज सिस्टम खो चुके हैं। बाद के लेखों में हम ऐतिहासिक टिक आंकड़े प्राप्त करने और एक उपयुक्त डेटाबेस में भंडारित करेंगे, जैसे एचडीएफ 5। व्यापार डाटाबेस - अंततः हम अपने स्वयं के डेटाबेस में हमारे लाइव ट्रेडों को संग्रहित करना चाहते हैं। यह हमें लाइव ट्रेडिंग डेटा पर अपना खुद का विश्लेषण करने की अनुमति देगा। एक संबंधपरक डेटाबेस के लिए एक अच्छी सिफारिश PostgreSQL या MySQL होगा मॉनिटरिंग और उच्च उपलब्धता - चूंकि हम एक उच्च आवृत्ति इन्टरडा सिस्टम पर विचार कर रहे हैं, इसलिए हमें व्यापक निगरानी और उच्च उपलब्धता अतिरेक को जगह में रखना होगा। इसका मतलब सीपीयू उपयोग, डिस्क उपयोग, नेटवर्क आईओ, लेटेंसी पर रिपोर्टिंग और जाँच करना है कि किसी आवधिक स्क्रिप्ट को चालू रखने के लिए सेट किया गया है। इसके अलावा हमें एक बैकअप और रणनीति बहाल करने की आवश्यकता है। अपने आप से पूछें कि आपके पास बैकअप योजनाएं क्या होती हैं यदि आपके पास बड़े खुले स्थान हैं, तो एक अस्थिर बाजार में, और आपका सर्वर अचानक मृत्यु हो गया। मेरा विश्वास करो, यह मल्टीपल ब्रोकरफाइक्स इंटिग्रेशन होता है - इस समय हम दृढ़ता से ओंडाए ब्रोकर को मिलते हैं। जैसा कि मैंने कहा यह केवल इसलिए है क्योंकि मैं उनके एपीआई में आया था और इसे एक आधुनिक पेशकश के रूप में मिला। वहाँ अन्य दलालों के बहुत सारे हैं, जिनमें से कई फिक्स प्रोटोकॉल का समर्थन करते हैं। फ़िक्स क्षमता को जोड़ने से दलालों की संख्या में वृद्धि होगी जो कि सिस्टम के साथ इस्तेमाल की जा सकती है। जीयूआई नियंत्रण और रिपोर्टिंग - अभी सिस्टम पूरी तरह से कंसोल मोड लाइन आधारित है। बहुत कम समय में हमें कुछ बुनियादी चार्टिंग की आवश्यकता होगी ताकि बैकटेस्ट परिणाम प्रदर्शित हो सकें। एक अधिक परिष्कृत प्रणाली ट्रेडों, रणनीति-स्तरीय प्रदर्शन मीट्रिक के साथ ही समग्र पोर्टफोलियो प्रदर्शन के सारांश आंकड़े शामिल करेगी। यह जीयूआई एक क्रॉस-प्लेटफॉर्म विंडोिंग सिस्टम जैसे कि क्यूटी या टंकिनटर का उपयोग करके लागू किया जा सकता है। यह एक वेब-आधारित फ्रंट-एंड का उपयोग करके भी प्रस्तुत किया जा सकता है, जो वेब-फ्रेमवर्क जैसे कि डीजेओगो का उपयोग करता है। जैसा कि देखा जा सकता है कि सड़कमैप पर बहुत सारी कार्यक्षमताएं छोड़ी गई हैं, ये कहा जा रहा है कि प्रत्येक नई डायरी प्रविष्टि (और समुदाय से संभावित योगदान) परियोजना को आगे बढ़ाएगी। दशमलव डाटा-प्रकार अब हमने लंबी अवधि की योजना पर चर्चा की है, मैं डायरी प्रविष्टि के बाद से कोड में किए गए कुछ बदलावों को प्रस्तुत करना चाहता हूं। विशेष रूप से, मैं यह वर्णन करना चाहता हूं कि मैंने दशमलव डेटा- फ्लोटिंग प्वाइंट स्टोरेज का उपयोग करने के बजाय टाइप करें यह एक अत्यंत महत्वपूर्ण परिवर्तन है क्योंकि पोर्टफोलियो और ऑर्डर मैनेजमेंट सिस्टम में फ्लोटिंग प्वाइंट का प्रतिनिधित्व दीर्घकालिक त्रुटि का एक महत्वपूर्ण स्रोत है। पायथन ने मूल रूप से दशमलव प्रस्तुतियों को एक मनमाना परिशुद्धता के लिए समर्थन करता है। कार्यशीलता दशमलव पुस्तकालय में समाहित है विशेष रूप से हमें संशोधित करने की आवश्यकता है - सभी-मान जो स्थिति गणना में दशमलव डेटा-प्रकार में प्रकट होता है। इसमें इकाइयों, एक्सपोज़र, पीपस, प्रॉफिट और प्रतिशत लाभ शामिल हैं। यह सुनिश्चित करता है कि हम सटीक परिमाण के दो दशमलव स्थानों वाले मुद्रा अभ्यावेदनों के साथ व्यवहार करते समय पूर्णांक नियंत्रण के पूर्ण नियंत्रण में हैं। विशेष रूप से हमें गोलाई के तरीके को चुनना होगा। पायथन कुछ अलग प्रकारों का समर्थन करता है, लेकिन हम राउन्डएचल्डडेउन के साथ जा रहे हैं। जो निकटतम पूर्णांक के लिए संबंधों के साथ शून्य के करीब जा रहा है यहां एक उदाहरण दिया गया है कि कैसे कोड को उनके पिछले फ़्लोटिंग बिंदु के प्रतिनिधित्व से दशमलव डेटा प्रकार को नियंत्रित करने के लिए संशोधित किया गया है। निम्नलिखित position. py की एक सूची है: ध्यान दें कि हमें एक फ्लोटिंग पॉइंट आर्गुमेंट के बजाय स्ट्रिंग तर्क के साथ दशमलव को प्रदान करना होगा। यह इसलिए है क्योंकि एक स्ट्रिंग ठीक से मूल्य की सटीकता निर्दिष्ट करती है, जबकि एक अस्थायी बिंदु प्रकार नहीं होगा। यह भी ध्यान रखें कि जब हम अपने व्यापार को रिलेशनल डेटाबेस में (जैसा कि रोडमैप में वर्णित है) में जमा करना शुरू करते हैं, तो हमें यह सुनिश्चित करने की आवश्यकता होगी कि हम एक बार फिर सही डेटा-प्रकार का उपयोग करें। PostgreSQL और MySQL एक दशमलव प्रतिनिधित्व का समर्थन करते हैं। यह महत्वपूर्ण है कि हम इन डाटा-प्रकारों का उपयोग करते हैं जब हम अपने डाटाबेस स्कीमा बनाते हैं, अन्यथा हम गोल त्रुटियों में चले जाएंगे जो निदान करना बेहद मुश्किल है, जो इन मुद्दों पर गहन चर्चा में रुचि रखते हैं, गणित और कंप्यूटर विज्ञान में, संख्यात्मक विश्लेषण के विषय में फ्लोटिंग प्वाइंट स्टोरेज मुद्दों को शामिल किया गया है, जिसमें कई अन्य दिलचस्प विषयों शामिल हैं। बाद की डायरी प्रविष्टियों में हम इस पर चर्चा करने जा रहे हैं कि मैंने कोड के लिए यूनिट परीक्षण कैसे लागू किया है और हम स्थिति गणना को संशोधित करके अधिक मुद्रा जोड़े को सॉफ़्टवेयर कैसे बढ़ा सकते हैं। पूर्ण पायथन कोड क्योंकि परियोजना के लिए पूर्ण स्रोत कोड अब खुला स्रोत है, एमआईटी लाइसेंस के तहत। यह हमेशा githubmhallsmooreqsforex पर पाया जा सकता है साथ दस्तावेज के साथ यदि आप श्रृंखला में अन्य प्रविष्टियां पढ़ना चाहते हैं, तो कृपया नीचे दी गई लिंक्स का पालन करें: केवल मात्रात्मक ट्रेडिंग के साथ आरंभ करना ट्रेडिंग ट्रेडिंग डायरी 5 - कई मुद्रा जुर्मानाओं का व्यापार कल मैंने क्यूएक्सएक्सक्स सॉफ्टवेयर में कुछ महत्वपूर्ण बदलाव प्रकाशित किए। इन परिवर्तनों ने इस प्रणाली की उपयोगिता में काफी बढ़ोतरी की है, जहां कई मुद्रा जोड़े की एक सीमा पर बैकटीस्टिंग के बहु-दिन टिक डेटा के लिए यह लगभग तैयार है। निम्नलिखित परिवर्तनों को गिथूब में पोस्ट किया गया है: स्थिति और पोर्टफोलियो ऑब्जेक्ट दोनों के लिए और अधिक संशोधित करने के लिए कई मुद्रा जोड़े को कारोबार के साथ-साथ मुद्राओं को अनुमति देने के लिए, जो कि खाता मुद्रा में अंकित नहीं हैं। इसलिए एक GBP-deonominated खाता अब EURUSD को व्यापार कर सकता है, उदाहरण के लिए। स्थिति और पोर्टफोलियो की गणना कैसे खुलती है, बंद करता है, जोड़ों और इकाइयों के हटाए जाने की पूरी ओवरहाल स्थिति ऑब्जेक्ट अब एक भारी पोर्टफोलियो ऑब्जेक्ट को छोड़कर भारी भार उठाती है पहली गैर तुच्छ रणनीति के अलावा, अर्थात् सरल चलती औसत (एसएमए) की एक जोड़ी के साथ प्रसिद्ध चलती औसत विदेशी रणनीति। इसे एक-थ्रेडेड और नियतात्मक बनाने के लिए बैकटेल मैप के लिए संशोधन। मेरे आशावाद के बावजूद कि एक बहु-थ्रेडेड दृष्टिकोण सिमुलेशन सटीकता के लिए भी हानिकारक नहीं होगा, मुझे एक बहु-थ्रेडेड दृष्टिकोण के साथ संतोषजनक बैटरटेस्टिंग परिणाम प्राप्त करना मुश्किल हो गया। पोर्टफोलियो की इक्विटी वक्र देखने के लिए एक बहुत ही बुनियादी मेटप्ललिब-आधारित आउटपुट स्क्रिप्ट प्रस्तुत की। इक्विटी वक्र पीढ़ी प्रारंभिक अवस्था में है और फिर भी बहुत काम की आवश्यकता है जैसा कि मैंने पिछले प्रविष्टि में उल्लेख किया था उन लोगों के लिए जो QSForex से अपरिचित हैं और पहली बार इस विदेशी मुद्रा डायरी श्रृंखला में आ रहे हैं, मैं दृढ़ता से सुझाव देता हूं कि सॉफ्टवेयर के साथ गति बढ़ाने के लिए निम्नलिखित डायरी प्रविष्टियां पढ़ी जाएं: साथ ही साथ QSForex के लिए गिथूब पेज : एकाधिक मुद्रा समर्थन एक विशेषता जो मैं लगातार इन डायरी प्रविष्टियों में चर्चा कर रहा हूं एकाधिक मुद्रा जोड़े के समर्थन की क्षमता है इस स्तर पर Ive अब अलग-अलग खाता संप्रदाय की अनुमति के लिए सॉफ़्टवेयर को संशोधित किया है, क्योंकि पहले जीबीपी हार्डकोड मुद्रा था। जापानी येन (जेपीवाई) में आधार या उद्धरण से युक्त उन लोगों को छोड़कर अन्य मुद्रा जोड़े में व्यापार करना अब भी संभव है। बाद वाला यह है कि जेपीवाई मुद्राओं में किक आकार कैसे ठीक हो जाते हैं इस लक्ष्य को प्राप्त करने के लिए मैंने संशोधित किया है कि इकाइयों को निकाला जाता है या स्थिति बंद हो जाने पर लाभ कैसे गणना होता है। Position. pf फ़ाइल में, pips की गणना करने के लिए यहां वर्तमान स्निपेट है: यदि हम लाभ या हानि का पता लगाने के लिए स्थिति को बंद करते हैं, तो हमें क्लैप्ज़िशन के लिए निम्नलिखित स्निपेट का उपयोग करने की आवश्यकता है position. py फ़ाइल में भी: सबसे पहले हम बोली प्राप्त करते हैं और दोनों मुद्रा जोड़ी के कारोबार के साथ-साथ क़ाह मुद्रा मुद्रा जोड़ी के लिए मूल्य पूछते हैं। उदाहरण के लिए, जीबीपी में नामित एक खाते के लिए, जहां हम EURUSD कारोबार कर रहे हैं, हमें USDGBP के लिए कीमतें प्राप्त करनी चाहिए, चूंकि यूरो आधार मुद्रा है और अमरीकी डालर बोली है। इस स्तर पर हम जांच करते हैं कि स्थिति एक लंबी या छोटी स्थिति है और फिर उचित निकासी मूल्य और quotehome को हटाने की कीमत की गणना करें, जो क्रमशः निकालेप्रक्रिया और qhclose द्वारा दिए गए हैं। हम तो स्थिति के भीतर वर्तमान और औसत कीमतों को अपडेट करते हैं और अंत में पीएएमपीएल की गणना पीिप्स को बढ़ाते हैं, क्यूटेम से हटाए जाने की कीमत और फिर इकाइयों की संख्या बंद हो रही थी। हमने एक्सपोजर पर चर्चा करने की पूरी आवश्यकता पूरी कर ली है, जो एक बेमानी चर है। यह सूत्र तब सही ढंग से किसी भी (गैर - JPY denominated) मुद्रा जोड़ी व्यापार के खिलाफ PampL प्रदान करता है। स्थिति और पोर्टफोलियो हैंडलिंग का ओवरहाल कई मुद्रा जोड़े में व्यापार करने की क्षमता के अतिरिक्त Ive ने यह भी परिष्कृत किया है कि स्थिति और पोर्टफोलियो कैसे खोलने और समापन पद की जिम्मेदारी, साथ ही साथ इकाइयों को जोड़ना और घटाना विशेष रूप से, मैं स्थिति-हैंडलिंग कोड का एक बहुत स्थानांतरित कर रहा हूं जो कि पोर्टफोलियो में था position. py में। यह और अधिक स्वाभाविक है क्योंकि स्थिति को स्वयं का ख्याल रखना चाहिए और पोर्टफोलियो में इसे नियुक्त नहीं करना चाहिए विशेष रूप से, addunits निकास और क्लैप्ज़ेशन विधियों को बनाया या बढ़ाया गया है: उत्तरार्द्ध दो में आप देख सकते हैं कि लाभ की गणना के लिए नया फार्मूला कैसे लागू होता है। इस प्रकार पोर्टफोलियो वर्ग की कार्यक्षमता बहुत कम हो जाती है। विशेष रूप से विधियों addnewposition में addpositionunits। निष्कर्ष निकालना और क्लैप्शन को इस तथ्य के आधार पर लेने के लिए संशोधित किया गया है कि गणना वस्तु स्थिति वस्तु में किया जा रहा है: संक्षेप में वे सभी (अतिरिक्त के अलावा) केवल जांच लें कि स्थिति उस मुद्रा जोड़ी के लिए मौजूद है और फिर संबंधित स्थिति पद्धति को बुलाओ , यदि जरूरी हो तो लाभ का खाता लेना औसत विदेशी रणनीति चलाना हमने क्वांटस्टार्ट पर पहले मूविंग औसत क्रॉसओवर रणनीति पर चर्चा की। इक्विटी ट्रेडिंग के संदर्भ में यह एक बहुत ही उपयोगी परीक्षण-बिस्तर संकेतक रणनीति है क्योंकि हाथ से गणना (कम से कम कम आवृत्तियों पर) को दोहराने के लिए आसान है, यह जांचने के लिए कि बैकएस्टर के रूप में व्यवहार करना चाहिए रणनीति का मूल विचार इस प्रकार है: एक विशेष समय श्रृंखला के दो अलग-अलग सरल चलते औसत फ़िल्टर बनाए जाते हैं, जिसमें अलग-अलग लुकबैक अवधि होती है, परिसंपत्ति को खरीदने के लिए सिग्नल तब होते हैं जब छोटी लुकबैक चलती औसत अधिक लुकबैक चलती औसत से अधिक हो जाता है। अगर औसत औसत अब औसत औसत से अधिक है, तो परिसंपत्ति फिर से बेची जाती है। रणनीति अच्छी तरह से काम करती है जब एक समय श्रृंखला मजबूत प्रवृत्ति की अवधि में प्रवेश करती है और फिर धीरे-धीरे प्रवृत्ति को उलट देती है कार्यान्वयन सरल है सबसे पहले, हम एक विधि कैलक्रोलिंगमामा प्रदान करते हैं जो हमें हर चरण में एसएमए को पूरी तरह से पुन: परिकलित करने के बिना, एक नई जेनरेट करने के लिए पिछले समय अवधि एसएमए गणना का अधिक कुशलतापूर्वक उपयोग करने की अनुमति देता है। दूसरे, हम दो मामलों में संकेत उत्पन्न करते हैं। पहले मामले में हम एक संकेत उत्पन्न करते हैं यदि लघु एसएमए लंबे एसएमए से अधिक है और लंबे समय तक मुद्रा जोड़ी नहीं थे। दूसरे मामले में हम एक संकेत उत्पन्न करते हैं यदि लंबे समय तक एसएमए लघु एसएमए से अधिक हो और हम पहले से ही लंबे हैं मैंने डिफ़ॉल्ट एसएमए के लिए 500 ticks और लंबी एसएमए के लिए 2,000 टिक के लिए डिफ़ॉल्ट विंडो सेट की है। जाहिर है, इन मापदंडों की स्थापना के उत्पादन में अनुकूलित किया जाएगा, लेकिन वे हमारे परीक्षण प्रयोजनों के लिए अच्छी तरह से काम करते हैं एकल-थ्रेडेड बैटरियर एक और बड़ा परिवर्तन बहु-थ्रेडेड की बजाय एकल-थ्रेडेड होने के लिए बैकटेस्टिंग घटक को संशोधित करना था। मैंने यह बदलाव इसलिए किया क्योंकि मेरे पास बहुत ही कठिन समय था कि ये थ्रेड को एक तरीके से निष्पादित करने के लिए सिंक्रनाइज़ करता है जो कि एक जीवित वातावरण में होता है। इसका मूल रूप से मतलब था कि प्रवेश और बाहर निकलने की कीमतें बहुत अवास्तविक थीं, अक्सर वास्तविक टिकट प्राप्त होने के बाद (आभासी) घंटे आती हैं। इसलिए मैंने बैकटीस्टिंग लूप में TickEvent ऑब्जेक्ट्स की स्ट्रीमिंग को शामिल किया था, जैसा कि आप backtest. py के निम्न स्निपेट में देख सकते हैं: लाइन टिकर. स्ट्रीमएक्सटिक () देखें। इसे घटनाओं की कतार के मतदान से पहले कहा जाता है और ऐसा हमेशा सुनिश्चित करेगा कि कतार को फिर से मतदान करने से पहले एक नई टिक घटना आएगी। विशेष रूप से इसका मतलब है कि नए बाजार डेटा के आने के बाद एक संकेत निष्पादित होता है, भले ही झुकने के कारण आदेश प्रक्रिया में कुछ अंतराल हो। Ive ने एक अधिकतम मूल्य भी सेट किया है जो कि बैकटेस्टेिंग लूप कितनी देर तक चलता है। व्यवहार में यह कई दिनों में एकाधिक मुद्राओं के साथ निपटने में काफी बड़ा होना चाहिए, लेकिन Ive इसे एक डिफ़ॉल्ट मान में सेट कर दिया है जो कि एक मुद्रा जोड़ी के एक ही दिन के डेटा की अनुमति देता है। कीमत हैंडलर क्लास की स्ट्रीमटेक्टीक पद्धति, स्ट्रीक्यूचूइज के समान होती है, सिवाय इसके कि वह अगले हीटर () विधि को मैन्युअल रूप से कॉल करता है, लूप में टिक स्ट्रीमिंग करने के बजाय: नोटिस कि यह स्टॉपइटेशन अपवाद प्राप्त होने पर रोकता है। यह अपवाद पर क्रैश होने की बजाय कोड को फिर से शुरू करने की अनुमति देता है। Matplotlib आउटपुट Ive भी इक्विटी वक्र प्रदर्शित करने के लिए एक बहुत ही बुनियादी matplotlib उत्पादन स्क्रिप्ट बनाया। output. py वर्तमान में QSForex की बैकस्टेस्ट निर्देशिका में रहता है और नीचे दिया गया है: नोटिस कि वहाँ एक नई settings. py वेरिएबल है जिसे ओयूपीटीआरएसयूएलएसआईआईआर कहा जाता है। जो आपकी सेटिंग्स में सेट होना चाहिए मुझे यह मेरी फाइल सिस्टम पर एक अस्थायी निर्देशिका की तरफ इशारा कर रहा है क्योंकि मुझे कोड बेस में किसी भी इक्विटी बैकटेस्ट परिणाम को गलती से नहीं जोड़ना है I एक इक्विटी वर्क काम करता है एक संतुलन मूल्य, जो कि एक शब्दकोष समय स्टाम्प। एक बार बैक टेस्ट पूरा हो जाने पर शब्दकोशों की सूची को पांडस डेटाफ़्रेम में बदल दिया जाता है और tocsv विधि को आउटपुट इक्विटी सीसीवी में प्रयोग किया जाता है। यह आउटपुट स्क्रिप्ट तब फ़ाइल में पढ़ता है और बाद में डेटाफ़्रेम के शेष कॉलम को प्लॉट करता है। आप नीचे पोर्टफोलियो श्रेणी के अपैक्टाइरियॉरो और आउटफॉर्मेंट्स विधियों के लिए स्निपेट देख सकते हैं: प्रत्येक बार निष्पादित किया जाने वाला कहा जाता है, पूर्व विधि को इक्विटी सदस्य को टाइमस्टैम्पलेंस मान कहा जाता है। बैकटाटे आउटपुट परिणाम के अंत में कहा जाता है जो कि शब्दकोशों की सूची को केवल एक डेटाफ़्रेम में कनवर्ट करता है और फिर निर्दिष्ट OUTPUTRESULTSDIR निर्देशिका में आउटपुट करता है। दुर्भाग्य से, यह इक्विटी वक्र बनाने का विशेष रूप से उचित तरीका नहीं है क्योंकि यह केवल तभी होता है जब कोई संकेत उत्पन्न होता है। इसका मतलब यह है कि यह अनावृत पंपएल को ध्यान में नहीं लेता है हालांकि यह कैसे वास्तविक व्यापार होता है (जब तक आप किसी स्थिति को बंद नहीं करते हैं, तब तक आप किसी भी पैसा बनाते हैं) इसका मतलब है कि इक्विटी वक्र संतुलन के अपडेट के बीच पूरी तरह से सपाट रहेंगे। इससे भी बदतर, Matplotlib इन बिंदुओं के बीच रैखिक रूप से दोहराव से चूक जाएगी, इस प्रकार अचेतन PampL का गलत प्रभाव प्रदान करेगा। इस समस्या का हल स्थिति वर्ग के लिए एक अचेतन पंपल ट्रैकर बनाने के लिए है जो हर टिक पर सही ढंग से अद्यतन करता है यह थोड़ा अधिक कम्प्यूटेशनल महंगा है, लेकिन अधिक उपयोगी इक्विटी वक्र की अनुमति देता है। यह सुविधा एक बाद की तारीख के लिए योजना बनाई है अगले कदम अगला कदम QSForex के लिए अगले प्रमुख कार्य बहु-दिन के बैकस्टेस्टिंग की अनुमति देना है। वर्तमान में ऐतिहासिक सीएसपीप्रिसहाण्डलर ऑब्जेक्ट केवल किसी भी निर्दिष्ट मुद्रा युग्म के लिए ड्यूकास्पीपी टिक डेटा के एक दिन के लायक लोड करता है। बहु-दिन के परीक्षण की अनुमति देने के लिए हर दिन क्रमिक रूप से लोड करने और स्ट्रीम करने के लिए आवश्यक होगा ताकि रैम भरने से बचें, टिक डेटा के पूरे इतिहास के साथ। इस के लिए संशोधित करने की आवश्यकता होगी कि स्ट्रीमनेक्टिक विधि कैसे काम करती है एक बार पूरा हो जाने के बाद यह कई युग्मों में दीर्घकालिक रणनीति बैकस्टेस्टिंग की अनुमति देगा। एक और काम इक्विटी वक्र के उत्पादन में सुधार करना है किसी भी सामान्य प्रदर्शन मीट्रिक (जैसे शार्प अनुपात) की गणना करने के लिए हमें एक विशेष समय अवधि में प्रतिशत रिटर्न की गणना करने की आवश्यकता होगी। हालांकि, इसके लिए यह आवश्यक है कि हम एक विशेष समय अवधि के लिए वापसी की गणना करने के लिए टिकटों को टिक कर दें। ऐसी बाइनिंग एक नमूना आवृत्ति पर होती है जो ट्रेडिंग आवृत्ति या शार्प रेशियो के समान होती है, रणनीति के वास्तविक खतरे के प्रतिबिंबित नहीं होगी। यह बिनिंग एक तुच्छ व्यायाम नहीं है, क्योंकि बहुत सारी धारणाएं हैं जो प्रत्येक बिन के लिए मूल्य पैदा करने में होती हैं एक बार ये दो कार्य पूर्ण हो जाएंगे और पर्याप्त डेटा प्राप्त कर लिया जाएगा, तो हम टिक-डेटा आधारित फ़ॉरेक्स रणनीतियों की एक विस्तृत श्रेणी की बैकस्टेस्ट और लेन-देन लागत के बहुमत के इक्विटी घटता उत्पाद का उत्पादन करने की स्थिति में होंगे। इसके अलावा, ओएंडए द्वारा प्रदान किए गए प्रैक्टिस पेपर-ट्रेडिंग अकाउंट पर इन रणनीतियों का परीक्षण करने के लिए यह बहुत सीधा होगा। इससे आपको अधिक शोध-आधारित बैटिंग सिस्टम की तुलना में एक रणनीति चलाने के बारे में बेहतर निर्णय लेने की अनुमति मिलनी चाहिए। सिर्फ मात्रात्मक ट्रेडिंग के साथ शुरू करना QSForex विदेशी मुद्रा (विदेशी मुद्रा) बाजारों में वर्तमान में एक अल्फा राज्य में उपयोग के लिए एक खुला स्रोत घटना-संचालित बैकस्टेस्टिंग और लाइव ट्रेडिंग प्लेटफॉर्म है यह क्वांटस्टर्ट पर विदेशी मुद्रा ट्रेडिंग डायरी श्रृंखला के एक हिस्से के रूप में बनाया गया है ताकि एक मजबूत व्यापारिक इंजन के साथ व्यवस्थित व्यापारिक समुदाय प्रदान किया जा सके जो कि सीधी विदेशी मुद्रा रणनीति कार्यान्वयन और परीक्षण की अनुमति देता है। यह सॉफ्टवेयर अनुमोदित एमआईटी लाइसेंस (नीचे देखें) के तहत प्रदान किया गया है। ओपन सोर्स - क्यूएक्सएक्स एक अत्यंत अनुमोदित ओपन सोर्स एमआईटी लाइसेंस के तहत जारी किया गया है, जो बिना किसी प्रतिबंध और व्यावसायिक अनुप्रयोग दोनों में पूर्ण उपयोग की अनुमति देता है, लेकिन किसी भी तरह की वारंटी के बिना। निशुल्क - QSForex पूरी तरह से नि: शुल्क है और डाउनलोड या उपयोग करने के लिए कुछ भी नहीं है। सहयोग - जैसा कि क्यूएक्सएक्स ओपन-सोर्स है, कई डेवलपर्स सॉफ्टवेयर में सुधार के लिए सहयोग करते हैं। नई विशेषताओं अक्सर जोड़ रहे हैं किसी भी कीड़े जल्दी से निर्धारित और तय कर रहे हैं। सॉफ़्टवेयर डेवलपमेंट - सीईएसएफओक्स को सीधा क्रॉस-प्लेटफॉर्म समर्थन के लिए पायथन प्रोग्रामिंग भाषा में लिखा गया है। क्यूएक्सएक्स में इसकी गणना कोड के बहुमत के लिए इकाई परीक्षणों का एक सूट है और नए परीक्षणों के लिए लगातार नई सुविधाओं के लिए जोड़ा जाता है इवेंट-संचालित आर्किटेक्चर - क्यूएक्सएक्स पूरी तरह से बैकटेस्टिंग और लाइव ट्रेडिंग दोनों के लिए इवेंट-चालित है, जो एक शोध-परीक्षण चरण से सीधे व्यापार कार्यान्वयन के लिए रणनीतियों का सीधा संक्रमण करता है। लेन-देन की लागत - सभी बैकटेस्टेड रणनीतियों के लिए फैलाव लागतों को डिफ़ॉल्ट रूप से शामिल किया गया है। बैकटेस्टिंग - क्यूएक्सएक्स इंट्राडे टिक-रिज़ोल्यूशन मल्टी-डे मल्टी-मुद्रा जोड़ी बैकटेस्टिंग सुविधाएँ व्यापार - QSForex वर्तमान में जोड़े पोर्टफोलियो में ओंडा ब्रोकरेज एपीआई का उपयोग करते हुए लाइव इन्टरडा ट्रेडिंग का समर्थन करता है। प्रदर्शन मेट्रिक्स - क्यूएक्सफ़ोन वर्तमान में बुनियादी प्रदर्शन मापन और इक्विटी विज़ुअलाइजेशन को मेटप्ललिब और सेबर्न विज़ुअलाइज़ेशन लाइब्रेरीज़ के माध्यम से समर्थन करता है। स्थापना और उपयोग 1) ओआंडा पर जाएँ और एपीआई प्रमाणीकरण क्रेडेंशियल्स प्राप्त करने के लिए एक खाता सेटअप करें, जिसे आपको लाइव ट्रेडिंग करना होगा। मैं इस आलेख में यह कैसे समझाता हूं: क्वांटटार्टिकॉर्टेक्स - ट्रेडिंग-डायरी-1- स्वचालित-विदेशी मुद्रा ट्रेडिंग-के-द-ओंडा-एपीआई 2) इस टर्मिनल में निम्नलिखित कमांड का उपयोग करके अपने जीटी पर एक उपयुक्त स्थान में इस जीआईटी रिपॉजिटरी को क्लोन करें: git clone githubmhallsmooreqsforex. git। वैकल्पिक आप वर्तमान गुरु शाखा की ज़िप फ़ाइल githubmhallsmooreqsforexarchivemaster. zip पर डाउनलोड कर सकते हैं। 3) अनुप्रयोग रूट निर्देशिका में settings. py फ़ाइल में पाया जाने वाली सभी सेटिंग के लिए पर्यावरण चर का एक सेट बनाएँ। वैकल्पिक रूप से, आप प्रत्येक सेटिंग के लिए os. environ. get (।) कॉल को ओवरराइट करके अपने विशिष्ट सेटिंग को कड़ी मेहनत कर सकते हैं: 4) क्यूएक्सएक्स कोड के लिए वर्चुअल वातावरण (वर्चुअलएनिव) बनाएं और आवश्यकताओं को स्थापित करने के लिए पीओपी का उपयोग करें। उदाहरण के लिए यूनिक्स-आधारित सिस्टम (मैक या लिनक्स) में आप निम्न निर्देशिका को टर्मिनल में डालकर इस तरह की एक निर्देशिका बना सकते हैं: इससे पैकेजों को अधिष्ठापित करने के लिए नया वर्चुअल वातावरण बनाया जाएगा। मान लें कि आपने QSForex git भंडार को एक उदाहरण निर्देशिका में डाउनलोड किया है जैसे projectsqsforex (जहाँ भी आप QSForex स्थापित करते हैं नीचे इस निर्देशिका को बदलें), तब आपको निम्न कमांड चलाने के लिए संकुल को स्थापित करने के लिए: इसमें कुछ समय लगेगा जैसे NumPy, SciPy, Pandas, Scikit - जानें और Matplotlib संकलित किया जाना चाहिए। इसके लिए कई पैकेज आवश्यक हैं, इसलिए कृपया अधिक जानकारी के लिए इन दो लेखों पर एक नज़र डालें: कॉल करने में सक्षम होने के लिए आपको अपनी साइट-पैकेज डायरेक्टरी से अपने क्यूएसएक्सएक्सएक्सएक्स निर्देशिका को सिम्बॉलिक लिंक बनाने की आवश्यकता होगी। कोड के भीतर qsforex आयात करें ऐसा करने के लिए आपको निम्न के जैसा एक कमांड की आवश्यकता होगी: अपने वर्चुअलएन्व साइट संकुल निर्देशिका में अपनी स्थापना निर्देशिका और venvqsforexlibpython2.7site-packages के लिए प्रोजेक्ट्सक्शुरेंक्स को बदलना सुनिश्चित करें। अब आप अगली आज्ञाओं को सही ढंग से चलाने में सक्षम होंगे। 5) इस स्तर पर, यदि आप बस अभ्यास या लाइव व्यापार करना चाहते हैं तो आप अजगर tradingtrading. py चला सकते हैं। जो डिफ़ॉल्ट TestStrategy ट्रेडिंग रणनीति का उपयोग करेगा। यह केवल हर 5 वीं टिक पर एक मुद्रा जोड़ी खरीदता है या बेचता है यह विशुद्ध रूप से परीक्षण के लिए है - इसे एक लाइव ट्रेडिंग माहौल में उपयोग न करें यदि आप एक अधिक उपयोगी रणनीति बनाना चाहते हैं, तो बस एक वर्णनात्मक नाम के साथ एक नया वर्ग बनाएं, उदा। मतलब रिवर्सियनमल्टीपीयरस्वार्टेजी और सुनिश्चित करें कि इसमें एक गणितीय गणना विधि है आपको इस क्लास को युग्म सूची और साथ ही ईवेंट की कतार, जैसे कि व्यापारिक प्रवासी- कृपया विवरण के लिए strategystrategy. py देखें। 6) किसी भी बैकटेस्टिंग को चलाने के लिए, नकली विदेशी मुद्रा डेटा उत्पन्न करना या ऐतिहासिक टिक डेटा डाउनलोड करना आवश्यक है। यदि आप बस सॉफ्टवेयर को बाहर करने की कोशिश करना चाहते हैं, तो उदाहरण का बैकअप लेने का सबसे तेज़ तरीका कुछ नकली डेटा उत्पन्न करना है। क्यूएक्सएक्सएक्स द्वारा उपयोग किया जाने वाला वर्तमान डाटा प्रारूप उसी तरह है, जो ड्यूकासोकीस्विंसीमाइंडमार्कटैचहैरिकिकल पर ड्यूकास्कापी हिस्टोरिकल डाटा फीड द्वारा प्रदान किया गया है। कुछ ऐतिहासिक डेटा जेनरेट करने के लिए, सुनिश्चित करें कि settings. py में CSVDATADIR सेटिंग को एक निर्देशिका पर सेट करना है जहां आप ऐतिहासिक डेटा को जीना चाहते हैं फिर आपको जनरेटेड इंपोर्ट करने की आवश्यकता है जो स्क्रिप्ट निर्देशिका के अंतर्गत है। यह एक एकल कमांड लाइन तर्क की अपेक्षा करता है, जो इस मामले में BBBQQQ प्रारूप में मुद्रा जोड़ी है। उदाहरण के लिए: इस स्तर पर, जनवरी 2018 के लिए एक महीने का डेटा बनाने के लिए स्क्रिप्ट मुश्किल है। यही है, आप BBBQQQYYYYMMDD. csv (जैसे GBPUSD20180112.csv) की सभी फाइलों को देखेंगे, जो कि आपके CSVDATADIR में सभी व्यावसायिक दिनों के लिए दिखाई देंगे। उस महीने यदि आप डेटा आउटपुट के महीना वर्ष बदलना चाहते हैं, तो बस फ़ाइल को संशोधित करें और फिर से चलाएं। 7) अब जब ऐतिहासिक डेटा उत्पन्न हो गया है, तो एक बैकटेस्ट लेना संभव है। बैकटास्ट फाइल खुद बैकस्टैस्टबैकटैस्ट में रखी गई है। लेकिन यह केवल Backtest वर्ग शामिल हैं वास्तव में एक बैकटेस्ट निष्पादित करने के लिए आपको इस वर्ग को इन्स्तांत करना होगा और उसे आवश्यक मॉड्यूल प्रदान करना होगा। यह कैसे किया जाता है यह देखने का सबसे अच्छा तरीका है कि examplesmac. py फ़ाइल में मूविंग औसत क्रॉसओवर कार्यान्वयन को देखना और इसे एक टेम्पलेट के रूप में उपयोग करना है यह MovingAverageCrossStrategy का उपयोग करता है जो कि strategystrategy. py में पाया जाता है। कई मुद्रा जोड़ी उपयोग को प्रदर्शित करने के लिए यह दोनों GBPUSD और EURUSD के व्यापार के लिए डिफ़ॉल्ट है। यह CSVDATADIR में पाया गया डेटा का उपयोग करता है उदाहरण के लिए बैकटेस्ट निष्पादित करने के लिए, बस निम्नलिखित को चलाएं: इसमें कुछ समय लगेगा अपने उबंटु डेस्कटॉप सिस्टम पर घर पर, जनरेटेड इमरीनेट के जरिए उत्पन्न ऐतिहासिक डेटा के साथ। इसे चलाने के लिए लगभग 5-10 मिनट लगते हैं। इस गणना का एक बड़ा हिस्सा वास्तविक बैकस्टेस्ट के अंत में होता है, जब ड्रॉडाउन की गणना की जा रही है, तो कृपया याद रखें कि कोड को लटका नहीं दिया गया है कृपया इसे पूरा होने तक छोड़ दें। 8) यदि आप बैकटेस्ट के प्रदर्शन को देखना चाहते हैं तो आप इक्विटी वक्र, अवधि रिटर्न (यानी टिक-टू-रिटर्न रिटर्न) और ड्रॉडाउन वक्र देखने के लिए केवल आउटपुट का उपयोग कर सकते हैं: और इसे देखते हुए इस स्तर पर आप तैयार हैं रणनीति के बारे में रणनीतियों को संशोधित करने या जोड़ने के लिए अपनी खुद की बैकटेस्ट बनाना शुरू करने के लिए रणनीतिबद्धता और ड्यूकसोकॉपी (ड्यूकास्कापिसविसीनईजीएमएकेवैविचकीय) से डाउनलोड किए गए वास्तविक डेटा का इस्तेमाल करना। यदि आपके पास स्थापना के बारे में कोई प्रश्न हैं तो कृपया मुझे माइकक्वैंटार्ट पर ईमेल करने के लिए स्वतंत्र महसूस करें। यदि आपके पास कोई भी बग या अन्य समस्याएं हैं जो आपको विशेष रूप से कोडबेस के कारण हो सकती हैं, तो Github समस्या को यहां खोलने में कोई परेशानी न हो: githubmhallsmooreqsforexissues कॉपीराइट (c) 2018 माइकल हॉल-मूर अनुमति किसी भी व्यक्ति को मुफ्त में प्रदान की जाती है इस सॉफ़्टवेयर की एक प्रति और सॉफ्टवेयर के साथ जुड़ी दस्तावेज़ीकरण फाइलों (सॉफ्टवेयर) को प्राप्त करने के लिए, बिना सीमा के सॉफ्टवेयर में काम करने के लिए, बिना सीमा के उपयोग, कॉपी करने, संशोधित करने, मर्ज करने, प्रकाशित करना, वितरित करना, उपलाइसेंस, और सॉफ्टवेयर की प्रतियां बेचने, और उन लोगों को अनुमति देने के लिए जिन्हें सॉफ्टवेयर ऐसा करने के लिए प्रस्तुत किया गया है, निम्नलिखित शर्तों के अधीन: उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सभी प्रतियां या सॉफ़्टवेयर के पर्याप्त भाग में शामिल किए जाएंगे। सॉफ़्टवेयर प्रदान किया गया है, जैसा कि किसी भी प्रकार की वारंटी के बिना, व्यक्त या निहित है, जिसमें व्यापारिकता की वारंटी, सीमित प्रयोजनों और गैर-उल्लंघन के लिए उपयुक्तता शामिल हैं। किसी भी घटना में अधिकारियों या कॉपीराइट धारकों को किसी भी दावे, क्षति या अन्य देयता के लिए, जो अनुबंध, कार्रवाई या अन्यथा, सॉफ़्टवेयर या उपयोग या अन्य कार्यों के संबंध में या उसके बाद के संबंध में उत्पन्न होने के लिए उत्तरदायी होगा सॉफ्टवेयर। विदेशी मुद्रा व्यापार अस्वीकरण मार्जिन पर विदेशी मुद्रा का व्यापार जोखिम का एक उच्च स्तर है, और सभी निवेशकों के लिए उपयुक्त नहीं हो सकता है पूर्व प्रदर्शन भविष्य के परिणाम का संकेत नहीं है। उत्तोलन का उच्च स्तर आपके और साथ ही आपके लिए काम कर सकता है। विदेशी मुद्रा में निवेश करने का निर्णय लेने से पहले आपको सावधानी से अपने निवेश के उद्देश्यों, अनुभव के स्तर, और जोखिम की भूख पर विचार करना चाहिए। संभावना यह है कि आप अपने कुछ या सभी शुरुआती निवेश के नुकसान को बरकरार रख सकते हैं और इसलिए आपको पैसे का निवेश नहीं करना चाहिए, जिसे आप खोना नहीं चाहते। आपको विदेशी मुद्रा व्यापार से जुड़े सभी जोखिमों से अवगत होना चाहिए, और यदि आपको कोई संदेह है, तो एक स्वतंत्र वित्तीय सलाहकार से सलाह लेनी चाहिए। माइक के बारे में हाय मेरा नाम माइकल हॉल-मूर और मैं क्वांटस्टार्ट के पीछे का व्यक्ति हूं I मैंने वारविक विश्वविद्यालय से गणित में एमएमएटी के साथ स्नातक किया, ने फ्लूइड डायनेमिक्स में इंपीरियल कॉलेज लंदन में पीएचडी प्राप्त किया, और मैग्रायर, लंदन में पिछले कुछ सालों से एक मात्रात्मक व्यापारिक डेवलपर के रूप में हेज फंड में काम कर रहा था। अब मैं इंट्रेड एल्गोरिथम ट्रेडिंग रणनीतियों के अनुसंधान, विकास, बैकटेस्टिंग और कार्यान्वयन के लिए समय व्यतीत करता हूं। मैं वास्तव में सिर्फ एक आदमी है जो एक बार लंदन शहर में एक मात्रात्मक विश्लेषक के रूप में नौकरी पाने के लिए चाहता था। एक युवा स्नातकोत्तर छात्र के रूप में, मुझे एहसास हुआ कि एक क्वांट बनना एक रोमांचक, आकर्षक कैरियर में मेरे गणितीय कौशल का उपयोग करने के लिए अगले तार्किक कदम था। मैंने अक्टूबर 2006 में क्वालिटी का अध्ययन करना शुरू कर दिया, लेकिन जल्द ही यह देखा कि मुझे जानना आवश्यक जानकारी बहुत घना है और काफी काम करने के बिना समझना बहुत कठिन है। मुझे वास्तव में संगठन, आरेख और अन्य लोगों से उपयोगी टिप्स की जरूरत थी जो बेहतर जानते थे। इंटरनेट पर क्वांट जॉब इंटरव्यू की तैयारी के लिए वास्तव में वास्तव में अस्तित्व में है, इसलिए मुझे लगा कि आईडी खुद ही करते हैं और इस प्रकार, क्वांटस्टार्ट का जन्म हुआ। मैंने अपने नोट्स का आयोजन किया, सभी गणितीय वित्त और एल्गोरिथम व्यापार पाठ्यपुस्तकों को पढ़ा, लोगों के एक समूह से बात की और उन सारी जानकारी ऑनलाइन रख दीं ताकि मैं आसानी से मेरी नोट्स को कहीं से भी समझ सकूं और समझ सकूं। वापस तो मुझे नहीं पता था कि मैं कुछ बड़ा शुरू करने में मदद कर रहा था। मार्च 2018 में क्वांटा स्टार्ट्स लॉन्च होने के बाद से, Ive एक लंदन हेज फंड के लिए एक मात्रात्मक डेवलपर बन गया है और 500,000 से अधिक अद्वितीय आगंतुकों ने इसे मदद के लिए इस्तेमाल किया है - और अधिक संभाव्य quants और व्यापारियों का दौरा करते रहें फिर, आईडी क्वांटस्टार्ट का उपयोग करने के लिए आपको धन्यवाद देना पसंद करते हैं क्वांटस्टार्ट चलाने के बारे में सबसे बड़ी बात यह है कि आपकी कहानियों और व्यापारिक सफलता की कहानियां सुन रही हैं। आईएम ने अधिक जानकारी जोड़ने और सर्वोत्तम एल्गोरिथम व्यापार और क्वांट फाइनेंस संबंधी जानकारी उपलब्ध कराने के लिए वेबसाइट को बेहतर बनाने के लिए प्रेरित किया, आपके शब्दों और प्रशंसा के लिए धन्यवाद। यह सुनने के लिए हर बार एक महान अनुभव होता है कि किसी ने अपने सपने की नौकरी अर्जित की है या अंत में इस साइट के कारण एक लाभदायक एल्गोरिथम व्यापार मॉडल विकसित किया है। आपकी टिप्पणियां, सुझाव और धन्यवाद बहुत सराहना कर रहे हैं। मेरा मानना ​​है कि क्वांटस्टार्ट के साथ मेरा काम युवाओं को इन कठिन आर्थिक समय में कार्यरत करने में मदद करने का मेरा तरीका है। अगर मैं दसियों की मदद कर सकता हूं तो वॉल स्ट्रीट या सिटी ऑफ़ लंदन में नौकरी हासिल कर सकते हैं, और वे एक सफल मात्रात्मक कैरियर का प्रबंधन करते हैं, तो मुझे लगता है कि इम एक बड़ा अंतर बना रहा है यदि आप नए हैं, तो आपकी मदद करने के लिए यहां Im, इसलिए यदि आपके पास कोई प्रश्न या टिप्पणियां (या सुझाव) हैं, तो कृपया मुझसे कभी भी संपर्क करें मेरे तक पहुंचने का सबसे अच्छा तरीका है माइकक्वटार्ट ईमेल करना आप सभी चीयर्स के लिए शुभकामनाएं

Comments