णनीति लिख सकते हैं।
मात्रात्मक ट्रेडिंग रणनीतियां विकसित करते समय, सबसे पहले ट्रेडिंग टूल्स को कॉन्फ़िगर करना होता है। कॉन्फ़िगरेशन क्या है? यह वास्तव में सिर्फ सेटिंग्स है। इस अनुभाग में, हम आपको एक्सचेंज स्थापित करने, ट्रेडिंग रणनीति बनाने और क्वांटिटेटिव ट्रेडिंग रोबोट बनाने के बारे में बताएंगे, जो सभी क्वांटिटेटिव ट्रेडिंग के लिए आवश्यक पूर्वापेक्षाएँ हैं।
कॉन्फ़िगरेशन को एंट्री-लेवल लर्निंग सिमुलेशन ट्रेडिंग कॉन्फ़िगरेशन और रियल-टाइम ट्रेडिंग कॉन्फ़िगरेशन में विभाजित किया गया है। इस श्रेणी में हम मुख्य रूप से घरेलू कमोडिटी वायदा पर ध्यान केंद्रित करते हैं। विशिष्ट घरेलू परिस्थितियों के कारण अन्य प्रकार के मात्रात्मक निवेश की सिफारिश नहीं की जाती है या उन्हें शुरू नहीं किया जाता है, लेकिन परिचालन प्रक्रिया समान होती है, केवल विन्यास प्रक्रिया भिन्न होती है।
एक्सचेंज जोड़ना संपूर्ण कॉन्फ़िगरेशन प्रक्रिया में पहला कदम है। कृपया विशिष्ट प्रक्रिया के लिए नीचे दिया गया चित्र देखें। इस चरण में, हमें इस बात पर जोर देने की आवश्यकता है कि जिन लोगों को यह निश्चित नहीं है कि वे किस एक्सचेंज से संबंधित हैं, उनके लिए एक्सचेंज जोड़ना कठिन नहीं है। सबसे पहले सीखने का अनुकरण करने की सिफारिश की जाती है।
चित्र 2-4 FMZ मात्रात्मक ट्रेडिंग प्लेटफ़ॉर्म पंजीकरण और एक्सचेंज चरण जोड़ना
हमारा वास्तविक समय मात्रात्मक व्यापार मुख्य रूप से घरेलू वायदा कारोबार उत्पादों पर केंद्रित है। वर्तमान में, इन्वेंटर क्वांटिटेटिव की मुख्य सेवा वस्तुएं भी घरेलू वायदा एक्सचेंज हैं। विदेशी मुद्रा व्यापार करने वाले दोस्तों के लिए, इन्वेंटर क्वांटिटेटिव को एक सीखने के मंच के रूप में इस्तेमाल किया जा सकता है, क्योंकि विदेशी मुद्रा मात्रात्मक व्यापार पहले से ही MT5 जैसे प्लेटफार्मों पर दिखाई दिया है, लेकिन यह अधिक पेशेवर है।
वास्तविक समय कॉन्फ़िगरेशन में जिन मुद्दों पर ध्यान देने की आवश्यकता है वे इस प्रकार हैं: चूंकि आविष्कारक के मात्रात्मक उपकरण कई व्यापारिक बाजारों का समर्थन करते हैं, कमोडिटी वायदा को कॉन्फ़िगर करते समय, आपको पहले चरण 1 में “पारंपरिक वायदा” का चयन करना होगा; चरण 2 में, आपको उस फ्यूचर्स कंपनी द्वारा दिया गया फ्यूचर्स खाता और पासवर्ड भरना होगा जहां आपने खाता खोला था।
आविष्कारक का मात्रात्मक उपकरण सीटीपी प्रोटोकॉल को अपनाता है और सभी घरेलू वायदा कंपनियों का समर्थन करता है। वास्तविक बाज़ार को कॉन्फ़िगर करते समय, जब तक खाता और पासवर्ड गलत न हों, तब तक कोई लिंक विफलता नहीं होगी। इसलिए, शुरुआती लोगों को खाते और पासवर्ड की स्पष्ट रूप से जांच करने पर ध्यान देना चाहिए।
चित्र 2-5 FMZ मात्रात्मक ट्रेडिंग प्लेटफॉर्म वायदा एक्सचेंज जोड़ता है
जो मित्र कमोडिटी फ्यूचर्स में नए हैं, उनके लिए मेरा सुझाव है कि आप पहले कुछ समय के लिए ट्रेडिंग का अनुकरण करें, क्योंकि मात्रात्मक ट्रेडिंग रणनीतियों को विकसित करने की प्रक्रिया में निरंतर परीक्षण, डिबगिंग और अनुकूलन की आवश्यकता होती है। ड्राइविंग की तरह ही, आपको शुरुआत में ड्राइविंग स्कूल में कुछ महीने सीखने को अवश्य मिलेंगे, और फिर टेस्ट पास करने और लाइसेंस प्राप्त करने के बाद आप सड़क पर उतर सकते हैं।
यहां हम SimNow सिम्युलेटेड ट्रेडिंग का उपयोग करने की सलाह देते हैं। सिमनाउ एक वित्तीय सिमुलेशन ट्रेडिंग प्लेटफॉर्म है जिसे विशेष रूप से निवेशकों के लिए शांगकी टेक्नोलॉजी द्वारा बनाया गया है। यह उत्पाद विभिन्न एक्सचेंजों के व्यापार और निपटान नियमों का अनुकरण करता है और वर्तमान में विभिन्न घरेलू वायदा एक्सचेंजों के कमोडिटी वायदा कारोबार का समर्थन करता है। विशिष्ट प्रक्रिया के लिए कृपया नीचे दिया गया चित्र देखें।
चित्र 2-6 लॉगिन के बाद FMZ मात्रात्मक ट्रेडिंग प्लेटफ़ॉर्म प्रबंधन पृष्ठ
रणनीति लाइब्रेरी वह जगह है जहां कोड संग्रहीत किए जाते हैं, जो हमारे मात्रात्मक ट्रेडिंग रणनीति गोदाम के बराबर है। यह मुख्य रूप से दो कार्यों में विभाजित है: रणनीति लेखन और सिमुलेशन बैकटेस्टिंग। रणनीति लेखन क्षेत्र भविष्य में रणनीति विकसित करने के लिए हमारा मुख्य कार्य क्षेत्र है (जैसा कि नीचे दिए गए चित्र में दिखाया गया है)। कई शुरुआती लोग अक्सर विभिन्न कोडों द्वारा अवरुद्ध हो जाते हैं और उन्हें यह बहुत मुश्किल लगता है। वास्तव में, यदि आप थोड़ा ध्यान दें तो आप इन कोडों को सीख सकते हैं। किसी भी प्रकार का मनोवैज्ञानिक बोझ न रखें। सिमुलेशन बैकटेस्टिंग क्षेत्र का उपयोग रणनीति विकास प्रक्रिया के दौरान रणनीतियों को डीबग करने के लिए, साथ ही रणनीति विकास पूरा होने के बाद रणनीतियों का परीक्षण करने के लिए किया जा सकता है। हम अगले अध्यायों में इस बारे में विस्तार से बताएंगे।
चित्र 2-7 नीति बनाने के चरण
एक मात्रात्मक ट्रेडिंग रोबोट एक ट्रेडिंग रणनीति का निष्पादक है। एक बार रणनीति तैयार हो जाने के बाद, एक रोबोट बनाएं जो रणनीति कोड में प्रत्येक ट्रेडिंग तर्क को निष्पादित करने में स्वचालित रूप से आपकी मदद कर सके, साथ ही पोजीशन खोलने और बंद करने, ऑर्डर वापस लेने और अन्य खरीद और बिक्री संचालन में भी आपकी मदद कर सके। मात्रात्मक ट्रेडिंग रोबोट बनाने के लिए विशिष्ट चरण इस प्रकार हैं: पहला, चरण ①: नियंत्रण केंद्र पृष्ठ पर, “रोबोट” पर क्लिक करें, “रोबोट बनाएं” पर क्लिक करें चरण ②: रोबोट को एक कस्टम नाम दें। चरण 3: ट्रेडिंग प्लेटफॉर्म जोड़ने के लिए “+” चिह्न पर क्लिक करें। चरण 4: “रोबोट बनाएं” पर क्लिक करें
चित्र 2-8 रोबोट बनाने के चरण
उपरोक्त प्रक्रिया में, वास्तविक ट्रेडिंग और सिमुलेशन के चयन के पहले चरण को छोड़कर, रणनीति लेखन और ट्रेडिंग रोबोट बनाने के बाद के चरण एकीकृत चरण हैं। संपूर्ण मात्रात्मक उपकरण कॉन्फ़िगर किया गया है, ट्रेडिंग रोबोट पहले से ही चल रहा है, और रणनीति की विशिष्ट स्थितियों के अनुसार खरीद और बिक्री संचालन करेगा। मात्रात्मक व्यापार को कॉन्फ़िगर करने के लिए तीन चरण हैं: एक एक्सचेंज जोड़ें और अपना वायदा खाता पासवर्ड भरें; एक व्यापारिक रणनीति लिखें; और एक वास्तविक समय मात्रात्मक ट्रेडिंग रोबोट बनाएं। क्या यह सरल नहीं है?
यद्यपि मात्रात्मक व्यापार केवल तीन सरल चरणों में प्राप्त किया जा सकता है, आप पा सकते हैं कि एक्सचेंज जोड़ना और मात्रात्मक व्यापार रोबोट बनाना आसान है। हालाँकि, एक व्यवहार्य व्यापार रणनीति को लागू करना इतना आसान नहीं है। अगले भाग में, हम आपको मात्रात्मक व्यापार में सामान्यतः प्रयुक्त एपीआई के बारे में सिखाएंगे, ताकि आप एक व्यवहार्य व्यापार रणनीति लिखने के लिए तैयार हो सकें। क्योंकि कोई फर्क नहीं पड़ता कि किस प्रकार के मात्रात्मक व्यापार उपकरण का उपयोग किया जाता है, यह एपीआई इंटरफ़ेस से अविभाज्य है, जो मात्रात्मक व्यापार रणनीतियों को साकार करने के लिए एक महत्वपूर्ण कार्य है।
जब प्रोग्रामिंग की बात आती है तो हम API को नजरअंदाज नहीं कर सकते। कई गैर-आईटी लोगों के लिए एपीआई वास्तव में क्या है? एपीआई ≈ मुझे समझ नहीं आया. इस अनुभाग में, हम सरल भाषा में बताएंगे कि API क्या है और मात्रात्मक उपकरणों में आमतौर पर उपयोग किए जाने वाले API का परिचय देंगे।
यदि आप ऑनलाइन खोज करेंगे, तो आपको निम्नलिखित परिणाम मिलेंगे: API (एप्लीकेशन प्रोग्रामिंग इंटरफ़ेस) पूर्वनिर्धारित कार्यों का एक सेट है, जिसका उद्देश्य अनुप्रयोगों और डेवलपर्स को स्रोत कोड तक पहुँच के बिना या आंतरिक कार्य प्रणाली के विवरण को समझे बिना कुछ सॉफ्टवेयर या हार्डवेयर पर आधारित रूटीन के एक सेट तक पहुंचने की क्षमता प्रदान करना है। तो, इसे और सरल भाषा में कहें तो, एपीआई वास्तव में क्या है?
वास्तव में, हमारे दैनिक जीवन में, APIs के समान कई परिदृश्य होते हैं। उदाहरण के लिए, जब आप किसी रेस्तरां में खाना खाने जाते हैं, तो आपको केवल मेनू देखना होता है और भोजन का ऑर्डर देना होता है, बिना यह जाने कि भोजन कैसे बनाया जाता है। मेनू में व्यंजन के नाम विशिष्ट API हैं, तथा मेनू API दस्तावेज़ है।
यदि आपको आज मौजूदा उत्पाद का आरंभिक मूल्य जानने की आवश्यकता है, तो आपको यह जानने की आवश्यकता नहीं है कि इसे कैसे प्राप्त किया जाए। आपको बस कोड एडिटर में “OPEN” लिखना होगा और इसे सीधे उपयोग करना होगा। “ओपन” माई भाषा में प्रारंभिक मूल्य का एपीआई है।
माई लैंग्वेज एपीआई को समझाने से पहले, आइए सामान्य कोड संरचना और इसके कार्यात्मक घटकों पर एक नज़र डालें। इससे आपको API को बेहतर ढंग से समझने में मदद मिलेगी। नीचे दिया गया उदाहरण देखें:
चित्र 2-9 माई भाषा का उदाहरण
जैसा कि ऊपर दिए गए कोड में दिखाया गया है: बैंगनी AA एक परिवर्तनशील है। चर एक राशि है जो परिवर्तित हो सकती है, ठीक उसी तरह जैसे बीजगणित जो हमने जूनियर हाई स्कूल में सीखा था। यदि आरंभिक मूल्य AA को सौंपा गया है, तो AA आरंभिक मूल्य है; यदि उच्चतम मूल्य AA को सौंपा गया है, तो AA उच्चतम मूल्य है। बेशक, AA सिर्फ एक कस्टम नाम है, आप इसे BB के रूप में भी परिभाषित कर सकते हैं।
हरे रंग का “:=” का अर्थ है असाइनमेंट, जिसका अर्थ है “:=” के दाईं ओर के मान को बाईं ओर के वेरिएबल को असाइन करना।
नारंगी कोड इन्वेंटर क्वांटिटेटिव टूल का माई भाषा एपीआई है। ध्यान दें कि पहली पंक्ति में OPEN समापन मूल्य प्राप्त करने के लिए एपीआई है, जिसका सीधे उपयोग किया जा सकता है; दूसरी पंक्ति में MA मूविंग एवरेज प्राप्त करने के लिए API है, जिसके लिए दो पैरामीटर पास करने की आवश्यकता होती है, अर्थात, आपको इन्वेंटर क्वांटिटेटिव टूल को बताना होगा कि आपको किस प्रकार का मूविंग एवरेज चाहिए: यदि आप शुरुआती कीमत के आधार पर गणना की गई 50-अवधि की मूविंग एवरेज प्राप्त करना चाहते हैं, तो आप इसे इस प्रकार लिख सकते हैं: MA(OPEN,50); ध्यान दें कि दोनों पैरामीटर के बीच एक अंग्रेजी अल्पविराम है।
पीला “//” एक टिप्पणी प्रतीक है, और इसके पीछे नीले चीनी अक्षर टिप्पणी की सामग्री हैं। इन्हें आप स्वयं पढ़ सकते हैं, तथा इनका उपयोग यह बताने के लिए किया जाता है कि कोड की पंक्ति का क्या अर्थ है। जब प्रोग्राम चल रहा हो तो वह टिप्पणियों पर कार्रवाई नहीं करता। ध्यान दें कि टिप्पणी वर्ण से पहले, कोड की प्रत्येक पंक्ति के अंत में अंग्रेजी अर्धविराम होना चाहिए।
कोड संरचना की बुनियादी समझ के साथ, हम नीचे आपके लिए कुछ सामान्य रूप से उपयोग की जाने वाली भाषाओं को पेश करेंगे, और हम भविष्य में भी इन भाषाओं का अक्सर उपयोग करेंगे। खुला——नवीनतम K-लाइन का आरंभिक मूल्य प्राप्त करें उदाहरण: AA: =OPEN; नवीनतम K-लाइन का आरंभिक मूल्य प्राप्त करें और परिणाम को AA को सौंपें
उच्च——नवीनतम K-लाइन की उच्चतम कीमत प्राप्त करें उदाहरण: AA: =उच्च; नवीनतम K-लाइन का उच्चतम मूल्य प्राप्त करें और परिणाम को AA को असाइन करें
कम——नवीनतम K-लाइन की सबसे कम कीमत प्राप्त करें उदाहरण: एए: = कम; नवीनतम K-लाइन की सबसे कम कीमत प्राप्त करें और परिणाम को AA को असाइन करें
बंद करें——के-लाइन का नवीनतम समापन मूल्य प्राप्त करें। जब इंट्राडे के-लाइन समाप्त नहीं हुई हो, तो नवीनतम मूल्य प्राप्त करें उदाहरण: AA: =CLOSE; नवीनतम K-लाइन का समापन मूल्य प्राप्त करें और परिणाम को AA को असाइन करें
VOL——नवीनतम K-लाइन लेनदेन वॉल्यूम प्राप्त करें उदाहरण: AA: =VOL; नवीनतम K-लाइन लेनदेन वॉल्यूम प्राप्त करें और परिणाम को AA को असाइन करें
REF(X,N) - N चक्र पहले X के मान को संदर्भित करता है। उदाहरण: REF(CLOSE,1); पिछली K-लाइन का आरंभिक मूल्य प्राप्त करें
MA(X,N)——N अवधियों में X का सरल चल औसत ज्ञात करें उदाहरण: MA(CLOSE,10); // नवीनतम K-लाइन का 10-अवधि का मूविंग औसत प्राप्त करें
क्रॉसअप (A,B)——जब A नीचे से ऊपर तक B को पार करता है, तो यह 1 (हाँ) लौटाता है, अन्यथा यह 0 (नहीं) लौटाता है उदाहरण: CROSSUP(CLOSE,MA(C,10)) // समापन मूल्य 10-अवधि औसत मूल्य को पार करता है
क्रॉसडाउन(A,B)——जब A ऊपर से B को पार करता है, तो यह 1 (हाँ) लौटाता है, अन्यथा यह 0 (नहीं) लौटाता है उदाहरण: CROSSDOWN(CLOSE,MA(C,10)) // समापन मूल्य 10-अवधि औसत मूल्य से नीचे चला जाता है
बीके——शुरुआती स्थिति खरीदें उदाहरण: CLOSE>MA(CLOSE,5),BK; // समापन मूल्य 5-अवधि चलती औसत से अधिक है, खरीद स्थिति
एसपी——स्थिति बंद करने के लिए बेचें उदाहरण: CLOSE
एसके——शुरुआती स्थिति बेचें उदाहरण: CLOSE
बीपी——खरीदकर बंद करें उदाहरण: CLOSE>MA(CLOSE,5),BP; // समापन मूल्य 5-अवधि चलती औसत से अधिक है, खरीदें और बंद स्थिति
बीपीके——किसी पोजीशन को बंद करने के लिए खरीदें, और किसी पोजीशन को खोलने के लिए खरीदें (रिवर्स लॉन्ग पोजीशन) उदाहरण: CLOSE>MA(CLOSE,5),BPK; // समापन मूल्य 5-अवधि चलती औसत से अधिक है, छोटी स्थिति को बंद करें और फिर एक नई स्थिति खोलने के लिए खरीदें।
एसपीके——स्थिति बंद करने के लिए बेचें और स्थिति खोलने के लिए बेचें (शॉर्ट सेलिंग) उदाहरण: CLOSE
क्लोजआउट——सभी स्थितियों को बंद करें, स्थिति वृद्धि और कमी मॉडल में उपयोग के लिए अनुशंसित। उदाहरण: क्लोजआउट; सभी दिशाओं में सभी स्थितियों को बंद करें।
जावास्क्रिप्ट भाषा एपीआई को समझाने से पहले, आइए सामान्य कोड संरचना और इसके कार्यात्मक घटकों पर एक नज़र डालें। इससे आपको API को बेहतर ढंग से समझने में मदद मिलेगी। नीचे दिया गया उदाहरण देखें:
चित्र 2-10 जावास्क्रिप्ट कोड उदाहरण
जैसा कि ऊपर दिए गए कोड में दिखाया गया है: जावास्क्रिप्ट भाषा में किसी चर का निर्माण करना अक्सर चर को “घोषित करना” कहलाता है। लाल कोड में, हम एक चर घोषित करने के लिए var कीवर्ड का उपयोग करते हैं, और चर का नाम नारंगी कोड में है: “aa”।
जावास्क्रिप्ट में, बराबर चिह्न का उपयोग मान निर्दिष्ट करने के लिए किया जाता है, अर्थात “=” के दाईं ओर का मान बाईं ओर के चर को निर्दिष्ट किया जाता है। सियान कोड “एक्सचेंज” एक्सचेंज ऑब्जेक्ट है। यहां एक्सचेंज का तात्पर्य आपके द्वारा निर्धारित वायदा कंपनी से है। यह एक निश्चित प्रारूप है, जिसका अर्थ है कि जब आप जावास्क्रिप्ट भाषा एपीआई को कॉल करते हैं, तो आपको एक्सचेंज ऑब्जेक्ट निर्दिष्ट करना होगा।
हरा कोड जावास्क्रिप्ट एपीआई है। जब हम इसे कॉल करते हैं, तो हम वास्तव में एक्सचेंज ऑब्जेक्ट में फ़ंक्शन को कॉल कर रहे होते हैं। नीले कोड के बाद वाले बिंदु पर ध्यान दें, जो भी एक निश्चित प्रारूप है। यहाँ प्रयुक्त कार्य वही है जो हमने मिडिल स्कूल में सीखा था। यदि फ़ंक्शन को पैरामीटर की आवश्यकता नहीं है, तो इसे इंगित करने के लिए रिक्त कोष्ठक का उपयोग करें; यदि फ़ंक्शन को पैरामीटर्स पास करना आवश्यक है, तो पैरामीटर्स को कोष्ठकों के अंदर लिखें।
उदाहरणों के माध्यम से कोड की मूल संरचना और सिद्धांतों को समझने के बाद, हम आपको कई जावास्क्रिप्ट भाषा एपीआई दिखाएंगे जिन्हें आप भविष्य में अक्सर उपयोग करेंगे। SetContractType(“उत्पाद कोड”)——अनुबंध प्रकार सेट करें, अर्थात, आप किस उत्पाद का व्यापार करना चाहते हैं उदाहरण: exchange.SetContractType(“rb1905”); //लेनदेन प्रकार को “रीबार 1905 अनुबंध” पर सेट करें
GetTicker——टिक डेटा प्राप्त करें उदाहरण: exchange.GetTicker(); //टिक डेटा प्राप्त करें
GetRecords——K-लाइन डेटा प्राप्त करें उदाहरण: exchange.GetRecords(); //K-लाइन डेटा प्राप्त करें
खरीदना उदाहरण: एक्सचेंज.बाय(5000, 1); //5000 युआन में एक लॉट खरीदें
खरीदने, बेचने उदाहरण: एक्सचेंज.सेल(5000, 1); //एक लॉट 5,000 युआन में बेचें
GetAccount——खाते की जानकारी प्राप्त करें उदाहरण: exchange.GetAccount(); //खाता जानकारी प्राप्त करें
GetPosition——स्थिति की जानकारी प्राप्त करें उदाहरण: exchange.GetPosition(); //स्थिति की जानकारी प्राप्त करें
SetDirection——लंबे या छोटे ऑर्डर का प्रकार सेट करें उदाहरण: एक्सचेंज.सेटडायरेक्शन(“खरीदें”); //लंबी स्थिति खोलने के लिए ऑर्डर प्रकार को खरीदने के लिए सेट करें एक्सचेंज.सेटडायरेक्शन(“क्लोजबाय”); //लंबी पोजीशन को बंद करने के लिए बेचने हेतु ऑर्डर प्रकार सेट करें एक्सचेंज.सेटडायरेक्शन(“बेचना”); //शॉर्ट पोजीशन खोलने के लिए बेचने हेतु ऑर्डर प्रकार सेट करें एक्सचेंज.सेटडायरेक्शन(“क्लोजसेल”); // शॉर्ट पोजीशन को बंद करने के लिए ऑर्डर प्रकार को खरीदने के लिए सेट करें
लॉग - लॉग में संदेश आउटपुट करें उदाहरण: लॉग(“हैलो, दुनिया”); // लॉग में “हैलो वर्ल्ड” आउटपुट करें
स्लीप - प्रोग्राम को कुछ समय के लिए रोक दें उदाहरण: नींद(1000); //प्रोग्राम को 1 सेकंड के लिए रोकें
आपमें से कुछ लोगों के मन में यह प्रश्न हो सकता है कि इतने सारे API को कैसे याद रखें? वास्तव में, आपको यह सब याद रखने की ज़रूरत नहीं है। इन्वेंटर क्वांट की आधिकारिक वेबसाइट पर API दस्तावेज़ों का विस्तृत सेट उपलब्ध है। ठीक वैसे ही जैसे शब्दकोश में खोजबीन करना, जब आपको इसकी आवश्यकता हो, तो बस इसे खोज लें। उन कोडों और अन्य सामग्री से भयभीत न हों जिनसे आप पहली बार परिचित हैं। हम चाहते हैं कि हम इन भाषाओं के माध्यम से अपनी रणनीतियां व्यवस्थित करें। कृपया याद रखें कि प्रौद्योगिकी कभी भी परिमाणीकरण की सीमा नहीं होती। आपके पास अच्छी रणनीति है या नहीं, यह इस बात पर निर्भर करता है कि आप मात्रात्मक बाजार में दीर्घकालिक रूप से टिक सकते हैं या नहीं।
उपरोक्त मात्रात्मक व्यापार में सबसे अधिक उपयोग किए जाने वाले एपीआई हैं, जिनमें मूल रूप से शामिल हैं: डेटा प्राप्त करना, डेटा की गणना करना, खरीद और बिक्री के आदेश देना, जो एक सरल मात्रात्मक व्यापार रणनीति को संभालने के लिए पर्याप्त हैं। बेशक, यदि आप अधिक जटिल रणनीति लिखना चाहते हैं, तो आपको इसे प्राप्त करने के लिए इन्वेंटर क्वांटिटेटिव टूल की आधिकारिक वेबसाइट पर जाना होगा।
प्रोग्रामिंग लेगो ब्लॉकों को जोड़ने जैसा है, एपीआई ब्लॉकों के विभिन्न भागों के समान हैं, और प्रोग्रामिंग प्रक्रिया विभिन्न लेगो भागों को एक साथ जोड़कर एक पूर्ण खिलौना बनाने की है। अगले भाग में, मैं आपको एक पूर्ण मात्रात्मक ट्रेडिंग रणनीति तैयार करने के लिए माई लैंग्वेज एपीआई का उपयोग करने के लिए मार्गदर्शन करूंगा।
पिछले अनुभागों का अध्ययन करने के बाद, अब आप अंततः मात्रात्मक व्यापार रणनीतियों को लिखना शुरू कर सकते हैं। यह आपके लिए मैन्युअल ट्रेडिंग से क्वांटिटेटिव ट्रेडिंग की ओर बढ़ने का सबसे महत्वपूर्ण कदम होगा। वास्तव में, यह इतना रहस्यमय नहीं है। रणनीति लिखना आपके विचारों को कोड में बदलने के अलावा और कुछ नहीं है। यह अनुभाग एक मात्रात्मक ट्रेडिंग रणनीति को शुरू से लागू करेगा और आपको इन्वेंटर क्वांटिटेटिव सिस्टम पर रणनीति लिखने के तरीके से परिचित कराएगा।
सबसे पहले, इन्वेंटर क्वांटिटेटिव टूल की आधिकारिक वेबसाइट खोलें, और “रणनीति लाइब्रेरी” और “नई रणनीति” पर बारी-बारी से क्लिक करें। यह ध्यान दिया जाना चाहिए कि कोड लिखना शुरू करने से पहले, आपको प्रोग्रामिंग भाषा ड्रॉप-डाउन मेनू में माई भाषा या जावास्क्रिप्ट भाषा का चयन करना होगा। बेशक, यह प्लेटफॉर्म पायथन, सी++ और विज़ुअल भाषा का भी समर्थन करता है।
पिछले अध्याय में, हमने मूविंग एवरेज से मूल्य को तोड़ने की रणनीति प्रस्तुत की थी। अर्थात: यदि कीमत पिछले 10 दिनों के औसत मूल्य से अधिक है, तो खरीदें; यदि कीमत पिछले 10 दिनों के औसत मूल्य से कम है, तो बेच दें। हालाँकि, हालांकि कीमत सीधे बाजार की स्थिति को प्रतिबिंबित कर सकती है, कई गलत सफलता संकेत होंगे; इसलिए हमें इस रणनीति को उन्नत और बेहतर बनाने की आवश्यकता है।
सबसे पहले, प्रवृत्ति की दिशा निर्धारित करने के लिए एक बड़ी अवधि की चलती औसत का चयन करें, जिसने कम से कम लगभग आधे झूठे सफलता संकेतों को फ़िल्टर कर दिया हो। यद्यपि बड़ी अवधि की चलती औसत धीमी है, यह अधिक स्थिर होगी; फिर, प्रवेश की सफलता दर को और बढ़ाने के लिए, एक और शर्त जोड़ें कि यह बड़ी अवधि चलती औसत कम से कम ऊपर की ओर हो; अंत में, एक पूर्ण ट्रेडिंग रणनीति बनाने के लिए मूल्य, अल्पकालिक चलती औसत और दीर्घकालिक चलती औसत के सापेक्ष स्थिति संबंध का उपयोग करें।
उपरोक्त रणनीतिक विचारों और सोच के साथ, हम रणनीति तर्क का निर्माण करने का प्रयास कर सकते हैं। यहाँ तर्क यह नहीं है कि आपसे आकाशीय गति के नियमों की गणना करने को कहा जाए; यह उतना जटिल नहीं है. यह पिछले रणनीतिक विचारों को शब्दों में व्यक्त करने के अलावा और कुछ नहीं है।
लंबी स्थिति खोलना: यदि कोई वर्तमान स्थिति नहीं है, और समापन मूल्य अल्पकालिक चलती औसत से अधिक है, और समापन मूल्य दीर्घकालिक चलती औसत से अधिक है, और अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से अधिक है, और दीर्घकालिक चलती औसत बढ़ रही है।
एक छोटी स्थिति खोलें: यदि कोई वर्तमान स्थिति नहीं है, और समापन मूल्य अल्पकालिक चलती औसत से कम है, और समापन मूल्य दीर्घकालिक चलती औसत से कम है, और अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से कम है, और दीर्घकालिक चलती औसत गिर रही है।
लंबी स्थिति समापनयदि आप वर्तमान में एक लंबा ऑर्डर रखते हैं और समापन मूल्य दीर्घकालिक चलती औसत से कम है, या अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से कम है, या दीर्घकालिक चलती औसत घट रही है।
लघु स्थिति समापनयदि आप वर्तमान में एक शॉर्ट ऑर्डर रखते हैं, और समापन मूल्य दीर्घकालिक चलती औसत से अधिक है, या अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से अधिक है, या दीर्घकालिक चलती औसत बढ़ रही है।
उपरोक्त संपूर्ण मात्रात्मक व्यापार रणनीति का तार्किक हिस्सा है। यदि हम रणनीति तर्क के पाठ संस्करण को कोड में परिवर्तित करते हैं, तो इसमें तीन चरण शामिल होंगे: बाजार की स्थिति प्राप्त करना, संकेतकों की गणना करना, और खरीद और बिक्री के आदेश देना।
पहला कदम बाजार की जानकारी प्राप्त करना है। इस मात्रात्मक व्यापार रणनीति में, हमें केवल समापन मूल्य प्राप्त करने की आवश्यकता है। माई भाषा में, समापन मूल्य प्राप्त करने के लिए एपीआई है: CLOSE. दूसरे शब्दों में, आपको नवीनतम K-लाइन का समापन मूल्य प्राप्त करने के लिए कोड में केवल CLOSE लिखना होगा।
इसके बाद गणना संकेतक आते हैं। इस मात्रात्मक व्यापार रणनीति में, हम कुल 2 तकनीकों का उपयोग करते हैं, अर्थात्: अल्पकालिक चलती औसत और दीर्घकालिक चलती औसत। हम मानते हैं कि अल्पकालिक चलती औसत 10-अवधि चलती औसत है और दीर्घकालिक चलती औसत 50-अवधि चलती औसत है। तो फिर हम 10-अवधि चलती औसत और 50-अवधि चलती औसत �