इस कोर्स को लेने से आपको क्या लाभ होगा? सबसे पहले, यह कोर्स जावास्क्रिप्ट और पायथन प्रोग्रामिंग भाषाओं पर आधारित है। भाषा केवल एक तकनीक है। अंत में, हमें इस तकनीक को एक उद्योग में लागू करना चाहिए। मात्रात्मक व्यापार एक उभरता हुआ उद्योग है, जो वर्तमान में तेजी से विकास के चरण में है और प्रतिभाओं की बड़ी मांग है।
इस पाठ्यक्रम के व्यवस्थित सीखने के माध्यम से, आप मात्रात्मक व्यापार के क्षेत्र की गहरी समझ प्राप्त कर सकते हैं। यदि आप मात्रात्मक व्यापार के क्षेत्र में प्रवेश करने की तैयारी कर रहे छात्र हैं, तो यह भी आपकी मदद करेगा। यदि आप एक स्टॉक या वायदा निवेश उत्साही हैं, तो मात्रात्मक व्यापार आपके व्यक्तिपरक व्यापार में सहायता कर सकता है। व्यापार रणनीतियों को विकसित करके, आप वित्तीय बाजार में लाभ प्राप्त कर सकते हैं, और अपने निवेश और वित्तीय प्रबंधन के लिए चैनलों और प्लेटफार्मों का विस्तार भी कर सकते हैं।
इससे पहले, मुझे अपने व्यक्तिगत ट्रेडिंग अनुभव के बारे में बात करने दें। मैं वित्त प्रमुख नहीं हूं, मैंने सांख्यिकी का अध्ययन किया। सबसे पहले, मैंने अपने स्कूल के दिनों में व्यक्तिपरक रूप से शेयरों का व्यापार करना शुरू किया। बाद में, मैं घरेलू निजी इक्विटी फंडों का मात्रात्मक ट्रेडिंग व्यवसायी बन गया, मुख्य रूप से रणनीति अनुसंधान और रणनीति विकास में लगा हुआ।
मैं इस सर्कल में दस साल से अधिक समय से ट्रेडिंग कर रहा हूं, और विभिन्न प्रकार की रणनीतियों को विकसित किया है। मेरा निवेश दर्शन हैः जोखिम नियंत्रण सब कुछ से ऊपर है और पूर्ण रिटर्न पर केंद्रित है। हमारे विषय का विषय हैः मात्रात्मक व्यापार से परिसंपत्ति प्रबंधन तक - पूर्ण रिटर्न के लिए सीटीए रणनीति विकास।
कोई पूछ सकता है कि सीटीए क्या है? सीटीए वास्तव में क्या है? सीटीए को विदेशी देशों में कमोडिटी ट्रेडिंग एडवाइजर और चीन में निवेश प्रबंधक कहा जाता है। पारंपरिक सीटीए अधिकांश निवेशकों के धन को इकट्ठा करना है, फिर उन्हें पेशेवर निवेश संस्थानों को सौंपना है, और अंत में ट्रेडिंग एडवाइजर्स (अर्थात सीटीए) के माध्यम से स्टॉक इंडेक्स वायदा, कमोडिटी वायदा और ट्रेजरी बॉन्ड वायदा में निवेश करना है।
लेकिन वास्तव में, वैश्विक वायदा बाजार के निरंतर विकास और विस्तार के साथ, सीटीए की अवधारणा भी विस्तार कर रही है, और इसका दायरा पारंपरिक वायदा बाजार से बहुत आगे है। यह न केवल वायदा बाजार में, बल्कि ब्याज दर बाजार, शेयर बाजार, विदेशी मुद्रा बाजार और विकल्प बाजार में भी निवेश कर सकता है। जब तक इस किस्म के लिए ऐतिहासिक डेटा की एक निश्चित मात्रा है, तब तक यह इन ऐतिहासिक डेटा के आधार पर संबंधित सीटीए रणनीतियों का विकास कर सकता है।
1980 के दशक की शुरुआत में, इलेक्ट्रॉनिक ट्रेडिंग तकनीक परिपक्व नहीं थी। उस समय, अधिकांश व्यापारी तकनीकी संकेतकों को मैन्युअल रूप से आकर्षित करके कमोडिटी वायदा के भविष्य की प्रवृत्ति का न्याय करते थे, जैसे कि विलियम सूचकांक, केडीजे, आरएसआई, एमएसीडी, सीसीआई, आदि। बाद में, व्यापारियों ने ग्राहकों को परिसंपत्तियों का प्रबंधन करने में मदद करने के लिए एक विशेष सीटीए फंड स्थापित किया। यह 1980 के दशक में इलेक्ट्रॉनिक ट्रेडिंग के लोकप्रिय होने तक नहीं था कि वास्तविक सीटीए फंड दिखाई देने लगा।
सीटीए फंड प्रबंधन के आकार में परिवर्तन
अरबों डॉलर में
आइए ऊपर दिए गए चार्ट को देखें। विशेष रूप से मात्रात्मक व्यापार के उदय के साथ, वैश्विक सीटीए फंडों का पैमाना 2005 में 130.6 बिलियन अमेरिकी डॉलर से बढ़कर 2015 में 300 बिलियन अमेरिकी डॉलर से अधिक हो गया है। सीटीए रणनीति वैश्विक हेज फंडों की मुख्यधारा की निवेश रणनीतियों में से एक बन गई है।
सीटीए फंड के प्रदर्शन का आकार बढ़ रहा है। आइए नीचे दिए गए चार्ट में बार्कलेज सीटीए सूचकांक को देखें। बार्कले सीटीए सूचकांक वैश्विक कमोडिटी ट्रेडिंग सलाहकारों के लिए एक प्रतिनिधि उद्योग बेंचमार्क है। 1979 के अंत से 2016 के अंत तक, बार्कले सीटीए फंड सूचकांक का संचयी रिटर्न 28.95 गुना तक था, वार्षिक रिटर्न 9.59%, शार्प अनुपात 0.37 था, और अधिकतम निकासी 15.66% थी।
क्योंकि परिसंपत्ति आवंटन पोर्टफोलियो में, सीटीए रणनीति आमतौर पर अन्य रणनीतियों के साथ बहुत कम सहसंबंध बनाए रखती है। जैसा कि नीचे दिए गए लाल सर्कल में दिखाया गया है, 2000 से 2002 तक वैश्विक शेयर भालू बाजार और 2008 में वैश्विक सबप्राइम संकट के दौरान, बार्कले सीटीए फंड सूचकांक न केवल गिर नहीं गया बल्कि सकारात्मक रिटर्न भी हासिल किया। जब शेयर बाजार और बांड बाजार संकट में थे, तो सीटीए मजबूत रिटर्न प्रदान कर सकता था। इसके अलावा, हम देख सकते हैं कि 1980 के बाद से बार्कले कमोडिटी सीटीए सूचकांक का लाभ स्तर एस एंड पी 500 से मजबूत रहा है, और निकासी भी एस एंड पी 500 की तुलना में बहुत कम है।
चीन में सीटीए का विकास केवल पिछले दस वर्षों में हुआ है, लेकिन गति बहुत मजबूत है। यह मुख्य रूप से घरेलू कमोडिटी वायदा के अपेक्षाकृत खुले व्यापार वातावरण, व्यापार निधियों की कम सीमा, लंबी और छोटी दोनों स्थितियों में व्यापार करने के लिए मार्जिन प्रणाली के उपयोग, कम लेनदेन लागत, स्टॉक की तुलना में एक्सचेंज की अधिक उन्नत तकनीकी संरचना और आसान सिस्टम ट्रेडिंग के कारण है।
2010 के बाद से, सीटीए फंड मुख्य रूप से निजी फंडों के रूप में मौजूद हैं। घरेलू नीतियों में फंड विशेष खाते के निवेश के दायरे के क्रमिक उद्घाटन के साथ, सीटीए फंड फंड विशेष खाते के रूप में मौजूद होने लगे। इसका अधिक पारदर्शी और खुला संचालन मोड भी अधिक निवेशकों के लिए संपत्ति आवंटित करने के लिए एक आवश्यक उपकरण बन गया है।
सीटीए रणनीतियाँ व्यक्तिगत व्यापारियों के लिए प्रवेश की आसानी, पूंजी की सीमा, ट्रेडिंग रणनीतियों के निष्पादन और एपीआई कनेक्टिविटी के संदर्भ में अन्य ट्रेडिंग रणनीतियों की तुलना में अधिक उपयुक्त हैं। घरेलू वायदा अनुबंध बहुत छोटे हैं। उदाहरण के लिए, मक्का या सोयाबीन का आटा हजारों युआन में कारोबार किया जा सकता है, और लगभग कोई पूंजी की सीमा नहीं है। इसके अलावा, क्योंकि कुछ सीटीए रणनीतियाँ पारंपरिक तकनीकी विश्लेषण से आती हैं, अन्य रणनीतियों की तुलना में यह अपेक्षाकृत आसान है।
सीटीए रणनीति की डिजाइन प्रक्रिया भी अपेक्षाकृत सरल है। सबसे पहले, ऐतिहासिक डेटा को शुरू में संसाधित किया जाता है, और फिर मात्रात्मक मॉडल में इनपुट किया जाता है। मात्रात्मक मॉडल में गणितीय मॉडलिंग, प्रोग्रामिंग डिजाइन और अन्य उपकरणों द्वारा बनाई गई ट्रेडिंग रणनीति शामिल है, और इन डेटा की गणना और विश्लेषण करके ट्रेडिंग सिग्नल उत्पन्न होता है। बेशक, वास्तविक विकास में, यह ऊपर दिए गए चार्ट जितना सरल नहीं है। यहां हम आपको केवल एक समग्र अवधारणा देते हैं।
ट्रेडिंग रणनीति के दृष्टिकोण से, सीटीए रणनीति भी विविध हैः यह एक प्रवृत्ति रणनीति या एक मध्यस्थता रणनीति हो सकती है; यह एक बड़ी अवधि की मध्यम और लंबी अवधि की रणनीति हो सकती है, या एक इंट्राडे लघु अवधि की रणनीति; रणनीति तर्क तकनीकी विश्लेषण या मौलिक विश्लेषण पर आधारित हो सकता है; यह एक व्यक्तिपरक लेनदेन या सिस्टम लेनदेन हो सकता है।
सीटीए रणनीति में विभिन्न वर्गीकरण विधियां हैं। लेनदेन विधि के अनुसार, इसे व्यक्तिपरक लेनदेन और सिस्टम लेनदेन में विभाजित किया जा सकता है। विदेशी सीटीए रणनीति का विकास अपेक्षाकृत उन्नत है, और सिस्टम लेनदेन की सीटीए रणनीति 100% के करीब है। विश्लेषण विधि के अनुसार, इसे बुनियादी विश्लेषण और तकनीकी विश्लेषण में विभाजित किया जा सकता है। आय के स्रोत के अनुसार, इसे प्रवृत्ति व्यापार और दोलन व्यापार में विभाजित किया जा सकता है।
सामान्य तौर पर, सीटीए रणनीति कुल ट्रेडिंग बाजार का लगभग 70% हिस्सा है, ट्रेंड रणनीति लगभग 25% और काउंटर ट्रेंड या ट्रेंड रिवर्स रणनीति लगभग 5% का हिस्सा है। उनमें से, उच्च आवृत्ति व्यापार, इंट्रा-डे ट्रेडिंग, अल्पकालिक और मध्यमकालिक व्यापार और स्थिति अवधि के अनुसार मध्यम और दीर्घकालिक व्यापार में सबसे अधिक अनुपात वाली ट्रेंड रणनीति को विभाजित किया जा सकता है।
वर्तमान में, बाजार में दो मुख्यधारा के उच्च आवृत्ति व्यापारिक रणनीतियाँ हैंः एक उच्च आवृत्ति बाजार बनाने की रणनीति है, दूसरा उच्च आवृत्ति मध्यस्थता रणनीति है। बाजार बनाने की रणनीति व्यापारिक बाजार में तरलता प्रदान करना है। यानी, एक बाजार निर्माता के साथ व्यापारिक बाजार में, यदि कोई व्यापार करना चाहता है, तो बाजार निर्माता को यह सुनिश्चित करना चाहिए कि उसका आदेश कारोबार किया जा सके। यदि बाजार में अपर्याप्त तरलता है और आदेश का व्यापार नहीं किया जा सकता है, तो बाजार निर्माता को प्रतिपक्षी के आदेश को खरीदना या बेचना चाहिए।
उच्च आवृत्ति आर्बिट्रेज दो अत्यधिक सहसंबंधित शेयरों या ईटीएफ और ईटीएफ पोर्टफोलियो के व्यापार को संदर्भित करता है। ईटीएफ की गणना विधि के अनुसार, एक ईटीएफ की अपेक्षित कीमत की गणना उसी तरह से की जा सकती है। ईटीएफ सूचकांक मूल्य मूल्य अंतर प्राप्त करने के लिए ईटीएफ की अपेक्षित कीमत को घटा सकता है। आमतौर पर, मूल्य अंतर एक मूल्य चैनल में चलेगा। यदि मूल्य अंतर ऊपरी और निचले चैनलों के माध्यम से टूट जाता है, तो आप मूल्य अंतर का व्यापार कर सकते हैं, मूल्य अंतर की वापसी की प्रतीक्षा कर सकते हैं, और इससे आय कमा सकते हैं।
जब तक कोई स्थिति रातोंरात नहीं होती, तब तक इसे इंट्रा-डे ट्रेडिंग रणनीति कहा जा सकता है। इंट्रा-डे ट्रेडिंग की छोटी होल्डिंग अवधि के कारण, बाजार में प्रवेश करने के तुरंत बाद मुनाफा कमाना और फिर बाजार से जल्दी बाहर निकलना आमतौर पर असंभव होता है। इसलिए, इस ट्रेडिंग मोड में कम बाजार जोखिम होता है। हालांकि, क्योंकि बाजार कम समय में तेजी से बदलता है, इंट्रा-डे रणनीति में आमतौर पर व्यापारियों के लिए अधिक आवश्यकताएं होती हैं।
सिद्धांत रूप में, होल्डिंग अवधि जितनी लंबी होगी, रणनीतिक क्षमता उतनी ही अधिक होगी और जोखिम-लाभ अनुपात उतनी ही कम होगा। विशेष रूप से संस्थागत लेनदेन में, अल्पकालिक रणनीतियों की सीमित क्षमता के कारण, छोटे समय में बड़े फंड बाजार में प्रवेश और निकास नहीं कर सकते हैं, अधिक दीर्घकालिक रणनीतियों को आवंटित किया जाएगा। आम तौर पर, स्थिति अवधि कई दिन और महीने, या इससे भी अधिक है।
आम तौर पर, सीटीए रणनीति का अध्ययन मिनट, घंटे और दैनिक डेटा के साथ किया जाता है, जिसमें शामिल हैंः उद्घाटन मूल्य, उच्चतम मूल्य, सबसे कम मूल्य, समापन मूल्य, व्यापारिक मात्रा, आदि। केवल कुछ सीटीए रणनीतियाँ टिक डेटा का उपयोग करेंगी, जैसे कि खरीद मूल्य, बिक्री मूल्य, खरीद मात्रा, बिक्री मात्रा और अन्य गहन डेटा एल 2 डेटा में।
सीटीए रणनीति के मूल विचार के बारे में, पहली बात जो हम सोचते हैं वह पारंपरिक तकनीकी संकेतकों पर आधारित है, क्योंकि इस क्षेत्र में कई सार्वजनिक संदर्भ सामग्री हैं, और तर्क आमतौर पर सरल है, जिनमें से अधिकांश सांख्यिकीय सिद्धांतों पर आधारित हैं। उदाहरण के लिए, हम विभिन्न तकनीकी संकेतकों से परिचित हैंः एमए, एसएमए, ईएमए, एमएसीडी, केडीजे, आरएसआई, बीओएलएल, डब्ल्यू एंड आर, डीएमआई, एटीआर, एसएआर, बीआईएएस, ओबीवी, आदि।
बाजार में कुछ क्लासिक ट्रेडिंग मॉडल भी हैं, जिनका उपयोग संदर्भ के लिए और सुधार के लिए भी किया जा सकता है, जिनमें शामिल हैंः एकाधिक चलती औसत संयोजन, डुअल थ्रस्ट, आर-ब्रेकर, कछुआ ट्रेडिंग विधि, ग्रिड ट्रेडिंग विधि आदि।
ये सभी पारंपरिक तकनीकी विश्लेषण पर आधारित ट्रेडिंग रणनीतियाँ हैं। प्रक्रिया ऐतिहासिक डेटा और सही ट्रेडिंग अवधारणाओं के अनुसार संभावना लाभ के साथ कारकों या ट्रेडिंग स्थितियों को निकालना है, और मान लें कि बाजार में भविष्य में अभी भी ऐसे कानून होंगे। अंत में, ट्रेडिंग रणनीति कोड और पूरी तरह से स्वचालित ट्रेडिंग द्वारा महसूस की जाती है। ओपन पोजीशन, स्टॉप प्रॉफिट, स्टॉप लॉस, इक्विज पोजीशन, कम पोजीशन आदि, जिन्हें आम तौर पर मैन्युअल हस्तक्षेप की आवश्यकता नहीं होती है। वास्तव में, यह मूल्य समय श्रृंखला के सकारात्मक ऑटोकोरेलेशन गुणांक का उपयोग करके विजेताओं को खरीदने की रणनीति है।
सीटीए रणनीति का सबसे बड़ा लाभ यह है कि चाहे वर्तमान बाजार बढ़ रहा हो या गिर रहा हो, यह पूर्ण रिटर्न प्राप्त कर सकता है, खासकर जब बाजार तेजी से बदल रहा हो, या बाजार की प्रवृत्ति स्पष्ट रूप से चिकनी हो, रणनीति का लाभ स्पष्ट है, संक्षेप में, यदि कोई प्रवृत्ति है, तो लाभ है। हालांकि, यदि बाजार अस्थिर स्थिति में है या प्रवृत्ति स्पष्ट नहीं है, तो रणनीति एक उच्च बिंदु पर खरीद सकती है और एक निम्न बिंदु पर बेच सकती है, और नुकसान को आगे और पीछे रोक सकती है।
वायदा सीटीए रणनीति मुख्य रूप से निम्नलिखित बिंदुओं के कारण लाभदायक हैः
इसके अलावा, ट्रेंड ट्रैकिंग की ट्रेडिंग विशेषता यह है कि जब कोई बाजार नहीं होता है तो थोड़ी मात्रा में पैसा खोना, और जब बाजार आता है तो बहुत धन कमाया जाता है। हालांकि, जो लोग ट्रेडिंग करते हैं, वे जानते हैं कि बाजार ज्यादातर समय अस्थिर होता है, और केवल थोड़ी मात्रा में ही ट्रेंड मार्केट होता है। इसलिए, ट्रेंड ट्रैकिंग रणनीति में ट्रेडिंग में कम जीत की दर होती है, लेकिन प्रत्येक लेनदेन का समग्र लाभ और हानि अपेक्षाकृत बड़ी होती है।
चूंकि रुझान ट्रैकिंग रणनीति आय के मामले में अस्थिर है, इसलिए कई निवेश संस्थान एक पोर्टफोलियो बनाने के लिए कई किस्मों और रणनीतियों का उपयोग करेंगे, जिसे एक निश्चित मात्रा में उलट रणनीति के साथ भी कॉन्फ़िगर किया जाएगा। रिवर्स रणनीति कीमतों की समय श्रृंखला में नकारात्मक गुणांक के साथ एक ऑटोकोरेलेशन है, अर्थात, उच्च बिक्री और कम लेना।
सीटीए और पारंपरिक परिसंपत्तियों के बीच संबंध
आइए ऊपर दिए गए चार्ट को देखें। सैद्धांतिक रूप से, विभिन्न शैलियों या अपेक्षाकृत कम सहसंबंध वाली विभिन्न रणनीतियाँ कभी-कभी बाजार की कीमतों में विभिन्न परिवर्तनों का सामना करते समय एक ही समय में एक ही और कभी-कभी अलग-अलग ट्रेडिंग सिग्नल प्रदान करेंगी। क्योंकि कई रिटर्न वक्र एक-दूसरे को ओवरलैप करते हैं, समग्र रिटर्न पूरक होता है, और रिटर्न वक्र अधिक सपाट हो जाएगा, जिससे रिटर्न की अस्थिरता कम हो जाती है।
उपरोक्त दृष्टिकोण से, यह निष्कर्ष निकाला जा सकता है कि एक मास्टर रणनीति विकसित करने की तुलना में कई मध्यम उप-रणनीतियों को विकसित करना बेहतर है। इन रणनीतियों को कैसे नियंत्रित किया जाए? यहां हम मशीन लर्निंग में रैंडम फॉरेस्ट एल्गोरिथ्म से सीख सकते हैं। रैंडम फॉरेस्ट एक स्वतंत्र एल्गोरिथ्म नहीं है, यह कई निर्णय वृक्षों वाला एक निर्णय ढांचा है। यह निर्णय पेड़ की उप-रणनीति के ऊपर मूल रणनीति के बराबर है। सबस्ट्रैटजी क्लस्टर को मूल रणनीति के माध्यम से व्यवस्थित और नियंत्रित किया जाता है।
इसके बाद, हमें एक मूल रणनीति तैयार करने की आवश्यकता है। हम कमोडिटी वायदा बाजार में प्रत्येक किस्म की तरलता, लाभप्रदता और स्थिरता का मूल्यांकन कर सकते हैं ताकि कमोडिटी वायदा पोर्टफोलियो को कम अस्थिरता वाले लाभ के साथ स्क्रीनिंग किया जा सके, और फिर उद्योग तटस्थ स्क्रीनिंग करें, पोर्टफोलियो के उद्योग विसारण के माध्यम से समग्र अस्थिरता को और कम करें, और अंत में व्यापार के लिए बाजार मूल्य मिलान के माध्यम से वास्तविक कमोडिटी वायदा बहु-विविधता पोर्टफोलियो का निर्माण करें।
प्रत्येक किस्म को बहु-पैरामीटर रणनीतियों के साथ भी कॉन्फ़िगर किया जा सकता है, और यह बैकटेस्ट में अच्छे प्रदर्शन के साथ पैरामीटर संयोजन का चयन कर सकता है। जब बाजार की प्रवृत्ति स्पष्ट होती है, तो बहु-पैरामीटर रणनीतियां आम तौर पर लगातार प्रदर्शन करेंगी, जो पदों को जोड़ने के बराबर होती है; जब बाजार अस्थिर स्थिति में होता है, तो पैरामीटर रणनीतियों के कई सेटों का प्रदर्शन आमतौर पर असंगत होता है, ताकि वे क्रमशः लंबे या छोटे जाकर जोखिमों को कवर कर सकें, जो पदों को कम करने के बराबर है। यह पोर्टफोलियो की अधिकतम बैकटेस्ट दर को और कम कर सकता है, जबकि समग्र रिटर्न दर को अपरिवर्तित रखता है।
न्यूटन ने एक बार कहा था: यदि मैं दूसरों से आगे देखता हूं, तो इसका कारण यह है कि मैं दिग्गजों के कंधों पर खड़ा हूं।
बाजार में सार्वजनिक रूप से उपलब्ध सीटीए रणनीतियों में एसएमए रणनीति, बोलिंगर बैंड रणनीति, कछुए के व्यापार नियम, गति रणनीति, मध्यस्थता रणनीति आदि शामिल हैं। मात्रात्मक व्यापार रणनीतियों की एक विशेषता है, अर्थात, वे सार्वजनिक होने के बाद धीरे-धीरे विफल हो जाएंगे। लेकिन यह हमें इन रणनीतियों से सीखने और उनके सार से सीखने से प्रभावित नहीं करता है, ताकि हम दिग्गजों के कंधों पर समस्याओं को हल कर सकें।
मौलिक विश्लेषण को अल्पकालिक मूल्य प्रवृत्ति के बारे में परवाह करने की आवश्यकता नहीं है। यह माना जाता है कि मूल्य अंततः मूल्य में परिलक्षित होगा। यह यह निर्धारित करने के लिए मूल्य के पीछे के कारकों का विश्लेषण करने के बारे में है कि विविधता कितनी मूल्यवान है। आम तौर पर, टॉप-डाउन विश्लेषण विधि को अपनाया जाता हैः मैक्रो कारकों, विविधता कारकों और अन्य कारकों से।
उपरोक्त चार्ट से हम देख सकते हैं कि वस्तुओं की कीमतों को प्रभावित करने वाले कई कारक हैं, और ये डेटा लगातार बदल रहे हैं। यह व्यक्तिगत खुदरा निवेशकों की क्षमता से परे है इन विशाल डेटा को प्राप्त करने के लिए, उद्देश्य विश्लेषण को छोड़ दें।
असल में, कमोडिटी वायदा के मौलिक विश्लेषण में सभी कारकों का विश्लेषण नहीं करना है। हमें केवल जटिल जानकारी से नियमों का पता लगाने के लिए मौलिक विश्लेषण के मूल तत्वों को समझने की आवश्यकता है।
मैक्रोइकॉनॉमिक डेटा जटिल और परिवर्तनशील है। हर दिन, हर पल, राष्ट्रीय राजनीति, केंद्रीय बैंकों, निवेश बैंकों, आधिकारिक और अनौपचारिक से कई आर्थिक डेटा प्रकाशित होते हैं। राजनीतिक और आर्थिक संकट के अलावा, मैक्रो-विश्लेषण बातचीत के लिए एक अच्छी सामग्री है, लेकिन व्यावहारिक नहीं है। संयुक्त राज्य अमेरिका में एक प्रसिद्ध फंड प्रबंधन विशेषज्ञ पीटर लिंच ने एक बार कहा थाः
मौलिक विश्लेषण में, विविधता विश्लेषण मुख्य रूप से प्रीमियम और छूट, आपूर्ति और मांग संबंध, कमोडिटी इन्वेंट्री, औद्योगिक लाभ, आदि का विश्लेषण करने के लिए है। यह कहा जा सकता है कि कमोडिटी वायदा के विविधता कारक विश्लेषण में महारत हासिल करने से बाजार की अधिकांश प्रवृत्ति का न्याय किया जा सकता है।
जैसा कि वायदा करने वाले दोस्तों को पता है, घरेलू कमोडिटी वायदा को आसानी से औद्योगिक उत्पादों और कृषि उत्पादों में विभाजित किया जा सकता है। औद्योगिक उत्पादों और कृषि उत्पादों के विश्लेषण के तरीके अलग-अलग हैं। हम आपूर्ति और मांग के दो पहलुओं पर विस्तार से चर्चा करेंगे। औद्योगिक उत्पादों में, आपूर्ति अपेक्षाकृत स्थिर है। जब तक कोई बड़ी तकनीकी सफलता नहीं होती, उत्पादन क्षमता कम समय में महत्वपूर्ण रूप से बदलने की संभावना नहीं है। इसलिए, औद्योगिक उत्पादों की कीमत को प्रभावित करने वाला मुख्य कारक मांग है। कृषि उत्पादों की मांग अपेक्षाकृत स्थिर है। लंबे समय में, कृषि उत्पादों की मांग बदलती है, लेकिन अल्पकालिक में, कृषि उत्पादों की मांग स्थिर रहती है, इसलिए कृषि उत्पादों की कीमत को प्रभावित करने वाला मुख्य कारक आपूर्ति है।
इसलिए, अर्थशास्त्र के नियमों के अनुसार, यह आपूर्ति और मांग के बीच का संबंध है जो वस्तुओं की कीमत को अंतिम रूप से निर्धारित करता है। सिद्धांत रूप में, जब तक आपूर्ति और मांग के डेटा प्राप्त किए जा सकते हैं, तब तक वस्तुओं की भविष्य की कीमत निर्धारित की जा सकती है। औद्योगिक उत्पादों के लिए, आपूर्ति डेटा प्राप्त करना आसान है, लेकिन मांग डेटा प्राप्त करना मुश्किल है। कृषि उत्पादों के लिए, मांग डेटा प्राप्त करना आसान है, और आपूर्ति डेटा प्राप्त करना मुश्किल है।
दरअसल, हम आगे घटा सकते हैं। आर्थिक बाजार में आपूर्ति और मांग का पारस्परिक परिणाम इन्वेंट्री है। हम इन्वेंट्री डेटा के माध्यम से बाजार की आपूर्ति और मांग के बीच संबंध की ताकत का न्याय कर सकते हैं। यदि किसी वस्तु का इन्वेंट्री बहुत अधिक है, तो इसका मतलब है कि बाजार की आपूर्ति मांग से अधिक है, और वस्तु की कीमत बाहरी परिस्थितियों के अपरिवर्तित रहने की शर्त पर घट जाएगी। यदि किसी वस्तु का इन्वेंट्री बहुत कम है, तो इसका मतलब है कि बाजार की मांग आपूर्ति से अधिक है, और वस्तु की कीमत बाहरी परिस्थितियों के अपरिवर्तित रहने की शर्त पर बढ़ जाएगी।
कमोडिटी इन्वेंट्री का विश्लेषण करने के अलावा, हमें स्पॉट मार्केट और वायदा बाजार के बीच मूल्य अंतर का भी विश्लेषण करने की आवश्यकता है, जिसे आधार अंतर भी कहा जाता है। यदि वायदा मूल्य स्पॉट मूल्य से अधिक है, तो हम इसे वायदा प्रीमियम कहते हैं; यदि वायदा मूल्य स्पॉट मूल्य से कम है, तो हम इसे वायदा छूट कहते हैं। वायदा वितरण प्रणाली के अनुसार, वायदा वितरण तिथि पर, वायदा मूल्य स्पॉट मूल्य के बराबर होना चाहिए।
प्रीमियम या डिस्काउंट के बावजूद, वायदा वितरण प्रणाली के प्रतिबंधों के कारण, वितरण तिथि पर वायदा मूल्य सिद्धांत रूप में स्पॉट मूल्य के बराबर होना चाहिए। जैसे-जैसे वितरण तिथि निकट होती है, स्पॉट मूल्य और वायदा मूल्य दोनों सुसंगत होते हैं। एक वायदा की जगह पर वापसी है, और दूसरा वायदा में स्पॉट की वापसी है।
उपरोक्त सिद्धांत के अनुसार, हम एक ही समय में भविष्य के वायदा मूल्य निर्धारित करने के लिए इन्वेंट्री और बेस डिफरेंस का उपयोग कर सकते हैं। यदि किसी वस्तु का इन्वेंट्री कम है, और यदि वायदा मूल्य स्पॉट मूल्य से बहुत कम है, तो हम यह न्याय कर सकते हैं कि स्पॉट बाजार की मांग आपूर्ति से अधिक है, और भविष्य में स्पॉट मूल्य में वृद्धि की संभावना बड़ी है; वायदा वितरण प्रणाली के कारण भी, जैसे-जैसे डिलीवरी की तारीख निकट आती है, वायदा मूल्य बढ़ेगा, और यह स्पॉट मूल्य के बराबर होगा। भविष्य में वायदा मूल्य में वृद्धि की संभावना अधिक है।
अंत में, हम इन्वेंट्री और बेस डिफरेंस के माध्यम से भविष्य के मूल्य की संभावित दिशा का न्याय करते हैं, लेकिन खरीदने और बेचने का कोई सटीक बिंदु नहीं है, इसलिए हमें प्रवेश और निकास का स्पष्ट संकेत देने के लिए तकनीकी विश्लेषण के साथ सहयोग करने की आवश्यकता है। पूरे मौलिक विश्लेषण की संरचना हैः कम इन्वेंट्री + गहरी छूट + तकनीकी विश्लेषण लंबी स्थिति संकेत = लंबा जाओ; उच्च इन्वेंट्री + पर्याप्त प्रीमियम + तकनीकी विश्लेषण छोटी स्थिति संकेत = छोटा जाओ।
जब ट्रेडिंग रणनीतियों की बात आती है, तो हमें प्रतिनिधि कछुआ व्यापार नियमों के बारे में बात करनी होती है। कछुआ व्यापार नियम ट्रेडिंग के इतिहास में सबसे प्रसिद्ध प्रयोग से आता है। रिचर्ड डेनिस, एक कमोडिटी सट्टेबाज, यह जानना चाहता है कि क्या महान व्यापारी पैदा होते हैं या प्रशिक्षित होते हैं। इस उद्देश्य के लिए, 1983 में, उन्होंने 13 लोगों की भर्ती की और उन्हें वायदा व्यापार की बुनियादी अवधारणाओं के साथ-साथ अपने स्वयं के ट्रेडिंग तरीकों और सिद्धांतों को सिखाया। इन छात्रों को
अगले चार वर्षों में, कछुओं ने 80% की औसत वार्षिक यौगिक ब्याज हासिल की। डेनिस ने साबित किया कि एक सरल प्रणाली और नियमों के साथ, कम या कोई ट्रेडिंग अनुभव नहीं रखने वाले लोग उत्कृष्ट व्यापारी बन सकते हैं। हालांकि, कुछ कछुए लाभ के लिए वेबसाइट पर कछुए के व्यापार के नियम बेचते हैं। इस व्यवहार को रोकने के लिए, दो मूल कछुए, कर्टिस फ़र्थ और आर्थर मैडॉक ने वेबसाइट पर कछुए के व्यापार के नियमों को जनता के लिए मुफ्त में उपलब्ध कराने का फैसला किया।
सच्चाई सामने आने के बाद, लोगों ने पाया कि कछुए के व्यापार नियमों ने अनुकूलित डॉनचियन चैनल को अपनाया और स्थिति प्रबंधन के लिए एटीआर संकेतकों का उपयोग किया। दशकों के ऐतिहासिक परीक्षणों के बाद, यह आम खुदरा निवेशकों के लिए लाभ कमाने के लिए एक आसान व्यापारिक विधि बन गया है। यह आज भी कुछ किस्मों में काम करता है।
तो अब देखते हैं कि कछुए के व्यापार के नियम क्या कहते हैं।
इस प्रकार हम देख सकते हैं कि हालांकि कछुए के व्यापार नियम बहुत सरल दिखते हैं, वास्तव में यह व्यापार प्रणाली के प्रोटोटाइप की एक वास्तविक भावना का गठन किया है। यह एक पूर्ण व्यापार प्रणाली के सभी पहलुओं को कवर करता है, व्यापारियों के लिए व्यक्तिपरक कल्पनाशील निर्णय लेने के लिए कोई जगह नहीं छोड़ता है, जो केवल सिस्टम के प्रोग्राम किए गए संचालन के फायदे बनाता है, जिसमें शामिल हैंः प्रवेश और निकास नियम, फंड प्रबंधन और जोखिम नियंत्रण, आदि।
कछुआ व्यापार पद्धति का सबसे बड़ा लाभ यह है कि यह हमें प्रभावी व्यापार विधियों का एक सेट स्थापित करने में मदद करता है। यह बैच ओपनिंग, गतिशील स्टॉप लाभ और स्टॉप हानि, और बाजार की प्रवृत्ति के बाद की रणनीति का एक संयोजन है, विशेष रूप से एटीआर मूल्य का उपयोग और स्थिति प्रबंधन की अवधारणा, जो सीखने के लायक है। बेशक, इसमें प्रवृत्ति ट्रैकिंग रणनीति के साथ एक आम समस्या भी है, अर्थात, फ्लोटिंग लाभ और वापस लेना। यह संभावना है कि विजेताओं को खरीदने से प्राप्त सभी फ्लोटिंग लाभ तेज गिरावट की अगली लहर के कारण बाहर ले जाया जाएगा। यह सामान्य प्रवृत्ति में बहुत मजबूत है, और अस्थिर बाजार में अपेक्षित रूप से अच्छा नहीं है।
पिछली शताब्दी के अंत में, संयुक्त राज्य अमेरिका में वित्तीय निवेश के क्षेत्र में एक बहुत ही अद्भुत ट्रेडिंग विधि प्रबल होने लगी। हजारों लोगों के अभ्यास के बाद, लोगों ने पाया कि इस विधि की प्रभावशीलता और महान व्यावहारिक मूल्य है। साथ ही, यह कई निवेश विशेषज्ञों और पेशेवर व्यापारियों द्वारा मान्यता प्राप्त है। अब तक, यह लगभग सभी वित्तीय निवेश क्षेत्रों में पूरी तरह से लागू किया जा सकता है, चाहे विदेशी मुद्रा, सोना, स्टॉक, वायदा, कच्चे तेल, या सूचकांक और बांड, जो अराजकता संचालन विधि है।
अराजकता शब्द मूल रूप से ब्रह्मांड की अराजक स्थिति के वर्णन को संदर्भित करता है। इसका विचार यह है कि परिणाम अपरिहार्य है, लेकिन क्योंकि मौजूदा ज्ञान परिणाम की गणना नहीं कर सकता है, क्योंकि गणना स्वयं परिणाम को भी बदल रही है, अधिकतम या न्यूनतम परिणाम अंत में दिखाई दे सकता है, लेकिन कोई अपरिहार्य परिणाम नहीं है। यह ट्रेडिंग बाजार के समान है। बाजार का विश्लेषण करने और खरीदने और बेचने पर प्रतिभागी भी बाजार को बदलते हैं। बाजार में शाश्वत परिवर्तनशीलता है। जब प्रतिभागी बाजार के नए रूप को समझते हैं, तो बाजार यह भी समझता है कि यह प्रतिभागियों द्वारा मान्यता प्राप्त है, इसलिए भिन्नता होती है। और यह प्रतिभागियों की अज्ञात दिशा में बदलने की प्रवृत्ति रखता है। इसमें प्रतिभागियों को इसके परिवर्तन नियमों को पकड़ने से रोकने के लिए पर्याप्त ज्ञान है, अर्थात, बाजार स्थिर नहीं है, और बाजार के अतीत की समझ भविष्य का प्रतिनिधित्व नहीं कर सकती है।
अराजकता संचालन पद्धति निवेश विचारों, व्यापार रणनीतियों और प्रवेश और निकास संकेतों का एक पूरा सेट है, जिसका आविष्कार बिल विलियम्स ने किया था। वर्तमान में, दुनिया में कई निवेशक बाजार लेनदेन में भाग लेने के लिए अराजकता संचालन को अपनाते हैं। क्योंकि चीन के वित्तीय बाजार का विकास पीछे है, और अराजकता सिद्धांत भी एक अपेक्षाकृत नया विचार है, चीन में अराजकता संचालन विधियों का अध्ययन करने वाले कुछ लोग हैं। चूंकि अराजकता संचालन पद्धति उच्च सार्वभौमिकता के साथ एक व्यापार रणनीति है और शेयरों, बांड, वायदा, विदेशी मुद्रा और डिजिटल मुद्रा सहित लगभग सभी वित्तीय निवेश क्षेत्रों में लागू की जा सकती है, इसलिए यह पाठ्यक्रम आपके निवेश ब्याज और आय में सुधार के लिए एक सरल संस्करण का उपयोग करता है।
जैसा कि नाम से पता चलता है, अराजकता संचालन पद्धति का सैद्धांतिक आधार अराजकता सिद्धांत है, जिसे मौसम विज्ञानी एडवर्ड लोरेन्स द्वारा प्रस्तावित किया गया था। यह 20 वीं शताब्दी के अंत में सबसे बड़ी वैज्ञानिक खोजों में से एक थी। उन्होंने प्रसिद्ध "बटरफ्लाई प्रभाव" को आगे रखा। बिल विलियम्स ने अराजकता सिद्धांत को वित्तीय निवेश के क्षेत्र में रचनात्मक रूप से लागू किया, फ्रैक्टल ज्यामिति, गैर-रैखिक गतिशीलता और अन्य विषयों के साथ संयुक्त, और बहुत प्रभावी तकनीकी विश्लेषण संकेतकों की एक श्रृंखला बनाई।
संपूर्ण अराजकता संचालन पद्धति पांच प्रमुख आयामों (तकनीकी संकेतकों) से बनी हैः
मगरमच्छ
फ्रैक्टल
गति
त्वरण
संतुलन रेखा
आइए ऊपर दिए गए चार्ट को देखें। एलीगेटर फ्रैक्टल ज्यामिति और गैर-रैखिक गतिशीलता का उपयोग करने वाली संतुलन रेखाओं का एक सेट है। इसका सार घातीय रूप से भारित चलती औसत का विस्तार करना है, जो एक प्रकार की औसत रेखा है, लेकिन इसकी गणना विधि साधारण औसत रेखा की तुलना में थोड़ा अधिक जटिल है। अगला, आइए देखें कि MyLanguage में एलीगेटर को कैसे परिभाषित किया जाए:
// Parameters
N1:=11;
N2:=21;
// Defining the price median
N3:=N1+N2;
N4:=N2+N3;
HL:=(H+L)/2;
// Alligator
Y^^SMA(REF(HL,N3),N4,1);
R:=SMA(REF(HL,N2),N3,1);
G:=SMA(REF(HL,N1),N2,1);
सबसे पहले, हम 2 बाहरी मापदंडों N1 और N2 को परिभाषित करते हैं, और फिर बाहरी मापदंडों के अनुसार उच्चतम मूल्य और सबसे कम मूल्य के औसत HL की गणना करते हैं, और फिर विभिन्न मापदंडों के साथ औसत HL की गणना करते हैं। दांतों के लिए, यह मध्य रेखा के मध्य अवधि का औसत है, और जबड़ा मध्य रेखा के बड़े अवधि का औसत है। इस रणनीति में, हम जबड़े का उपयोग करते हैं।
अराजकता संचालन पद्धति में, एक फ्रैक्टल अवधारणा को स्पष्ट रूप से परिभाषित किया गया है। हम एक सादृश्य बना सकते हैंः हाथ की हथेली खोलें, उंगलियों को ऊपर की ओर देखते हुए, मध्य उंगली ऊपरी फ्रैक्टल है, बाएं छोटी उंगली और रिंगिंग उंगली, और क्रमशः दाएं सूचक उंगली और अंगूठे, रिकॉर्ड उच्च के बिना के-लाइन का प्रतिनिधित्व करते हैं। एक बुनियादी फ्रैक्टल इन पांच के-लाइनों से बना है। फिर आप निम्नलिखित कोड के साथ फ्रैक्टल को परिभाषित कर सकते हैंः
// Fractal
TOP_N:=BARSLAST(REF(H,2)=HHV(H,5))+2;
BOTTOM_N:=BARSLAST(REF(L,2)=LLV(L,5))+2;
TOP:=REF(H,TOP_N);
BOTTOM:=REF(L,BOTTOM_N);
MAX_YRG^^MAX(MAX(Y,R),G);
MIN_YRG^^MIN(MIN(Y,R),G);
TOP_FRACTAL^^VALUEWHEN(H>=MAX_YRG,TOP);
BOTTOM_FRACTAL^^VALUEWHEN(L<=MIN_YRG,BOTTOM);
मगरमच्छ और फ्रैक्टल की गणना करने के बाद, हम इन दो स्थितियों के आधार पर एक सरल अराजक संचालन रणनीति लिख सकते हैं, और मगरमच्छ और फ्रैक्टल सूचकांक की गणना के लिए बेंचमार्क मूल्य के रूप में घातीय रूप से भारित चलती औसत रेखाओं के एक समूह का उपयोग कर सकते हैं। बेशक, मूल अराजक संचालन रणनीति अधिक जटिल होगी। कोड निम्नानुसार हैः
// If there are no current long position orders and the closing price rises above the upper fractal and the upper fractal is above the alligator, open a long position.
BKVOL=0 AND C>=TOP_FRACTAL AND TOP_FRACTAL>MAX_YRG,BPK(1);
// If there are no current short position orders and the closing price falls below the lower fractal and the lower fractal is below the alligator, open a short position.
SKVOL=0 AND C<=BOTTOM_FRACTAL AND BOTTOM_FRACTAL<MIN_YRG,SPK(1);
// Long positions are closed if the closing price falls below the jaws of the alligator.
C<Y,SP(BKVOL);
// Short positions are closed if the closing price rises above the jaws of the alligator.
C>Y,BP(SKVOL);
समझने में आसानी के लिए, मैंने कोड में सीधे विस्तृत टिप्पणियां लिखी हैं। हम बस इस रणनीति के व्यापार तर्क को निम्नानुसार सूचीबद्ध कर सकते हैंः
इसके बाद, आइए देखें कि इस सरल अराजकता संचालन रणनीति बैकटेस्ट के परिणाम वास्तव में कैसे दिखते हैं। बैकटेस्ट को वास्तविक बाजार वातावरण के करीब बनाने के लिए, कमीशन को विनिमय दर से दोगुना सेट किया जाता है, और उद्घाटन और समापन पदों को प्रत्येक दो छलांगों के स्लाइडिंग बिंदु के अधीन किया जाता है। बैकटेस्ट डेटा प्रकार रीबर इंडेक्स है, और ट्रेडिंग प्रकार रीबर मुख्य बल निरंतर है, जिसमें एक निश्चित 1 लॉट खोलने की स्थिति है। निम्नलिखित 1 घंटे के स्तर पर प्रारंभिक बैकटेस्ट प्रदर्शन रिपोर्ट है।
पूंजी वक्र और बैकटेस्ट प्रदर्शन डेटा से, रणनीति ने अच्छा प्रदर्शन किया, और समग्र पूंजी वक्र लगातार ऊपर की ओर था। हालांकि, 2016 के अंत से, रेबर किस्मों की बाजार विशेषताएं बदल गई हैं, उच्च अस्थिरता के एकतरफा प्रवृत्ति से व्यापक अस्थिरता प्रवृत्ति में। पूंजी वक्र के दृष्टिकोण से, 2017 से अब तक लाभ स्पष्ट रूप से कमजोर है।
एक शब्द में, अराजकता संचालन पद्धति का सार एक मोड़ खोजने के लिए है, बिना इस बात की परवाह किए कि बाजार कैसे चलता है या यह सही है या गलत ब्रेकआउट है। यदि यह फ्रैक्टल के माध्यम से टूट जाता है, तो यह सीधे बाजार में प्रवेश करेगा। कभी भी बाजार की भविष्यवाणी करने की कोशिश न करें, लेकिन एक पर्यवेक्षक और अनुयायी बनें।
जॉर्ज सोरोस ने 1987 में लिखी गई
उपरोक्त सिद्धांतों के अनुसार, हम यह जान सकते हैं कि एक अप्रभावी वायदा बाजार में, विभिन्न अवधियों में वितरण अनुबंधों पर बाजार प्रभाव का कारण हमेशा सिंक्रोनस नहीं होता है, और मूल्य निर्धारण पूरी तरह से प्रभावी नहीं होता है। फिर, विभिन्न अवधियों में एक ही लेनदेन वस्तु के वितरण अनुबंध मूल्य के आधार पर, यदि दो कीमतों के बीच एक बड़ा मूल्य अंतर है, तो हम क्रॉस-पीरियड आर्बिट्रेज के लिए एक ही समय में विभिन्न अवधियों में वायदा अनुबंध खरीद और बेच सकते हैं।
कमोडिटी वायदा की तरह, डिजिटल मुद्रा में भी क्रॉस-पीरियड आर्बिट्रेज कॉन्ट्रैक्ट पोर्टफोलियो होता है। उदाहरण के लिए, ओकेएक्स एक्सचेंज में, हैंः ईटीसी चालू सप्ताह, ईटीसी अगले सप्ताह, ईटीसी तिमाही। उदाहरण के लिए, मान लीजिए कि ईटीसी के चालू सप्ताह और ईटीसी की तिमाही के बीच मूल्य अंतर लंबे समय तक लगभग 5 रहता है। यदि मूल्य अंतर एक दिन 7 तक पहुंचता है, तो हम उम्मीद करते हैं कि मूल्य अंतर भविष्य में 5 पर वापस आ जाएगा। फिर हम उस सप्ताह ईटीसी बेच सकते हैं और मूल्य अंतर को कम करने के लिए एक ही समय में ईटीसी तिमाही खरीद सकते हैं, और इसके विपरीत।
हालांकि यह मूल्य अंतर मौजूद है, समय लेने वाले मैनुअल ऑपरेशन, खराब सटीकता और मूल्य परिवर्तनों के प्रभाव के कारण मैनुअल आर्बिट्रेज में कई अनिश्चितताएं हैं। मात्रात्मक आर्बिट्रेज का आकर्षण मात्रात्मक मॉडल के माध्यम से आर्बिट्रेज अवसरों को पकड़ने और आर्बिट्रेज ट्रेडिंग रणनीतियों को तैयार करने के साथ-साथ प्रोग्राम किए गए एल्गोरिदम के माध्यम से एक्सचेंजों में स्वचालित रूप से ट्रेडिंग ऑर्डर रखने में निहित है, ताकि अवसरों को जल्दी और सटीक रूप से कैप्चर किया जा सके और कुशलतापूर्वक और स्थिर रूप से लाभ कमाया जा सके।
यह कोर्स आपको सिखाएगा कि आप एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म और ओकेएक्स एक्सचेंज में ईटीसी वायदा अनुबंध का उपयोग कैसे करें ताकि आप एक सरल मध्यस्थता रणनीति के साथ तत्काल मध्यस्थता के अवसरों को कैप्चर कर सकें, हर बार देखे जा सकने वाले मुनाफे को जब्त कर सकें और डिजिटल मुद्रा व्यापार में आने वाले जोखिमों को कवर कर सकें।
डिजिटल मुद्रा के लिए क्रॉस-पीरियड आर्बिट्रेज रणनीति तैयार करेंकठिनाई: सामान्य
रणनीतिक माहौल
रणनीतिक तर्क
उपरोक्त डिजिटल मुद्रा के क्रॉस-पीरियड आर्बिट्रेज रणनीति का एक सरल तर्क विवरण है। तो कार्यक्रम में हमारे विचारों को कैसे लागू किया जाए? हम एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर ढांचा बनाने का प्रयास करते हैं।
function Data() {} // Basic data function
Data.prototype.mp = function () {} // Position function
Data.prototype.boll = function () {} // Indicator function
Data.prototype.trade = function () {} // Order placement function
Data.prototype.cancelOrders = function () {} // Order withdrawal function
Data.prototype.isEven = function () {} // Processing single contract function
Data.prototype.drawingChart = function () {} // Drawing function
function onTick() {
var data = new Data(tradeTypeA, tradeTypeB); // Create a basic data object
var accountStocks = data.accountData.Stocks; // Account balance
var boll = data.boll(dataLength, timeCycle); // Calculate the technical indicators of boll
data.trade(); // Calculate trading conditions to place an order
data.cancelOrders(); // Cancel orders
data.drawingChart(boll); // Drawing
data.isEven(); // Processing of holding individual contract
}
//Entry function
function main() {
while (true) { // Enter the polling mode
onTick(); // Execute onTick function
Sleep(500); // Sleep for 0.5 seconds
}
}
कल्पना कीजिए कि पर्यवेक्षी ट्रेडिंग में हमारी ट्रेडिंग प्रक्रिया कैसी है। सिस्टम लेनदेन में कोई आवश्यक अंतर नहीं है। यह डेटा प्राप्त करने, डेटा की गणना करने, ऑर्डर लेनदेन करने और ऑर्डर देने के बाद प्रसंस्करण करने से अधिक कुछ नहीं है। कार्यक्रम में भी यही सच है। सबसे पहले, कार्यक्रम लाइन 20 में मुख्य कार्य निष्पादित करेगा, जो एक सम्मेलन है। जब कार्यक्रम ट्रेडिंग रणनीति पूर्व प्रसंस्करण (यदि कोई हो) को पूरा करता है, तो यह अनंत लूप मोड, यानी मतदान मोड में प्रवेश करेगा। मतदान मोड में, ऑनटिक फ़ंक्शन को बार-बार निष्पादित किया जाएगा।
फिर onTick फ़ंक्शन में, यह हमारे व्यापारिक प्रक्रिया है व्यक्तिपरक लेनदेन मेंः पहले, मूल मूल्य डेटा प्राप्त करें, फिर खाता शेष प्राप्त करें, फिर सूचकांक की गणना करें, फिर व्यापारिक शर्तों की गणना करें और ऑर्डर दें, और अंत में ऑर्डर देने के बाद प्रसंस्करण, जिसमें ऑर्डर रद्द करना, एक एकल अनुबंध को आकर्षित करना और संसाधित करना शामिल है।
रणनीति के विचार और लेनदेन प्रक्रिया के अनुसार रणनीति ढांचे को आसानी से स्थापित किया जा सकता है। पूरी रणनीति को तीन चरणों में सरल किया जा सकता हैः
इसके बाद, हमें वास्तविक लेनदेन प्रक्रिया और लेनदेन विवरण के अनुसार रणनीति ढांचे में आवश्यक विवरण कोड भरने की आवश्यकता है।
var chart = {}
var ObjChart = Chart ( chart )
var bars = []
var oldTime = 0
var tradeTypeA = "this_week"; // Arbitrage A Contract
var tradeTypeB = "quarter"; // Arbitrage B Contract
var dataLength = 10; // Indicator period length
var timeCycle = 1; // K-line period
var name = "ETC"; // Currencies
var unit = 1; // Order quantity
function Data(tradeTypeA, tradeTypeB) { // Pass in arbitrage A contract and arbitrage B contract
this.accountData = _C(exchange.GetAccount); // Get account information
this.positionData = _C(exchange.GetPosition); // Get position information
var recordsData = _C(exchange.GetRecords); // Get K-line data
exchange.SetContractType(tradeTypeA); // Subscription arbitrage A contract
var depthDataA = _C(exchange.GetDepth); // Depth data of arbitrage A contract
exchange.SetContractType(tradeTypeB); // Subscription arbitrage B contract
var depthDataB = _C(exchange.GetDepth); // Depth data of arbitrage B contract
this.time = recordsData[recordsData.length - 1].Time; // Time of obtaining the latest data
this.askA = depthDataA.Asks[0].Price; // Sell one price of Arbitrage A contract
this.bidA = depthDataA.Bids[0].Price; // Buy one price of Arbitrage A contract
this.askB = depthDataB.Asks[0].Price; // Sell one price of Arbitrage B contract
this.bidB = depthDataB.Bids[0].Price; // Buy one price of Arbitrage B contract
// Positive arbitrage price differences (Sell one price of contract A - Buy one price of contract B)
this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
// Negative arbitrage price differences (Buy one price of contract A - Sell one price of contract B)
this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}
Data.prototype.mp = function (tradeType, type) {
var positionData = this.positionData; // Get position information
for (var i = 0; i < positionData.length; i++) {
if (positionData[i].ContractType == tradeType) {
if (positionData[i].Type == type) {
if (positionData[i].Amount > 0) {
return positionData[i].Amount;
}
}
}
}
return false;
}
Data.prototype.boll = function (num, timeCycle) {
var self = {}; // Temporary objects
// Median value of positive arbitrage price difference and negative arbitrage price difference
self.Close = (this.basb + this.sabb) / 2;
if (this.timeA == this.timeB) {
self.Time = this.time;
} // Compare two depth data timestamps
if (this.time - oldTime > timeCycle * 60000) {
bars.push(self);
oldTime = this.time;
} // Pass in the price difference data object into the K-line array according to the specified time period
if (bars.length > num * 2) {
bars.shift(); // Control the length of the K-line array
} else {
return;
}
var boll = TA.BOLL(bars, num, 2); // Call the boll indicator in the talib library
return {
up: boll[0][boll[0].length - 1], // boll indicator upper track
middle: boll[1][boll[1].length - 1], // boll indicator middle track
down: boll[2][boll[2].length - 1] // boll indicator down track
} // Return a processed boll indicator data
}
Data.prototype.trade = function (tradeType, type) {
exchange.SetContractType(tradeType); // Resubscribe to a contract before placing an order
var askPrice, bidPrice;
if (tradeType == tradeTypeA) { // If the order is placed in contract A
askPrice = this.askA; // set askPrice
bidPrice = this.bidA; // set bidPrice
} else if (tradeType == tradeTypeB) { // If the order is placed in contract B
askPrice = this.askB; // set askPrice
bidPrice = this.bidB; // set bidPrice
}
switch (type) { // Match order placement mode
case "buy":
exchange.SetDirection(type); // Set order placement mode
return exchange.Buy(askPrice, unit);
case "sell":
exchange.SetDirection(type); // Set order placement mode
return exchange.Sell(bidPrice, unit);
case "closebuy":
exchange.SetDirection(type); // Set order placement mode
return exchange.Sell(bidPrice, unit);
case "closesell":
exchange.SetDirection(type); // Set order placement mode
return exchange.Buy(askPrice, unit);
default:
return false;
}
}
Data.prototype.cancelOrders = function () {
Sleep(500); // Delay before cancellation, because some exchanges, you know what I mean
var orders = _C(exchange.GetOrders); // Get an array of unfilled orders
if (orders.length > 0) { // If there are unfilled orders
for (var i = 0; i < orders.length; i++) { // Iterate through the array of unfilled orders
exchange.CancelOrder(orders[i].Id); // Cancel unfilled orders one by one
Sleep(500); // Delay 0.5 seconds
}
return false; // Return false if an unfilled order is cancelled
}
return true; // Return true if there are no unfilled orders
}
Data.prototype.isEven = function () {
var positionData = this.positionData; // Get position information
var type = null; // Switch position direction
// If the remaining 2 of the position array length is not equal to 0 or the position array length is not equal to 2
if (positionData.length % 2 != 0 || positionData.length != 2) {
for (var i = 0; i < positionData.length; i++) { // Iterate through the position array
if (positionData[i].Type == 0) { // If it is a long order
type = 10; // Set order parameters
} else if (positionData[i].Type == 1) { // If it is a short order
type = -10; // Set order parameters
}
// Close all positions
this.trade(positionData[i].ContractType, type, positionData[i].Amount);
}
}
}
Data.prototype.drawingChart = function (boll) {
var nowTime = new Date().getTime();
ObjChart.add([0, [nowTime, boll.up]]);
ObjChart.add([1, [nowTime, boll.middle]]);
ObjChart.add([2, [nowTime, boll.down]]);
ObjChart.add([3