प्रस्तावना
इस पाठ्यक्रम का अध्ययन क्यों करें?
इस पाठ्यक्रम का अध्ययन करने से आपको क्या लाभ हुआ? सबसे पहले, यह कोर्स जावास्क्रिप्ट और पायथन प्रोग्रामिंग भाषाओं पर आधारित है। भाषा सिर्फ़ एक तकनीक है, और अंततः हमें इस तकनीक को उद्योग में लागू करना होगा। मात्रात्मक व्यापार एक उभरता हुआ उद्योग है जो वर्तमान में तीव्र विकास के चरण में है और इसमें प्रतिभा की भारी मांग है।
इस कोर्स के व्यवस्थित अध्ययन के माध्यम से, आप क्वांटिटेटिव ट्रेडिंग के क्षेत्र की गहरी समझ प्राप्त कर सकते हैं। यदि आप एक छात्र हैं जो क्वांटिटेटिव ट्रेडिंग के क्षेत्र में प्रवेश करने की तैयारी कर रहे हैं, तो यह आपके लिए भी मददगार होगा। यदि आप स्टॉक या वायदा निवेश के प्रति उत्साही हैं, तो क्वांटिटेटिव ट्रेडिंग आपके व्यक्तिपरक व्यापार में पूरी तरह से सहायता कर सकती है। ट्रेडिंग रणनीतियों को विकसित करके, आप वित्तीय बाजार में लाभ कमा सकते हैं और अपने निवेश और वित्तीय प्रबंधन चैनलों और प्लेटफार्मों का विस्तार कर सकते हैं।
इससे पहले, मैं अपने व्यक्तिगत ट्रेडिंग अनुभव के बारे में बात करना चाहूँगा। मैं फाइनेंस में नहीं, बल्कि सांख्यिकी में हूँ। छात्र जीवन में ही उन्होंने व्यक्तिपरक शेयर ट्रेडिंग में भाग लेना शुरू कर दिया था। बाद में, संयोग से, वे एक घरेलू निजी इक्विटी फंड के मात्रात्मक ट्रेडिंग व्यवसायी बन गए, जो मुख्य रूप से रणनीति अनुसंधान और विकास में लगे हुए थे।
मैं दस वर्षों से अधिक समय से ट्रेडिंग के क्षेत्र में हूँ और मैंने विभिन्न प्रकार की रणनीतियाँ विकसित की हैं। मेरा निवेश दर्शन है: जोखिम नियंत्रण सबसे ऊपर, पूर्ण रिटर्न पर ध्यान केन्द्रित करना। हमारे पाठ्यक्रम का शीर्षक है: मात्रात्मक व्यापार से परिसंपत्ति प्रबंधन तक - पूर्ण रिटर्न के लिए सीटीए रणनीति विकास।
1. फ्यूचर्स सीटीए रणनीतियों के साथ पैसा बनाने का तर्क
1.1 फ्यूचर्स सीटीए को समझना
कुछ लोग पूछ सकते हैं कि CTA क्या है? CTA वास्तव में क्या है? सीटीए को विदेश में कमोडिटी ट्रेडिंग सलाहकार कहा जाता है और आमतौर पर देश में इसे निवेश प्रबंधक कहा जाता है। पारंपरिक CTA बड़ी संख्या में निवेशकों के फंड को एकत्रित करता है, फिर उन्हें पेशेवर निवेश संस्थानों को सौंप देता है, और अंत में ट्रेडिंग सलाहकारों (यानी CTA) के माध्यम से स्टॉक इंडेक्स फ्यूचर्स, कमोडिटी फ्यूचर्स और ट्रेजरी बॉन्ड फ्यूचर्स में निवेश करता है।
लेकिन वास्तव में, जैसे-जैसे वैश्विक वायदा बाजार बढ़ता और विकसित होता जा रहा है, सीटीए की अवधारणा भी लगातार विस्तारित हो रही है, और इसका दायरा पारंपरिक वायदा से कहीं अधिक है। यह न केवल वायदा बाजार में निवेश कर सकता है, बल्कि ब्याज दर बाजार, शेयर बाजार, विदेशी मुद्रा बाजार, विकल्प बाजार आदि में भी निवेश कर सकता है। जब तक इस उत्पाद में एक निश्चित मात्रा में ऐतिहासिक डेटा होता है, तब तक संबंधित सीटीए रणनीति हो सकती है इन ऐतिहासिक आंकड़ों के आधार पर विकसित किया गया है।
1980 के दशक से पहले, इलेक्ट्रॉनिक ट्रेडिंग तकनीक बहुत परिपक्व नहीं थी। उस समय, अधिकांश व्यापारी कमोडिटी फ्यूचर्स के भविष्य के रुझान का न्याय करने के लिए विलियम्स इंडिकेटर, केडीजे, आरएसआई, एमएसीडी, सीसीआई आदि जैसे तकनीकी संकेतकों को मैन्युअल रूप से आकर्षित करते थे। बाद में, कुछ व्यापारियों ने ग्राहकों की परिसंपत्तियों के प्रबंधन में मदद के लिए विशेष सीटीए फंड स्थापित किए। 1980 के दशक में इलेक्ट्रॉनिक ट्रेडिंग के लोकप्रिय होने तक CTA फंड्स सही मायनों में सामने नहीं आये थे।
सीटीए फंड प्रबंधन स्केल में परिवर्तन

इकाई: अरबों अमेरिकी डॉलर
यदि हम उपरोक्त चार्ट को देखें, विशेष रूप से मात्रात्मक व्यापार के उदय के साथ, वैश्विक CTA फंड का आकार 2005 में 130.6 बिलियन अमेरिकी डॉलर से बढ़कर 2015 में 300 बिलियन अमेरिकी डॉलर से अधिक हो गया है। इसके अलावा, सीटीए रणनीति वैश्विक हेज फंडों की अधिक मुख्यधारा निवेश रणनीतियों में से एक बन गई है।
सीटीए फंडों का प्रदर्शन भी उनके पैमाने के साथ बढ़ा है। आइए नीचे दिए गए चित्र में बारलेक सीटीए इंडेक्स पर एक नज़र डालें। बारलेक सीटीए इंडेक्स वैश्विक कमोडिटी ट्रेडिंग सलाहकारों के लिए एक प्रतिनिधि उद्योग बेंचमार्क है। 1979 के अंत से 2016 के अंत तक, बारलेक सीटीए फंड इंडेक्स का संचयी रिटर्न 28.95 गुना तक था, जिसमें वार्षिक रिटर्न 9.59%, शार्प अनुपात 0.37 और अधिकतम ड्रॉडाउन 15.66% था।
क्योंकि परिसंपत्ति आवंटन पोर्टफोलियो में, सीटीए रणनीतियां आमतौर पर अन्य रणनीतियों के साथ बेहद कम सहसंबंध बनाए रखती हैं। जैसा कि नीचे दिए गए चित्र में लाल घेरे में दिखाया गया है, 2000 से 2002 तक वैश्विक शेयर बाजार में मंदी और 2008 में वैश्विक सबप्राइम बंधक संकट के दौरान, बारलेक सीटीए फंड इंडेक्स न केवल गिरा बल्कि सकारात्मक रिटर्न भी हासिल किया। स्टॉक और बांड बाजारों में, सीटीए मजबूत आय प्रदान कर सकता है। इसके अलावा, हम यह भी देख सकते हैं कि 1980 के बाद से बार्कलेज कमोडिटी सीटीए इंडेक्स का लाभ स्तर हमेशा एसएंडपी 500 की तुलना में अधिक रहा है, और इसका ड्रॉडाउन भी एसएंडपी 500 की तुलना में बहुत कम है।
मेरे देश में CTA का विकास पिछले एक दशक में ही हुआ है, लेकिन इसकी गति बहुत मजबूत है। यह मुख्य रूप से घरेलू कमोडिटी फ्यूचर्स के अपेक्षाकृत खुले व्यापारिक माहौल, कम ट्रेडिंग कैपिटल थ्रेशहोल्ड, मार्जिन सिस्टम के कारण है जो लॉन्ग और शॉर्ट दो की अनुमति देता है। -वे ट्रेडिंग, और कम लेनदेन शुल्क।, एक्सचेंज की तकनीकी वास्तुकला स्टॉक की तुलना में अधिक उन्नत है और सिस्टम में व्यापार करना आसान है, आदि।
2010 से, सीटीए फंड मुख्य रूप से निजी इक्विटी फंड के रूप में मौजूद हैं। जैसे-जैसे घरेलू नीतियां धीरे-धीरे फंड विशेष खातों के निवेश के दायरे को खोलती जा रही हैं, CTA फंड फंड विशेष खातों के रूप में मौजूद होने लगे हैं। उनके अधिक पारदर्शी और खुले संचालन के तरीके भी अधिक निवेशकों के लिए परिसंपत्ति आवंटन के लिए एक आवश्यक उपकरण बन गए हैं।
जैसा कि ऊपर दिए गए आंकड़े में दिखाया गया है, चाहे शुरुआत करने की कठिनाई, पूंजी सीमा, ट्रेडिंग रणनीति निष्पादन विधि और एपीआई डॉकिंग के संदर्भ में, सीटीए रणनीति अन्य ट्रेडिंग रणनीतियों की तुलना में व्यक्तिगत व्यापारियों के लिए अधिक उपयुक्त है। घरेलू वायदा अनुबंध बहुत छोटे होते हैं। उदाहरण के लिए, मकई या सोयाबीन के आटे का एक लॉट कुछ हज़ार युआन में कारोबार किया जा सकता है, जिसमें लगभग कोई पूंजी सीमा नहीं होती। इसके अलावा, चूँकि कुछ CTA रणनीतियाँ पारंपरिक तकनीकी विश्लेषण से आती हैं, इसलिए इसकी तुलना करना अपेक्षाकृत आसान है अन्य रणनीतियों के लिए..
CTA रणनीति की डिजाइन प्रक्रिया भी अपेक्षाकृत सरल है। सबसे पहले, ऐतिहासिक डेटा को प्रारंभिक रूप से संसाधित किया जाता है और फिर मात्रात्मक मॉडल में इनपुट किया जाता है। मात्रात्मक मॉडल में गणितीय मॉडलिंग, प्रोग्रामिंग डिज़ाइन और अन्य उपकरणों द्वारा बनाई गई ट्रेडिंग रणनीतियाँ शामिल हैं, और गणना करके ट्रेडिंग सिग्नल उत्पन्न करता है और इन आंकड़ों का विश्लेषण करना। बेशक, वास्तविक विकास में, यह उतना सरल नहीं है जितना ऊपर की तस्वीर में दिखाया गया है। यह सिर्फ़ सभी को एक समग्र अवधारणा देने के लिए है।
1.2 फ्यूचर्स सीटीए रणनीति प्रकार
व्यापारिक रणनीतियों के दृष्टिकोण से, सीटीए रणनीतियाँ भी विविधतापूर्ण हैं: वे प्रवृत्ति रणनीतियाँ या मध्यस्थता रणनीतियाँ हो सकती हैं; वे बड़े चक्रों में मध्यम और दीर्घकालिक रणनीतियाँ या एक दिन के भीतर अल्पकालिक रणनीतियाँ हो सकती हैं; रणनीति तर्क पर आधारित हो सकता है तकनीकी विश्लेषण या बुनियादी बातें। सतही विश्लेषण; यह व्यक्तिपरक व्यापार या व्यवस्थित व्यापार हो सकता है।
सीटीए रणनीतियों के लिए अलग-अलग वर्गीकरण विधियाँ हैं। ट्रेडिंग विधि के अनुसार, इसे दो भागों में विभाजित किया जा सकता है: व्यक्तिपरक ट्रेडिंग और व्यवस्थित ट्रेडिंग। विदेशों में सीटीए रणनीतियों का विकास अपेक्षाकृत उन्नत है, और व्यवस्थित ट्रेडिंग की सीटीए रणनीति लगभग 100% तक पहुँच गई है। विश्लेषण पद्धति के अनुसार, इसे दो भागों में विभाजित किया जा सकता है: मौलिक विश्लेषण और तकनीकी विश्लेषण। आय के स्रोत के अनुसार, इसे दो भागों में विभाजित किया जा सकता है: ट्रेंड ट्रेडिंग और स्विंग ट्रेडिंग।
सामान्य तौर पर, पूरे व्यापारिक बाजार में, प्रवृत्ति रणनीतियों का हिस्सा CTA रणनीतियों का लगभग 70% होता है, औसत प्रत्यावर्तन रणनीतियों का हिस्सा लगभग 25% होता है, और प्रति-प्रवृत्ति या प्रवृत्ति प्रत्यावर्तन रणनीतियों का हिस्सा लगभग 5% होता है। उनमें से, प्रवृत्ति रणनीति, जो सबसे बड़े अनुपात के लिए जिम्मेदार है, को होल्डिंग अवधि के अनुसार उच्च आवृत्ति व्यापार, इंट्राडे ट्रेडिंग, मध्यम-अल्पकालिक व्यापार और मध्यम-दीर्घकालिक व्यापार में विभाजित किया जा सकता है।
उच्च आवृत्ति बाजार निर्माण रणनीति
वर्तमान में बाजार पर दो मुख्यधारा उच्च आवृत्ति व्यापार रणनीतियाँ हैं, एक उच्च आवृत्ति बाजार बनाने की रणनीति है, और दूसरी उच्च आवृत्ति मध्यस्थता रणनीति है। मार्केट मेकिंग रणनीति का उद्देश्य ट्रेडिंग मार्केट में लिक्विडिटी प्रदान करना है। कहने का तात्पर्य यह है कि मार्केट मेकर के साथ ट्रेडिंग मार्केट में, यदि कोई खरीदना या बेचना चाहता है, तो मार्केट मेकर को यह सुनिश्चित करना चाहिए कि उसका ऑर्डर निष्पादित हो सके। यदि बाजार में तरलता अपर्याप्त है और ऑर्डर निष्पादित नहीं किया जा सकता है, तो बाजार निर्माता को अन्य लोगों के प्रतिपक्षों को खरीदना और बेचना होगा।
उच्च आवृत्ति मध्यस्थता रणनीतियाँ
उच्च आवृत्ति आर्बिट्रेज दो अत्यधिक सहसंबद्ध स्टॉक या ईटीएफ और ईटीएफ संयोजनों का व्यापार है। ईटीएफ की गणना पद्धति के आधार पर, उसी पद्धति का उपयोग ईटीएफ की अपेक्षित कीमत की गणना के लिए किया जा सकता है। मूल्य अंतर प्राप्त करने के लिए ETF इंडेक्स मूल्य को ETF अपेक्षित मूल्य से घटाया जा सकता है। आमतौर पर, यह मूल्य अंतर एक मूल्य चैनल के भीतर संचालित होगा। यदि मूल्य अंतर ऊपरी और निचले चैनलों से टूट जाता है, तो आप इस मूल्य अंतर का व्यापार कर सकते हैं और प्रतीक्षा कर सकते हैं मूल्य अंतर की वापसी के लिए उससे लाभ कमाना होगा।
इंट्राडे रणनीतियाँ
यदि हम शाब्दिक अर्थ का पालन करें, तो जब तक कि पोजीशन को रात भर नहीं रखा जाता है, इसे डे ट्रेडिंग रणनीति कहा जा सकता है। चूंकि इंट्राडे ट्रेडिंग की होल्डिंग अवधि अपेक्षाकृत कम होती है, इसलिए आमतौर पर बाजार में प्रवेश करने के बाद, कोई व्यक्ति तुरंत लाभ नहीं कमा सकता है और बाजार से जल्दी से बाहर निकल जाता है। इसलिए, इस ट्रेडिंग पद्धति में बाजार जोखिम कम होता है। हालाँकि, क्योंकि बाजार कम समय में तेजी से बदलता है, इसलिए इंट्राडे रणनीतियों में आमतौर पर व्यापारियों के लिए उच्च आवश्यकताएं होती हैं।
मध्यम और दीर्घकालिक रणनीतियाँ
सिद्धांततः, होल्डिंग अवधि जितनी लंबी होगी, रणनीति क्षमता उतनी ही बड़ी होगी और जोखिम-वापसी अनुपात उतना ही कम होगा। विशेष रूप से संस्थागत लेनदेन में, क्योंकि अल्पकालिक रणनीतियों की क्षमता सीमित है और बड़े फंड अल्प अवधि में बाजार में प्रवेश और बाहर नहीं जा सकते हैं, इसलिए अधिक मध्यम और दीर्घकालिक रणनीतियों का आवंटन किया जाएगा। आमतौर पर होल्डिंग अवधि कई दिन, महीने या उससे भी अधिक होती है।
सीटीए रणनीति डेटा
आम तौर पर, CTA रणनीतियाँ अनुसंधान वस्तुओं के रूप में मिनट, घंटे और दैनिक डेटा का उपयोग करती हैं, जिसमें शुरुआती कीमत, उच्चतम कीमत, सबसे कम कीमत, समापन मूल्य, ट्रेडिंग वॉल्यूम आदि शामिल हैं। केवल कुछ ही CTA रणनीतियाँ टिक डेटा का उपयोग करती हैं। उदाहरण के लिए, इन- L2 डेटा में गहन डेटा जैसे क्रय मूल्य, विक्रय मूल्य, क्रय मात्रा, विक्रय मात्रा आदि।
जब सीटीए रणनीतियों के मूल विचारों की बात आती है, तो पहली चीज जो हम सोचते हैं वह है पारंपरिक तकनीकी संकेतक, क्योंकि इस संबंध में अधिक सार्वजनिक संदर्भ सामग्रियां हैं, तर्क आमतौर पर सरल होता है, और उनमें से अधिकांश सांख्यिकीय सिद्धांतों पर आधारित होते हैं। उदाहरण के लिए, विभिन्न तकनीकी संकेतक जिनसे हर कोई परिचित है: एमए, एसएमए, ईएमए, एमएसीडी, केडीजे, आरएसआई, बीओएलएल, डब्ल्यू एंड आर, डीएमआई, एटीआर, एसएआर, बीआईएएस, ओबीवी, इत्यादि।
बाजार में कुछ क्लासिक ट्रेडिंग मॉडल भी हैं जिन्हें संदर्भ के रूप में इस्तेमाल किया जा सकता है और उनमें सुधार किया जा सकता है, जिनमें शामिल हैं: मल्टी-मूविंग एवरेज कॉम्बिनेशन, डुअलथ्रस्ट, आर-ब्रेकर, टर्टल ट्रेडिंग मेथड, ग्रिड ट्रेडिंग मेथड, आदि।
उपरोक्त सभी ट्रेडिंग रणनीतियाँ पारंपरिक तकनीकी विश्लेषण पर आधारित हैं। प्रक्रिया ऐतिहासिक डेटा और सही ट्रेडिंग अवधारणाओं के आधार पर संभाव्य लाभों के साथ कारकों या खरीद और बिक्री की स्थितियों को निकालना है, और यह मान लेना है कि भविष्य में बाजार में यह पैटर्न जारी रहेगा अंत में, कोड का उपयोग करें ट्रेडिंग रणनीतियों को लागू करें और अपने व्यापार को पूरी तरह से स्वचालित करें। पोजीशन खोलना, लाभ लेना, हानि रोकना, पोजीशन जोड़ना, पोजीशन कम करना आदि, इनमें आमतौर पर मानवीय हस्तक्षेप की आवश्यकता नहीं होती है। वास्तव में, यह मूल्य समय श्रृंखला के सकारात्मक स्वसहसंबंध गुणांक का लाभ उठाकर ऊंचे मूल्य पर खरीदने और निचले मूल्य पर बेचने की रणनीति है।
सीटीए रणनीति का सबसे बड़ा लाभ यह है कि इससे पूर्ण रिटर्न प्राप्त किया जा सकता है, भले ही वर्तमान बाजार बढ़ रहा हो या गिर रहा हो, खासकर जब बाजार तेजी से बैल और भालू बाजारों के बीच बदल रहा हो, या जब बाजार की प्रवृत्ति स्पष्ट रूप से सुचारू हो। यह रणनीति बहुत बड़ी है। संक्षेप में, एक प्रवृत्ति है। लाभ में है। हालांकि, यदि बाजार अस्थिर स्थिति में है या प्रवृत्ति स्पष्ट नहीं है, तो इस रणनीति के परिणामस्वरूप उच्च स्तर पर खरीदारी और निम्न स्तर पर बिक्री हो सकती है, तथा नुकसान को रोकने के लिए लगातार आगे-पीछे चलते रहना पड़ सकता है।
1.3 वायदा CTA रणनीतियों के लाभ सिद्धांत
वायदा सीटीए रणनीतियों से पैसा कमाने का मुख्य कारण निम्नलिखित है:
- मूल्य में उतार-चढ़ाव प्रतिवर्ती होते हैं और हमेशा एक प्रवृत्ति के रूप में जारी रहते हैं। जब निवेशक कीमतों में वृद्धि देखते हैं, तो वे खरीदारी कर लेते हैं, जिससे कीमतें और बढ़ जाती हैं। गिरती कीमतों के लिए भी यही बात सत्य है। चूंकि निवेशक अधिक तर्कहीन व्यवहार करते हैं, इसलिए कभी-कभी हम देखते हैं कि जब कीमतें बढ़ती हैं तो वे असामान्य स्तर तक बढ़ जाती हैं और जब गिरती हैं तो असामान्य स्तर तक गिर जाती हैं।
- प्रत्येक निवेशक के पास लाभ और हानि अनुपात के लिए एक असममित सहनशीलता होती है, और जोखिम सहनशीलता भी अलग-अलग होती है। अधिकांश खुदरा निवेशक अधिक रूढ़िवादी प्रवृत्ति-अनुसरण वाली ट्रेडिंग पद्धति को चुनना पसंद करते हैं, तथा बाजार के प्रवृत्ति के अनुरूप चलने की अधिक संभावना होती है।
- कीमतों का निर्माण लेन-देन द्वारा निर्धारित होता है, और लेन-देन लोगों द्वारा संचालित होते हैं। हालाँकि, मानव स्वभाव को बदलना मुश्किल है, यही वजह है कि निश्चित पैटर्न बार-बार दिखाई देते हैं। ऐतिहासिक डेटा पर बैकटेस्ट किए जाने पर यह रणनीति प्रभावी होती है। यह दर्शाता है कि यह प्रभावी हो सकती है भविष्य में.
ट्रेंड-फॉलोइंग ट्रेडिंग की एक और विशेषता यह है कि जब बाजार नहीं होता है तो आप थोड़ा पैसा खो देते हैं और जब बाजार आता है तो आप बहुत सारा पैसा कमा लेते हैं। हालाँकि, ट्रेडिंग करने वाला हर व्यक्ति जानता है कि बाजार में सबसे ज़्यादा उतार-चढ़ाव होता है समय की एक बड़ी मात्रा है, और केवल थोड़े समय के लिए यह एक प्रवृत्ति है। उद्धरण। इसलिए, ट्रेंड फॉलोइंग रणनीति में ट्रेडिंग करते समय जीतने की दर कम होती है, लेकिन कुल मिलाकर प्रत्येक लेनदेन का लाभ और हानि अपेक्षाकृत बड़ी होती है।
चूंकि प्रवृत्ति-अनुसरण रणनीतियों में अस्थिर रिटर्न होता है, इसलिए कई निवेश संस्थान कई किस्मों और कई रणनीतियों का उपयोग करके एक निवेश पोर्टफोलियो का निर्माण करेंगे, जिसमें एक निश्चित मात्रा में उलट रणनीतियां भी शामिल होंगी। उलट रणनीति यह है कि मूल्य समय श्रृंखला में नकारात्मक ऑटोसहसंबंध गुणांक होता है, जिसका अर्थ है उच्च मूल्य पर बेचना और निम्न मूल्य पर खरीदना।
सीटीए और पारंपरिक परिसंपत्तियों के बीच सहसंबंध

यदि हम ऊपर दिए गए चार्ट को देखें, तो सिद्धांत रूप में, जब एक ही समय में बाजार मूल्यों में विभिन्न परिवर्तन होते हैं, तो विभिन्न शैलियों या कम सहसंबंधों वाली कई रणनीतियाँ ऐसे व्यापारिक संकेत उत्पन्न करती हैं जो कभी एक जैसे होते हैं और कभी अलग। जब कई उपज वक्र एक दूसरे पर ओवरलैप होते हैं, तो समग्र रिटर्न एक दूसरे के पूरक बन जाते हैं, और उपज वक्र समतल हो जाता है, जिससे रिटर्न की अस्थिरता कम हो जाती है।
उपरोक्त दृष्टिकोणों से यह निष्कर्ष निकाला जा सकता है कि मास्टर-स्तरीय रणनीति विकसित करने के बजाय, कई औसत दर्जे की उप-रणनीतियाँ विकसित करना बेहतर है। तो इन रणनीतियों को कैसे नियंत्रित किया जाए? यहाँ हम मशीन लर्निंग में रैंडम फ़ॉरेस्ट एल्गोरिदम का उल्लेख कर सकते हैं। रैंडम फ़ॉरेस्ट एक स्वतंत्र एल्गोरिदम नहीं है, यह एक निर्णय लेने वाला ढांचा है जिसमें कई निर्णय वृक्ष शामिल हैं। यह निर्णय वृक्ष की उप-रणनीति के ऊपर मूल रणनीति के समतुल्य है। मूल नीतियों के माध्यम से बाल नीतियों के समूहों को व्यवस्थित और नियंत्रित करें।
इसके बाद, हमें एक मास्टर रणनीति तैयार करने की आवश्यकता है। हम पूरे कमोडिटी वायदा बाजार में विभिन्न कमोडिटी की तरलता, लाभप्रदता और स्थिरता का मूल्यांकन कर सकते हैं, कम अस्थिरता वाले कमोडिटी वायदा संयोजनों को छांट सकते हैं, और फिर उद्योग तटस्थता का संचालन कर सकते हैं। उद्योग में, समग्र अस्थिरता को और कम किया जा सकता है। अंत में, वास्तविक कमोडिटी फ्यूचर्स मल्टी-वेराइटी पोर्टफोलियो का निर्माण ट्रेडिंग के लिए बाजार मूल्य मिलान के माध्यम से किया जाता है।
प्रत्येक उत्पाद को कई पैरामीटर रणनीतियों के साथ भी कॉन्फ़िगर किया जा सकता है। आप एक पैरामीटर संयोजन चुन सकते हैं जो बैकटेस्ट में अच्छा प्रदर्शन करता है। जब बाजार की प्रवृत्ति स्पष्ट होती है, तो कई पैरामीटर रणनीतियाँ आमतौर पर लगातार प्रदर्शन करती हैं, जो कि पदों को जोड़ने के बराबर है। जब बाजार में होता है अस्थिर बाजार में, रणनीति के प्रदर्शन को समायोजित करने के लिए कई पैरामीटर रणनीतियों का उपयोग किया जा सकता है। रणनीतियाँ अक्सर असंगत रूप से व्यवहार करती हैं, इसलिए प्रत्येक जोखिम को कम करने के लिए लंबी या छोटी हो जाती है, जो कि पदों को कम करने के बराबर है। इससे पोर्टफोलियो की अधिकतम रिटर्न दर और कम हो सकती है, जबकि रिटर्न की समग्र दर अपरिवर्तित बनी रहेगी।
2. क्लासिक फ्यूचर्स सीटीए रणनीति मामला
न्यूटन ने एक बार कहा था: यदि मैं दूसरों की तुलना में अधिक दूर तक देख सकता हूँ, तो इसका कारण यह है कि मैं दिग्गजों के कंधों पर खड़ा हूँ।
बाजार में सार्वजनिक रूप से उपलब्ध सीटीए रणनीतियों में मूविंग एवरेज रणनीति, बोलिंगर बैंड रणनीति, टर्टल ट्रेडिंग विधि, गति रणनीति, आर्बिट्रेज रणनीति आदि शामिल हैं। मात्रात्मक ट्रेडिंग रणनीतियों में एक विशेषता होती है, वह यह कि वे प्रकाश में आने पर मर जाती हैं। एक बार जब रणनीति सार्वजनिक हो जाती है, तो यह धीरे-धीरे अप्रभावी हो जाती है। लेकिन इससे इन रणनीतियों को सीखने और उनके सार को समझने की हमारी क्षमता पर कोई असर नहीं पड़ता, ताकि हम समस्याओं को दिग्गजों के कंधों पर खड़े होकर देख सकें।
2.1 वायदा बुनियादी विश्लेषण (इन्वेंट्री, आधार, मूल्य)
फंडामेंटल एनालिसिस को अल्पकालिक मूल्य प्रवृत्तियों के बारे में चिंता करने की ज़रूरत नहीं है। यह मानता है कि मूल्य अंततः कीमत में परिलक्षित होगा। यह मूल्य के पीछे के कारकों का विश्लेषण करने और यह तय करने के बारे में अधिक है कि यह किस्म कितनी मूल्यवान है। सामान्यतः, शीर्ष-से-नीचे विश्लेषण पद्धति अपनाई जाती है: वृहद कारकों, विविध कारकों और अन्य कारकों से।
अगर हम ऊपर दी गई तस्वीर को देखें तो पाएंगे कि कमोडिटी की कीमतों को प्रभावित करने वाले कई कारक हैं, कुल मिलाकर दर्जनों आइटम हैं। अगर हम इसे और भी विभाजित करें तो दर्जनों और कारक हैं, और ये डेटा लगातार बदल रहे हैं। इतनी बड़ी मात्रा में डेटा प्राप्त करना व्यक्तिगत खुदरा निवेशकों की क्षमता से परे है, वस्तुनिष्ठ विश्लेषण करना तो दूर की बात है।
दरअसल, कमोडिटी फ्यूचर्स के मौलिक विश्लेषण का मतलब सभी कारकों का विश्लेषण करना नहीं है। जटिल जानकारी से पैटर्न खोजने के लिए हमें केवल मौलिक विश्लेषण के मूल तत्वों को समझना होगा।
मैक्रो कारक
मैक्रोइकॉनोमिक डेटा जटिल और परिवर्तनशील है। हर दिन और हर पल, विभिन्न देशों में राजनेताओं, केंद्रीय बैंकों और निवेश बैंकों द्वारा बहुत सारे आर्थिक डेटा जारी किए जाते हैं, आधिकारिक और अनौपचारिक दोनों। राजनीतिक और आर्थिक संकटों के अलावा, वृहद विश्लेषण बातचीत के लिए अच्छी सामग्री है, लेकिन बहुत व्यावहारिक नहीं है। प्रसिद्ध अमेरिकी फंड प्रबंधन विशेषज्ञ पीटर लिंच ने एक बार अपनी राय व्यक्त की थी: "मैं हर साल आर्थिक रुझानों का विश्लेषण करने में पंद्रह मिनट से अधिक समय नहीं बिताता।"
विविधता कारक
मौलिक विश्लेषण में, उत्पाद विश्लेषण मुख्य रूप से प्रीमियम और छूट, आपूर्ति और मांग संबंध, कमोडिटी इन्वेंटरी, उद्योग लाभ आदि का विश्लेषण करता है। यह कहा जा सकता है कि कमोडिटी वायदा उत्पाद कारकों के विश्लेषण में महारत हासिल करने से मूल रूप से अधिकांश बाजार के रुझान का निर्धारण किया जा सकता है।
जिन मित्रों ने वायदा कारोबार किया है, वे जानते हैं कि घरेलू कमोडिटी वायदा को सरलता से दो भागों में विभाजित किया जा सकता है: औद्योगिक उत्पाद और कृषि उत्पाद। औद्योगिक उत्पादों और कृषि उत्पादों के विश्लेषण के तरीके अलग-अलग हैं। हम आपूर्ति और मांग के दो पहलुओं से समझाएंगे। औद्योगिक उत्पादों के लिए, आपूर्ति अपेक्षाकृत स्थिर है। जब तक कोई बड़ी तकनीकी सफलता नहीं मिलती, तब तक उत्पादन क्षमता में वृद्धि की संभावना नहीं है। अल्पावधि में वृद्धि। समय के साथ बड़े बदलाव होते हैं, इसलिए औद्योगिक उत्पाद की कीमतों को प्रभावित करने वाला कारक मुख्य रूप से मांग है। कृषि उत्पादों की मांग अपेक्षाकृत स्थिर है। दीर्घावधि में कृषि उत्पादों की मांग में परिवर्तन होता रहता है, लेकिन अल्पावधि में कृषि उत्पादों की मांग स्थिर रहती है। इसलिए, कृषि उत्पादों की कीमत को प्रभावित करने वाले कारक मुख्य रूप से आपूर्ति है.
इसलिए, अर्थशास्त्र के नियमों के अनुसार, यह आपूर्ति और मांग का संबंध है जो अंततः किसी वस्तु की कीमत निर्धारित करता है। सिद्धांत रूप में, जब तक हम आपूर्ति और मांग के आंकड़े प्राप्त कर सकते हैं, हम वस्तु की भविष्य की कीमत का अंदाजा लगा सकते हैं। औद्योगिक उत्पादों के लिए, आपूर्ति डेटा प्राप्त करना अपेक्षाकृत आसान है, लेकिन मांग डेटा प्राप्त करना मुश्किल है। कृषि उत्पादों के लिए, मांग डेटा प्राप्त करना अपेक्षाकृत आसान है, लेकिन आपूर्ति डेटा प्राप्त करना मुश्किल है।
वास्तव में, हम और आगे जाकर घटाव कर सकते हैं। आर्थिक बाजार में आपूर्ति और मांग का पारस्परिक परिणाम इन्वेंट्री है। हम बाजार की आपूर्ति और मांग के बीच संबंधों की ताकत का न्याय करने के लिए इन्वेंट्री डेटा का उपयोग कर सकते हैं। यदि किसी निश्चित वस्तु का भंडार बहुत अधिक है, तो इसका अर्थ है कि बाजार में आपूर्ति की शक्ति मांग से अधिक है, और यदि बाह्य स्थितियां अपरिवर्तित रहती हैं तो वस्तु की कीमत गिर जाएगी। यदि किसी निश्चित वस्तु का भंडार बहुत कम है, तो इसका अर्थ है कि बाजार में मांग की ताकत आपूर्ति से अधिक है, और यदि बाह्य स्थितियां अपरिवर्तित रहीं तो वस्तु की कीमत जल्द ही बढ़ जाएगी।
कमोडिटी इन्वेंटरी का विश्लेषण करने के अलावा, स्पॉट मार्केट और वायदा बाजार के बीच मूल्य अंतर का विश्लेषण करना भी आवश्यक है, जिसे तथाकथित आधार कहा जाता है। यदि वायदा मूल्य हाजिर मूल्य से अधिक है, तो हम इसे प्रीमियम कहते हैं; यदि वायदा मूल्य हाजिर मूल्य से कम है, तो हम इसे डिस्काउंट कहते हैं। वायदा वितरण प्रणाली के अनुसार, वायदा वितरण तिथि पर वायदा मूल्य, हाजिर मूल्य के बराबर होना चाहिए।
चाहे यह प्रीमियम हो या डिस्काउंट, वायदा डिलीवरी प्रणाली की बाध्यताओं के कारण, सिद्धांततः डिलीवरी तिथि पर वायदा मूल्य, हाजिर मूल्य के बराबर होना चाहिए। जैसे-जैसे डिलीवरी की तारीख नजदीक आती है, स्पॉट कीमत और वायदा कीमत एक समान होने लगती है, एक स्पॉट पर वायदा रिटर्न होता है, दूसरा वायदा पर स्पॉट रिटर्न होता है।
उपरोक्त सिद्धांतों के आधार पर, हम भविष्य के वायदा मूल्यों को एक साथ निर्धारित करने के लिए इन्वेंट्री और आधार का उपयोग कर सकते हैं। यदि किसी वस्तु का स्टॉक कम है, और यदि वायदा मूल्य हाजिर मूल्य से बहुत कम है, तो हम यह निष्कर्ष निकाल सकते हैं कि हाजिर बाजार में मांग आपूर्ति से अधिक है, और भविष्य में हाजिर मूल्य में वृद्धि की संभावना अधिक है। जैसे-जैसे डिलीवरी की तारीख नजदीक आती है, वायदा कीमतें बढ़कर हाजिर कीमत के बराबर हो जाएंगी, और भविष्य में वायदा कीमतों के बढ़ने की संभावना अधिक होती है।
अंत में, हमने इन्वेंट्री और आधार के माध्यम से भविष्य की कीमतों की सबसे संभावित दिशा निर्धारित कर ली है, लेकिन अब कोई अधिक सटीक खरीद और बिक्री बिंदु नहीं हैं, इसलिए स्पष्ट प्रवेश और निकास संकेत देने के लिए तकनीकी विश्लेषण की आवश्यकता है। मौलिक विश्लेषण का संपूर्ण ढांचा है: कम इन्वेंट्री + गहरी छूट + तकनीकी विश्लेषण तेजी संकेत = लंबा; उच्च इन्वेंट्री + बड़ा प्रीमियम + तकनीकी विश्लेषण मंदी संकेत = छोटा।
2.2 कछुआ व्यापार नियम
जब ट्रेडिंग रणनीतियों की बात आती है, तो हमें प्रतिनिधि टर्टल ट्रेडिंग नियमों के बारे में बात करनी होगी। टर्टल ट्रेडिंग रूल्स, ट्रेडिंग इतिहास के सबसे प्रसिद्ध प्रयोगों में से एक है, जब कमोडिटी सट्टेबाज रिचर्ड डेनिस यह जानना चाहते थे कि महान व्यापारी पैदा होते हैं या बनाये जाते हैं। इस उद्देश्य से, 1983 में उन्होंने 13 लोगों की भर्ती की और उन्हें वायदा कारोबार की बुनियादी अवधारणाओं के साथ-साथ अपनी स्वयं की व्यापारिक पद्धतियां और सिद्धांत भी सिखाए। इन छात्रों को "समुद्री कछुए" कहा जाता है।
अगले चार वर्षों में, टर्टल्स ने 80% का औसत वार्षिक चक्रवृद्धि रिटर्न हासिल किया। डेनिस ने यह भी प्रदर्शित किया कि एक सरल प्रणाली और नियमों का उपयोग करके, कम या बिना ट्रेडिंग अनुभव वाले लोग भी उत्कृष्ट व्यापारी बन सकते हैं। हालाँकि, कुछ टर्टल लाभ के लिए वेबसाइट पर टर्टल ट्रेडिंग नियमों को बेचते हैं। इस व्यवहार को रोकने के लिए, दो मूल कछुओं, कर्टिस फेथ और आर्थर मैडॉक ने, कछुआ व्यापार नियमों को एक वेबसाइट पर जनता के लिए मुफ्त में उपलब्ध कराने का निर्णय लिया।
सच्चाई सामने आने के बाद, लोगों को पता चला कि टर्टल ट्रेडिंग रूल्स ने एक अनुकूलित डोनचियन चैनल को अपनाया और स्थिति प्रबंधन के लिए एटीआर संकेतक का उपयोग किया। दशकों के ऐतिहासिक परीक्षणों के बाद, यह एक व्यापारिक पद्धति बन गई है जिसका उपयोग आम खुदरा निवेशक आसानी से पैसा बनाने के लिए कर सकते हैं, और यह अभी भी कुछ उत्पादों के लिए प्रभावी है।
कछुआ कोर सिद्धांत
- बढ़त हासिल करें: ऐसी ट्रेडिंग रणनीति खोजें जिसका अपेक्षित मूल्य सकारात्मक हो, क्योंकि यह दीर्घावधि में सकारात्मक रिटर्न उत्पन्न करेगी।
- जोखिमों का प्रबंधन करें: जोखिमों को नियंत्रित करें और अपनी स्थिति पर अडिग रहें, अन्यथा आप वह दिन देखने के लिए जीवित नहीं रह पाएंगे जब आप परिणाम प्राप्त करेंगे।
- अटूट प्रतिबद्धता: केवल अपनी रणनीति को अटूट रूप से क्रियान्वित करके ही आप सही मायने में व्यवस्थित परिणाम प्राप्त कर सकते हैं।
- सरलता और स्पष्टता: दीर्घकाल में, सरल प्रणालियाँ जटिल प्रणालियों की तुलना में अधिक व्यवहार्य होती हैं।
तो अब, आइए देखें कि टर्टल ट्रेडिंग नियम वास्तव में क्या कहते हैं?
- बाजार - क्या खरीदना है और क्या बेचना है, अनिवार्य रूप से, किन बाजारों में व्यापार करना है। टर्टल वायदा व्यापारी थे, और उन्होंने केवल बड़े व्यापारिक वॉल्यूम और उच्च तरलता वाले बाजारों को चुना, क्योंकि कम व्यापारिक वॉल्यूम वाले बाजारों को चुनने से खोने का जोखिम बढ़ जाता था बाजार से बाहर निकलने पर अतिरिक्त फिसलन के कारण आप कई प्रवृत्ति अवसरों को भी खो देंगे।
- स्थिति का आकार - कितना खरीदना या बेचना है, यह पूरी रणनीति का एक बहुत ही महत्वपूर्ण हिस्सा है, लेकिन ज्यादातर लोग आमतौर पर इसे अनदेखा करते हैं या गलत तरीके से व्यवहार करते हैं। टर्टल ट्रेडिंग नियम, ओपनिंग पोजीशन, एडिंग सिग्नल और स्टॉप-लॉस सिग्नल की गणना करने के लिए एटीआर या औसत ट्रू रेंज इंडिकेटर का उपयोग करते हैं। यह एक बहुत ही चतुर डिजाइन है, जिसका उद्देश्य बाजार की पूर्ण अस्थिरता के अनुसार स्थिति के आकार को समायोजित करना है। जब बाजार में अस्थिरता मजबूत होती है, तो स्थिति का आकार कम हो जाता है, और जब बाजार में अस्थिरता कमजोर होती है, तो स्थिति का आकार बढ़ जाता है . यह सबसे पहले एक इकाई को परिभाषित करता है, इस इकाई का सूत्र है: (कुल संपत्ति*1%)/एटीआर. प्रारंभिक स्थिति 1 इकाई है। भले ही उस दिन उत्पाद की गिरावट एटीआर स्तर तक पहुंच जाए, उस दिन नुकसान को कुल संपत्ति के 1% के भीतर नियंत्रित किया जा सकता है। यदि कीमत 0.5 इकाई बढ़ जाती है, तो लंबी स्थिति 1 इकाई से बढ़ जाएगी, अधिकतम 4 इकाई तक।
- बाजार में प्रवेश - कछुए का बाजार में प्रवेश डोनचियन चैनल पर आधारित है। जब कीमत पिछले 20 या 55 के-लाइनों की उच्चतम कीमत से ऊपर उठती है, तो यह लॉन्ग करने के लिए बाजार में प्रवेश करता है। जब कीमत नीचे गिरती है पिछले 20 या 55 के-लाइनों की सबसे कम कीमत, यह लॉन्ग करने के लिए बाजार में प्रवेश करती है।, बस बाजार में प्रवेश करें और शॉर्ट करें। जब संकेत दिखाई दे तो समापन या अगली K-लाइन का इंतजार किए बिना, व्यापार में प्रवेश करें।
- स्टॉप लॉस - दीर्घकाल में, स्टॉप लॉस के बिना किए गए लेन-देन सफल नहीं होंगे, लेकिन अधिकांश व्यापारी इस उम्मीद में घाटे की स्थिति में बने रहते हैं कि बाजार में बदलाव आएगा। टर्टल के पास इस बात के सख्त नियम थे कि हारने वाली पोजीशन से कब बाहर निकलना है। अगर लॉन्ग पोजीशन रखी गई और कीमत 2 यूनिट गिर गई, तो लॉन्ग पोजीशन को स्टॉप लॉस के साथ बंद कर दिया जाएगा। यदि आप शॉर्ट पोजीशन रखते हैं और कीमत 2 यूनिट बढ़ जाती है, तो शॉर्ट पोजीशन स्टॉप लॉस के साथ बंद हो जाएगी।
- लाभ लेना - कछुए के लाभ लेने का मतलब है बहुत सारे अस्थायी लाभ को खोना, जो कि वह हिस्सा है जिसे कई व्यापारियों को स्वीकार करना मुश्किल लगता है। यदि आप वर्तमान में लंबी स्थिति में हैं और कीमत 10-दिवसीय डोन्चियन चैनल के निचले ट्रैक से नीचे गिरती है, तो सभी लंबी स्थिति बंद करें; यदि आप वर्तमान में छोटी स्थिति में हैं और कीमत 10-दिवसीय डोन्चियन चैनल के ऊपरी ट्रैक से ऊपर उठती है, तो सभी लंबी स्थिति बंद करें। डोन्चियन चैनल, सभी शॉर्ट पोजीशन बंद करें।
इससे हम देख सकते हैं कि हालांकि टर्टल ट्रेडिंग नियम सरल दिखते हैं, वास्तव में, उन्होंने एक वास्तविक ट्रेडिंग सिस्टम का प्रोटोटाइप बनाया है। यह एक संपूर्ण ट्रेडिंग सिस्टम के सभी पहलुओं को कवर करता है और व्यापारियों के लिए कोई जगह नहीं छोड़ता है। व्यक्तिपरक कल्पना के लिए जगह है और निर्णय लेने की क्षमता, जो प्रणाली के क्रमादेशित संचालन के लाभों को सामने लाना संभव बनाती है। इसमें शामिल हैं: प्रवेश और निकास नियम, फंड प्रबंधन और जोखिम नियंत्रण आदि।
टर्टल ट्रेडिंग विधि का सबसे बड़ा लाभ यह है कि यह हमें एक प्रभावी ट्रेडिंग विधि स्थापित करने में मदद करती है। यह एक ऐसी रणनीति है जो बैच ओपनिंग, डायनेमिक स्टॉप-प्रॉफिट और स्टॉप-लॉस और मार्केट ट्रेंड फॉलोइंग को जोड़ती है, विशेष रूप से एटीआर वैल्यू और पोजीशन का उपयोग प्रबंधन। यह अवधारणा सीखने लायक है। बेशक, प्रवृत्ति अनुसरण रणनीतियों के साथ भी इसकी एक आम समस्या है, वह है अवास्तविक लाभ लेना। वृद्धि का पीछा करने से प्राप्त अस्थायी लाभ, संभवतः बाद में होने वाली तीव्र गिरावट के कारण नष्ट हो जाएगा। यह बड़े रुझान में बहुत मजबूत है, लेकिन अस्थिर बाजार में इसका प्रदर्शन खराब है।
3. भावी CTA रणनीतियों का व्यावहारिक विकास
3.1 माई भाषा पर आधारित सीटीए प्रवृत्ति रणनीति विकास
पिछली सदी के अंत में, संयुक्त राज्य अमेरिका में वित्तीय निवेश के क्षेत्र में एक जादुई ट्रेडिंग पद्धति लोकप्रिय होने लगी। हज़ारों लोगों द्वारा इसका अभ्यास करने के बाद, लोगों ने पाया कि यह पद्धति कारगर थी और इसका व्यावहारिक मूल्य भी बहुत ज़्यादा था। साथ ही, , इसे कई निवेश विशेषज्ञों द्वारा मान्यता दी गई थी। इसे पेशेवर व्यापारियों द्वारा मान्यता प्राप्त है और इसे अभी भी लगभग सभी वित्तीय निवेश क्षेत्रों में पूरी तरह से लागू किया जा सकता है, चाहे वह विदेशी मुद्रा, सोना, स्टॉक, वायदा, कच्चा तेल, या सूचकांक और बांड हो। यह है अराजकता ऑपरेशन विधि.
अराजकता शब्द मूल रूप से ब्रह्मांड की अराजक स्थिति के वर्णन को संदर्भित करता है। विचार यह है कि परिणाम अपरिहार्य है, लेकिन मौजूदा ज्ञान के कारण इसकी गणना नहीं की जा सकती है, क्योंकि गणना स्वयं भी परिणाम को बदल रही है, और अधिकतम या न्यूनतम परिणाम अंत में दिखाई दे सकता है, लेकिन कोई अनिवार्यता नहीं है। परिणाम। यह बाजार में व्यापार करने के समान ही है, जहां प्रतिभागी बाजार का विश्लेषण करते हुए तथा व्यापार खरीदते और बेचते हुए बाजार को बदलते हैं। बाजार हमेशा परिवर्तनशील रहता है। जब प्रतिभागियों को बाजार के किसी नए स्वरूप के बारे में पता चलता है, तो बाजार को भी पता चलता है कि प्रतिभागियों ने इसे पहचान लिया है, और फिर उत्परिवर्तन होता है। और यह निश्चित रूप से प्रतिभागियों के लिए अज्ञात दिशा में उत्परिवर्तित होगा। इसमें प्रतिभागियों को इसके बदलते पैटर्न को पकड़ने से रोकने के लिए पर्याप्त बुद्धि है। दूसरे शब्दों में, बाजार स्थिर नहीं है, और बाजार के अतीत की समझ भविष्य का प्रतिनिधित्व नहीं कर सकती है।
कैओस ऑपरेटिंग विधि, बिल विलियम्स द्वारा आविष्कृत निवेश विचारों, ट्रेडिंग रणनीतियों और प्रवेश और निकास संकेतों का एक पूरा सेट है। वर्तमान में, कई अंतरराष्ट्रीय निवेशक बाजार लेनदेन में भाग लेने के लिए अराजकता संचालन विधियों का उपयोग करते हैं। मेरे देश के वित्तीय बाजार के पिछड़े विकास और इस तथ्य के कारण कि अराजकता सिद्धांत एक अपेक्षाकृत नया विचार है, चीन में बहुत कम लोग हैं जो अराजकता संचालन विधियों का अध्ययन करते हैं। चूंकि कैओस ऑपरेशन विधि एक अत्यधिक सार्वभौमिक ट्रेडिंग रणनीति है जिसे स्टॉक, बॉन्ड, वायदा, विदेशी मुद्रा और डिजिटल मुद्राओं सहित लगभग सभी वित्तीय निवेश क्षेत्रों में लागू किया जा सकता है, इसलिए यह पाठ्यक्रम शुरुआती बिंदु के रूप में कैओस रणनीति के सरलीकृत संस्करण का उपयोग करता है। . सभी की निवेश रुचि और रिटर्न में सुधार करें।
जैसा कि नाम से पता चलता है, अराजकता संचालन विधि का सैद्धांतिक आधार अराजकता सिद्धांत है, जिसे मौसम विज्ञानी एडवर्ड लोरेंज द्वारा प्रस्तावित किया गया था और यह 20 वीं शताब्दी के उत्तरार्ध में सबसे बड़ी वैज्ञानिक खोजों में से एक है। उन्होंने ही प्रसिद्ध "तितली प्रभाव" का प्रस्ताव रखा था। बिल विलियम्स ने वित्तीय निवेश के क्षेत्र में अराजकता सिद्धांत को रचनात्मक रूप से लागू किया, तथा इसे फ्रैक्टल ज्यामिति, गैर-रेखीय गतिशीलता और अन्य विषयों के साथ संयोजित करके बहुत प्रभावी तकनीकी विश्लेषण संकेतकों की एक श्रृंखला तैयार की।
संपूर्ण अराजकता संचालन विधि पांच आयामों (तकनीकी संकेतक) से बनी है:
आइए ऊपर दी गई तस्वीर को देखें। एलीगेटर लाइन संतुलन रेखाओं का एक समूह है जो फ्रैक्टल ज्यामिति और गैर-रेखीय गतिशीलता का उपयोग करता है। इसका सार विस्तारित घातीय भारित मूविंग एवरेज है, जो मूविंग एवरेज का एक प्रकार है, लेकिन गणना पद्धति थोड़ी अधिक जटिल है साधारण चलती औसत से कुछ अधिक। आगे, आइए देखें कि माइ भाषा में एलीगेटर लाइन को कैसे परिभाषित किया जाता है:
// 参数
N1:=11;
N2:=21;
// 定义价格中线
N3:=N1+N2;
N4:=N2+N3;
HL:=(H+L)/2;
// 鳄鱼线
Y^^SMA(REF(HL,N3),N4,1);
R:=SMA(REF(HL,N2),N3,1);
G:=SMA(REF(HL,N1),N2,1);
सबसे पहले, हम दो बाहरी पैरामीटर N1 और N2 को परिभाषित करते हैं, और फिर बाहरी पैरामीटर के आधार पर उच्चतम मूल्य और निम्नतम मूल्य के औसत HL की गणना करते हैं। फिर, हम क्रमशः विभिन्न पैरामीटर के साथ औसत HL की गणना करते हैं। होंठ चुंबन के लिए, यह है मध्य रेखा का छोटा चक्र। इसे फिर से औसत करने के लिए, दांत मध्य रेखा की मध्यम अवधि का औसत हैं, और जबड़ा मध्य रेखा की बड़ी अवधि का औसत है। इस रणनीति में हम जबड़े का उपयोग करते हैं।
फ्रैक्टल की अवधारणा को कैओस ऑपरेशन विधि में बहुत स्पष्ट रूप से परिभाषित किया गया है। हम एक सादृश्य का उपयोग कर सकते हैं: अपनी उंगलियों को ऊपर की ओर रखते हुए अपनी हथेली खोलें। मध्यमा उंगली ऊपरी फ्रैक्टल है, छोटी उंगली और अनामिका बाईं ओर है, और तर्जनी दाईं ओर की उंगली और अंगूठा अप्रभावित क्षेत्र को दर्शाते हैं। नई ऊंचाई की K-लाइन। एक मूल फ्रैक्टल इन 5 K-लाइनों से बना होता है। फिर आप निम्नलिखित कोड का उपयोग करके फ्रैक्टल को परिभाषित कर सकते हैं:
// 分形
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);
एलीगेटर लाइन और फ्रैक्टल की गणना करने के बाद, हम एलीगेटर लाइन और फ्रैक्टल संकेतकों की गणना के लिए बेंचमार्क मूल्य के रूप में घातीय भारित चलती औसत के एक सेट का उपयोग करके, इन दो स्थितियों के आधार पर एक सरल अराजकता संचालन रणनीति लिख सकते हैं। बेशक, मूल अराजकता ऑपरेशन रणनीति अधिक जटिल है। कोड इस प्रकार है:
// 如果当前无多单,并且收盘价升破上分形,并且上分形在鳄鱼线上方时,多头开仓
BKVOL=0 AND C>=TOP_FRACTAL AND TOP_FRACTAL>MAX_YRG,BPK(1);
// 如果当前无空单,并且收盘价跌破下分形,并且下分形在鳄鱼线下方时,空头开仓
SKVOL=0 AND C<=BOTTOM_FRACTAL AND BOTTOM_FRACTAL<MIN_YRG,SPK(1);
// 如果收盘价跌破鳄鱼的下巴时,多头平仓
C<Y,SP(BKVOL);
// 如果收盘价升破鳄鱼的下巴时,空头平仓
C>Y,BP(SKVOL);
समझने में आसानी के लिए, मैंने कोड में विस्तृत टिप्पणियाँ शामिल की हैं। हम इस रणनीति के ट्रेडिंग लॉजिक को इस प्रकार सूचीबद्ध कर सकते हैं:
- एक लंबी स्थिति खोलें: यदि वर्तमान में कोई लंबा ऑर्डर नहीं है, और समापन मूल्य ऊपरी फ्रैक्टल को तोड़ता है, और ऊपरी फ्रैक्टल एलीगेटर लाइन से ऊपर है।
- शॉर्ट पोजीशन खोलें: यदि वर्तमान में कोई शॉर्ट ऑर्डर नहीं है, और समापन मूल्य निचले फ्रैक्टल से नीचे आता है, और निचला फ्रैक्टल एलीगेटर लाइन से नीचे है।
- लंबी स्थिति से बाहर निकलें: यदि समापन मूल्य एलीगेटर के जबड़े से नीचे गिर जाता है।
- लघु स्थिति से बाहर निकलें: यदि समापन मूल्य एलीगेटर के जबड़े से ऊपर टूट जाता है।
इसके बाद, आइए इस सरल अराजकता संचालन रणनीति के बैकटेस्ट के परिणामों पर एक नज़र डालें। बैकटेस्ट को वास्तविक व्यापारिक वातावरण के अधिक निकट लाने के लिए, लेनदेन शुल्क को एक्सचेंज के शुल्क से दोगुना निर्धारित किया जाता है, तथा पोजीशन खोलने और बंद करने के लिए 2 जंप का स्लिपेज जोड़ा जाता है। बैकटेस्टिंग के लिए डेटा प्रकार रीबार इंडेक्स है, ट्रेडिंग प्रकार रीबार मेन कंटीन्यूअस है, और प्रारंभिक स्थिति 1 लॉट पर तय है। नीचे 1 घंटे के स्तर पर प्रारंभिक बैकटेस्ट प्रदर्शन रिपोर्ट दी गई है।
पूंजी वक्र और बैकटेस्ट प्रदर्शन डेटा से देखते हुए, रणनीति अच्छा प्रदर्शन करती है और समग्र पूंजी वक्र लगातार ऊपर की ओर बढ़ रहा है। हालांकि, 2016 के अंत से रीबार की बाजार विशेषताएं बदल गई हैं, जो पहले की उच्च-अस्थिरता वाली एकतरफा प्रवृत्ति से लेकर उतार-चढ़ाव की एक विस्तृत श्रृंखला तक पहुंच गई है। पूंजी वक्र से पता चलता है कि 2017 से मुनाफा स्पष्ट रूप से कमजोर रहा है।
संक्षेप में, अराजकता संचालन विधि का सार मोड़ बिंदु को खोजना है। आपको इस बारे में चिंता करने की ज़रूरत नहीं है कि बाजार कैसे चलता है, या यह एक सच्ची या झूठी सफलता है या नहीं। यदि आप फ्रैक्टल को तोड़ते हैं, तो आप प्रवेश कर सकते हैं बाजार में सीधे प्रवेश करें। कभी भी बाज़ार का पूर्वानुमान लगाने की कोशिश न करें, बल्कि पर्यवेक्षक और अनुयायी बनें।
3.2 जावास्क्रिप्ट भाषा पर आधारित CTA आर्बिट्रेज रणनीति विकास
1987 में लिखी अपनी पुस्तक "द अलकेमी ऑफ फाइनेंस" में सोरोस ने एक बार एक महत्वपूर्ण प्रस्ताव रखा था: मेरा मानना है कि बाजार की कीमतें हमेशा इस अर्थ में गलत होती हैं कि वे भविष्य के प्रति पक्षपाती होती हैं। उनका मानना है कि बाजार दक्षता परिकल्पना केवल एक सैद्धांतिक धारणा है। वास्तव में, बाजार प्रतिभागी हमेशा तर्कसंगत नहीं होते हैं, और हर समय, प्रतिभागियों के लिए सभी जानकारी को पूरी तरह से प्राप्त करना और निष्पक्ष रूप से व्याख्या करना असंभव है। इसके अलावा, भले ही वही हो जानकारी, हर किसी की प्रतिक्रिया अलग है। दूसरे शब्दों में, कीमत में पहले से ही बाजार सहभागियों की गलत अपेक्षाएं शामिल होती हैं, इसलिए बाजार की कीमतें हमेशा गलत होती हैं। यह मध्यस्थों के लिए लाभ का स्रोत हो सकता है।
उपरोक्त सिद्धांतों के आधार पर, हम जानते हैं कि एक अकुशल वायदा बाजार में, विभिन्न अवधियों में डिलीवरी अनुबंधों पर बाजार का प्रभाव हमेशा समकालिक नहीं होता है, और उनका मूल्य निर्धारण पूरी तरह से प्रभावी नहीं होता है। फिर, विभिन्न अवधियों में एक ही व्यापारिक विषय के वितरण अनुबंध मूल्यों के आधार पर, यदि दो मूल्यों के बीच बड़ा मूल्य अंतर है, तो आप क्रॉस-पीरियड आर्बिट्रेज का संचालन करने के लिए एक ही समय में विभिन्न अवधियों के वायदा अनुबंधों को खरीद और बेच सकते हैं।
कमोडिटी फ्यूचर्स की तरह, डिजिटल मुद्राओं में भी क्रॉस-पीरियड आर्बिट्रेज अनुबंधों का संयोजन जुड़ा होता है। उदाहरण के लिए, OkEX एक्सचेंज में ये हैं: ETC साप्ताहिक, ETC द्विसाप्ताहिक, और ETC त्रैमासिक। उदाहरण के लिए, मान लीजिए कि ETC साप्ताहिक और ETC त्रैमासिक के बीच मूल्य अंतर लंबे समय तक लगभग 5% बना रहता है। यदि किसी दिन प्रसार 7 तक पहुंच जाता है, तो हम उम्मीद करते हैं कि भविष्य में किसी समय प्रसार 5 पर वापस आ जाएगा। फिर आप ETC को साप्ताहिक रूप से बेच सकते हैं और प्रसार को कम करने के लिए ETC को तिमाही आधार पर खरीद सकते हैं। विपरीतता से।
यद्यपि यह मूल्य अंतर मौजूद है, लेकिन मैनुअल आर्बिट्रेज में अक्सर समय लेने वाली मैनुअल संचालन, खराब सटीकता और मूल्य परिवर्तनों के प्रभाव के कारण कई अनिश्चितताएं शामिल होती हैं। मात्रात्मक मध्यस्थता का आकर्षण मात्रात्मक मॉडलों के माध्यम से मध्यस्थता के अवसरों को पकड़ने और मध्यस्थता व्यापार रणनीतियों को तैयार करने में निहित है, साथ ही प्रोग्राम किए गए एल्गोरिदम के माध्यम से एक्सचेंजों को स्वचालित रूप से ट्रेडिंग ऑर्डर देने में है, ताकि अवसरों को जल्दी और सटीक रूप से पकड़ा जा सके और कुशलतापूर्वक और स्थिर रूप से लाभ कमाया जा सके।
यह पाठ्यक्रम आपको सिखाएगा कि डिजिटल मुद्रा व्यापार में ओकेएक्स एक्सचेंज में इन्वेंटर क्वांटिटेटिव ट्रेडिंग प्लेटफॉर्म और ईटीसी वायदा अनुबंध का उपयोग कैसे करें, और एक सरल मध्यस्थता रणनीति का उपयोग करके प्रदर्शित करें कि कैसे तत्काल मध्यस्थता के अवसरों को पकड़ें और लाभ प्राप्त करने के लिए हर अवसर को जब्त करें। संभावित जोखिमों से बचाव।
क्रिप्टोकरेंसी क्रॉस-पीरियड आर्बिट्रेज रणनीति बनाना
कठिनाई: सामान्य
रणनीतिक वातावरण
- लेन-देन का विषय: एथेरियम क्लासिक (ETC)
- मूल्य अंतर डेटा: ETC साप्ताहिक - ETC त्रैमासिक (सह-एकीकरण परीक्षण छोड़ा गया)
- ट्रेडिंग चक्र: 5 मिनट
- स्थिति मिलान: 1:1
- लेन-देन का प्रकार: समान उत्पाद क्रॉस-पीरियड
रणनीति तर्क
- लंबे स्प्रेड खोलने की शर्तें: यदि चालू खाते में कोई स्थिति नहीं है और स्प्रेड निचले बोल ट्रैक से कम है, तो स्प्रेड पर लंबे समय तक जाएं। अर्थात्: सप्ताह के लिए ETC खरीदें और तिमाही के लिए ETC बेचें।
- शॉर्ट स्प्रेड पोजीशन खोलने के लिए शर्तें: यदि चालू खाते में कोई पोजीशन नहीं है और स्प्रेड बोल ऊपरी ट्रैक से अधिक है, तो स्प्रेड को शॉर्ट करें। अर्थात्: सप्ताह के लिए ETC बेचें और तिमाही के लिए ETC खरीदें।
- लॉन्ग स्प्रेड को बंद करने की शर्तें: यदि चालू खाता ईटीसी में साप्ताहिक लॉन्ग स्थिति और ईटीसी में त्रैमासिक शॉर्ट स्थिति रखता है, और स्प्रेड बोल के मध्य ट्रैक से अधिक है, तो लॉन्ग स्प्रेड बंद हो जाएगा। अर्थात्: सप्ताह के लिए ETC बेचें और तिमाही के लिए ETC खरीदें।
- शॉर्ट स्प्रेड को बंद करने की शर्तें: यदि चालू खाता इस सप्ताह ईटीसी के लिए शॉर्ट स्थिति और तिमाही में ईटीसी के लिए लॉन्ग स्थिति रखता है, और स्प्रेड बोल के मध्य ट्रैक से कम है, तो शॉर्ट स्प्रेड बंद हो जाएगा। अर्थात्: सप्ताह के लिए ETC खरीदें और तिमाही के लिए ETC बेचें।
ऊपर डिजिटल मुद्रा क्रॉस-पीरियड आर्बिट्रेज रणनीति के तर्क का एक सरल विवरण है। तो आप अपने विचारों को कार्यक्रम में कैसे लागू करते हैं? हमने पहले इन्वेंटर क्वांटिटेटिव ट्रेडिंग प्लेटफॉर्म पर फ्रेमवर्क बनाने की कोशिश की।
function Data() {} // 基础数据函数
Data.prototype.mp = function () {} // 持仓函数
Data.prototype.boll = function () {} // 指标函数
Data.prototype.trade = function () {} // 下单函数
Data.prototype.cancelOrders = function () {} // 撤单函数
Data.prototype.isEven = function () {} // 处理单只合约函数
Data.prototype.drawingChart = function () {} // 画图函数
function onTick() {
var data = new Data(tradeTypeA, tradeTypeB); // 创建一个基础数据对象
var accountStocks = data.accountData.Stocks; // 账户余额
var boll = data.boll(dataLength, timeCycle); // 计算boll技术指标
data.trade(); // 计算交易条件下单
data.cancelOrders(); // 撤单
data.drawingChart(boll); // 画图
data.isEven(); // 处理持有单个合约
}
//入口函数
function main() {
while (true) { // 进入轮询模式
onTick(); // 执行onTick函数
Sleep(500); // 休眠0.5秒
}
}
कल्पना कीजिए कि सुपरवाइजर ट्रेडिंग में हमारी लेनदेन प्रक्रिया कैसी होती है? सिस्टम ट्रेडिंग में कोई अनिवार्य अंतर नहीं है, यह और कुछ नहीं बल्कि: डेटा प्राप्त करना, डेटा की गणना करना, ऑर्डर देना, और ऑर्डर देने के बाद प्रोसेसिंग करना है। प्रोग्राम में भी यही बात लागू होती है। सबसे पहले, प्रोग्राम लाइन 20 पर मुख्य फ़ंक्शन निष्पादित करेगा। यह एक परंपरा है। जब प्रोग्राम ट्रेडिंग रणनीति प्रीप्रोसेसिंग (यदि कोई हो) को पूरा कर लेता है, तो यह अनंत लूप मोड में प्रवेश करेगा, अर्थात, एक राउंड पोलिंग मोड। पोलिंग मोड में, ऑनटिक फ़ंक्शन बार-बार निष्पादित किया जाएगा।
फिर ऑनटिक फ़ंक्शन में, हमारे पास व्यक्तिपरक ट्रेडिंग में ट्रेडिंग प्रक्रिया है: पहले मूल मूल्य डेटा प्राप्त करें, फिर खाता शेष प्राप्त करें, फिर संकेतक की गणना करें, फिर ट्रेडिंग स्थितियों की गणना शुरू करें और ऑर्डर दें, और अंत में ऑर्डर देने के बाद प्रसंस्करण करें ऑर्डर में निम्नलिखित कार्य शामिल हैं: ऑर्डर रद्द करना, चित्र बनाना, और एकल अनुबंधों को संसाधित करना।
रणनीतिक विचारों और ट्रेडिंग प्रक्रियाओं की तुलना करके, आप आसानी से एक रणनीति ढांचा तैयार कर सकते हैं। संपूर्ण रणनीति को तीन चरणों में सरलीकृत किया जा सकता है:
- लेनदेन पूर्व प्रसंस्करण.
- डेटा प्राप्त करें और गणना करें.
- ऑर्डर दें और अनुवर्ती कार्रवाई का प्रबंध करें।
ट्रेडिंग रणनीति ढांचा तैयार हो जाने के बाद, आपको वास्तविक ट्रेडिंग प्रक्रिया और लेनदेन विवरण के आधार पर रणनीति ढांचे में आवश्यक विवरण कोड भरना होगा।
1. लेनदेन-पूर्व प्रसंस्करण
1. आवश्यक वैश्विक चर घोषित करें
- चार्ट को कॉन्फ़िगर करने के लिए चार्ट ऑब्जेक्ट घोषित करें
var chart = {} - चार्ट को आरंभ करने के लिए चार्ट फ़ंक्शन को कॉल करें
var ObjChart = Chart ( chart ) - मूल्य अंतर अनुक्रम को संग्रहीत करने के लिए एक खाली सरणी घोषित करें
var bars = [] - ऐतिहासिक डेटा टाइमस्टैम्प रिकॉर्ड करने के लिए एक चर घोषित करें
var oldTime = 0
2. रणनीति के बाहरी मापदंडों को कॉन्फ़िगर करें
var tradeTypeA = "this_week"; // 套利A合约
var tradeTypeB = "quarter"; // 套利B合约
var dataLength = 10; //指标周期长度
var timeCycle = 1; // K线周期
var name = "ETC"; // 币种
var unit = 1; // 下单量
3. डेटा प्रोसेसिंग फ़ंक्शन परिभाषित करें
- मूल डेटा फ़ंक्शन: डेटा ( )
एक कन्स्ट्रक्टर डेटा बनाएं और उसके आंतरिक गुणों को परिभाषित करें। इसमें शामिल हैं: खाता डेटा, स्थिति डेटा, के-लाइन डेटा टाइमस्टैम्प, आर्बिट्रेज ए/बी अनुबंध बोली/पूछ मूल्य, और फॉरवर्ड/रिवर्स आर्बिट्रेज स्प्रेड।
function Data(tradeTypeA, tradeTypeB) { // 传入套利A合约和套利B合约
this.accountData = _C(exchange.GetAccount); // 获取账户信息
this.positionData = _C(exchange.GetPosition); // 获取持仓信息
var recordsData = _C(exchange.GetRecords); //获取K线数据
exchange.SetContractType(tradeTypeA); // 订阅套利A合约
var depthDataA = _C(exchange.GetDepth); // 套利A合约深度数据
exchange.SetContractType(tradeTypeB); // 订阅套利B合约
var depthDataB = _C(exchange.GetDepth); // 套利B合约深度数据
this.time = recordsData[recordsData.length - 1].Time; // 获取最新数据时间
this.askA = depthDataA.Asks[0].Price; // 套利A合约卖一价
this.bidA = depthDataA.Bids[0].Price; // 套利A合约买一价
this.askB = depthDataB.Asks[0].Price; // 套利B合约卖一价
this.bidB = depthDataB.Bids[0].Price; // 套利B合约买一价
// 正套价差(合约A卖一价 - 合约B买一价)
this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
// 反套价差(合约A买一价 - 合约B卖一价)
this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}
- स्थिति फ़ंक्शन प्राप्त करें: mp ( )
संपूर्ण स्थिति सरणी को पार करें और निर्दिष्ट अनुबंध और दिशा की स्थितियों की संख्या लौटाएँ। यदि कोई नहीं है, तो गलत लौटाएँ
Data.prototype.mp = function (tradeType, type) {
var positionData = this.positionData; // 获取持仓信息
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;
}
- के-लाइन और संकेतक फ़ंक्शन: बोल ( )
फॉरवर्ड/रिवर्स आर्बिट्रेज स्प्रेड डेटा के आधार पर एक नया K-लाइन अनुक्रम संश्लेषित करें। और बोल इंडिकेटर द्वारा गणना करके ऊपरी रेल, मध्य रेल और निचली रेल का डेटा लौटाता है।
Data.prototype.boll = function (num, timeCycle) {
var self = {}; // 临时对象
// 正套价差和反套价差中间值
self.Close = (this.basb + this.sabb) / 2;
if (this.timeA == this.timeB) {
self.Time = this.time;
} // 对比两个深度数据时间戳
if (this.time - oldTime > timeCycle * 60000) {
bars.push(self);
oldTime = this.time;
} // 根据指定时间周期,在K线数组里面传入价差数据对象
if (bars.length > num * 2) {
bars.shift(); // 控制K线数组长度
} else {
return;
}
var boll = TA.BOLL(bars, num, 2); // 调用talib库中的boll指标
return {
up: boll[0][boll[0].length - 1], // boll指标上轨
middle: boll[1][boll[1].length - 1], // boll指标中轨
down: boll[2][boll[2].length - 1] // boll指标下轨
} // 返回一个处理好的boll指标数据
}
- ऑर्डर फ़ंक्शन: व्यापार ( )
ऑर्डर अनुबंध का नाम और ऑर्डर प्रकार पास करें, फिर विचार मूल्य पर ऑर्डर दें, और ऑर्डर देने के बाद परिणाम लौटाएं। चूंकि एक ही समय में अलग-अलग दिशाओं में दो ऑर्डर देना आवश्यक है, इसलिए ऑर्डर अनुबंध नाम के अनुसार फ़ंक्शन के भीतर खरीद/बिक्री मूल्य को परिवर्तित किया जाता है।
Data.prototype.trade = function (tradeType, type) {
exchange.SetContractType(tradeType); // 下单前先重新订阅合约
var askPrice, bidPrice;
if (tradeType == tradeTypeA) { // 如果是A合约下单
askPrice = this.askA; // 设置askPrice
bidPrice = this.bidA; // 设置bidPrice
} else if (tradeType == tradeTypeB) { // 如果是B合约下单
askPrice = this.askB; // 设置askPrice
bidPrice = this.bidB; // 设置bidPrice
}
switch (type) { // 匹配下单模式
case "buy":
exchange.SetDirection(type); // 设置下单模式
return exchange.Buy(askPrice, unit);
case "sell":
exchange.SetDirection(type); // 设置下单模式
return exchange.Sell(bidPrice, unit);
case "closebuy":
exchange.SetDirection(type); // 设置下单模式
return exchange.Sell(bidPrice, unit);
case "closesell":
exchange.SetDirection(type); // 设置下单模式
return exchange.Buy(askPrice, unit);
default:
return false;
}
}
- ऑर्डर रद्द करें फ़ंक्शन: cancelOrders ()
सभी अधूरे ऑर्डरों की सूची प्राप्त करें और उन्हें एक-एक करके रद्द करें। और यदि कोई अधूरा ऑर्डर है, तो यह गलत रिटर्न देता है, और यदि कोई अधूरा ऑर्डर नहीं है, तो यह सही रिटर्न देता है।
Data.prototype.cancelOrders = function () {
Sleep(500); // 撤单前先延时,因为有些交易所你懂的
var orders = _C(exchange.GetOrders); // 获取未成交订单数组
if (orders.length > 0) { // 如果有未成交的订单
for (var i = 0; i < orders.length; i++) { //遍历未成交订单数组
exchange.CancelOrder(orders[i].Id); //逐个取消未成交的订单
Sleep(500); //延时0.5秒
}
return false; // 如果取消了未成交的单子就返回false
}
return true; //如果没有未成交的订单就返回true
}
- एकल अनुबंध को संभालना: isEven()
आर्बिट्रेज ट्रेडिंग में एकल-पैर वाली स्थिति से निपटने के दौरान, हम इसे संभालने के लिए सभी स्थितियों को बंद कर देते हैं। बेशक, आप अनुवर्ती आदेश पद्धति में भी बदलाव कर सकते हैं।
Data.prototype.isEven = function () {
var positionData = this.positionData; // 获取持仓信息
var type = null; // 转换持仓方向
// 如果持仓数组长度余2不等于0或者持仓数组长度不等于2
if (positionData.length % 2 != 0 || positionData.length != 2) {
for (var i = 0; i < positionData.length; i++) { // 遍历持仓数组
if (positionData[i].Type == 0) { // 如果是多单
type = 10; // 设置下单参数
} else if (positionData[i].Type == 1) { // 如果是空单
type = -10; // 设置下单参数
}
// 平掉所有仓位
this.trade(positionData[i].ContractType, type, positionData[i].Amount);
}
}
}
- ड्राइंग फ़ंक्शन: drawingChart ( )
चार्ट में आवश्यक बाजार डेटा और संकेतक डेटा खींचने के लिए ObjChart.add() विधि को कॉल करें: ऊपरी ट्रैक, मध्य ट्रैक, निचला ट्रैक, और सकारात्मक/नकारात्मक स्प्रेड।
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, [nowTime, this.basb]]);
ObjChart.add([4, [nowTime, this.sabb]]);
ObjChart.update(chart);
}
4. एंट्री फ़ंक्शन main () में, प्री-ट्रांज़ैक्शन प्रीप्रोसेसिंग कोड निष्पादित करें। यह कोड प्रोग्राम शुरू होने के बाद सिर्फ़ एक बार चलाया जाता है। शामिल करना:
- कंसोल में कम महत्वपूर्ण जानकारी फ़िल्टर करें
SetErrorFilter ( ) - व्यापार की जाने वाली डिजिटल मुद्रा निर्धारित करें
exchange.IO ( ) - प्रोग्राम शुरू होने से पहले पहले से तैयार चार्ट को साफ़ करें
ObjChart.reset ( ) - प्रोग्राम शुरू होने से पहले पिछली स्थिति पट्टी की जानकारी साफ़ करें
LogProfitReset ( )
उपरोक्त प्री-ट्रेडिंग प्रीप्रोसेसिंग को परिभाषित करने के बाद, हम अगले चरण पर आगे बढ़ेंगे, पोलिंग मोड में प्रवेश करेंगे, और बार-बार onTick() फ़ंक्शन निष्पादित करेंगे। और जब Sleep() पोल करता है तो स्लीप टाइम सेट करें, क्योंकि कुछ क्रिप्टोकरेंसी एक्सचेंज API में एक निश्चित समय अवधि के भीतर एक्सेस सीमा अंतर्निहित होती है।
function main() {
// 过滤控制台中不是很重要的信息
SetErrorFilter("429|GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout|Futures_OP");
exchange.IO("currency", name + '_USDT'); //设置要交易的数字货币币种
ObjChart.reset(); //程序启动前清空之前绘制的图表
LogProfitReset(); //程序启动前清空之前的状态栏信息
while (true) { // 进入轮询模式
onTick(); // 执行onTick函数
Sleep(500); // 休眠0.5秒
}
}
2. डेटा प्राप्त करें और गणना करें
- ट्रेडिंग तर्क में उपयोग के लिए बुनियादी डेटा ऑब्जेक्ट्स, खाता शेष और बोल संकेतक डेटा प्राप्त करें।
function onTick() {
var data = new Data(tradeTypeA, tradeTypeB); // 创建一个基础数据对象
var accountStocks = data.accountData.Stocks; // 账户余额
var boll = data.boll(dataLength, timeCycle); // 获取boll指标数据
if (!boll) return; // 如果没有boll数据就返回
}
3. ऑर्डर दें और उसका पालन करें
- उपरोक्त रणनीति तर्क के अनुसार, खरीद और बिक्री संचालन निष्पादित करें। सबसे पहले, यह निर्धारित करता है कि क्या मूल्य और संकेतक की शर्तें पूरी हुई हैं, फिर यह निर्धारित करता है कि क्या स्थिति की शर्तें पूरी हुई हैं, और अंत में व्यापार ( ) ऑर्डर फ़ंक्शन निष्पादित करता है।
// 价差说明
// basb = (合约A卖一价 - 合约B买一价)
// sabb = (合约A买一价 - 合约B卖一价)
if (data.sabb > boll.middle && data.sabb < boll.up) { // 如果sabb高于中轨
if (data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
data.trade(tradeTypeA, "closebuy"); // 合约A平多
}
if (data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
data.trade(tradeTypeB, "closesell"); // 合约B平空
}
} else if (data.basb < boll.middle && data.basb > boll.down) { // 如果basb低于中轨
if (data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
data.trade(tradeTypeA, "closesell"); // 合约A平空
}
if (data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
data.trade(tradeTypeB, "closebuy"); // 合约B平多
}
}
if (accountStocks * Math.max(data.askA, data.askB) > 1) { // 如果账户有余额
if (data.basb < boll.down) { // 如果basb价差低于下轨
if (!data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
data.trade(tradeTypeA, "buy"); // 合约A开多
}
if (!data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
data.trade(tradeTypeB, "sell"); // 合约B开空
}
} else if (data.sabb > boll.up) { // 如果sabb价差高于上轨
if (!data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
data.trade(tradeTypeA, "sell"); // 合约A开空
}
if (!data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
data.trade(tradeTypeB, "buy"); // 合约B开多
}
}
}
- ऑर्डर देने के बाद, अधूरे ऑर्डर और एकल अनुबंध रखने जैसी असामान्य स्थितियों को संभालना आवश्यक होता है। और चार्ट बनाना।
data.cancelOrders(); // 撤单
data.drawingChart(boll); // 画图
data.isEven(); // 处理持有单个合约
उपरोक्त में, हमने 200 से अधिक पंक्तियों में एक सरल डिजिटल मुद्रा अंतर-अवधि मध्यस्थता रणनीति बनाई है। पूरा कोड इस प्रकार है:
// 全局变量
// 声明一个配置图表的 chart 对象
var chart = {
__isStock: true,
tooltip: {
xDateFormat: '%Y-%m-%d %H:%M:%S, %A'
},
title: {
text: '交易盈亏曲线图(详细)'
},
rangeSelector: {
buttons: [{
type: 'hour',
count: 1,
text: '1h'
}, {
type: 'hour',
count: 2,
text: '3h'
}, {
type: 'hour',
count: 8,
text: '8h'
}, {
type: 'all',
text: 'All'
}],
selected: 0,
inputEnabled: false
},
xAxis: {
type: 'datetime'
},
yAxis: {
title: {
text: '价差'
},
opposite: false,
},
series: [{
name: "上轨",
id: "线1,up",
data: []
}, {
name: "中轨",
id: "线2,middle",
data: []
}, {
name: "下轨",
id: "线3,down",
data: []
}, {
name: "basb",
id: "线4,basb",
data: []
}, {
name: "sabb",
id: "线5,sabb",
data: []
}]
};
var ObjChart = Chart(chart); // 画图对象
var bars = []; // 存储价差序列
var oldTime = 0; // 记录历史数据时间戳
// 参数
var tradeTypeA = "this_week"; // 套利A合约
var tradeTypeB = "quarter"; // 套利B合约
var dataLength = 10; //指标周期长度
var timeCycle = 1; // K线周期
var name = "ETC"; // 币种
var unit = 1; // 下单量
// 基础数据
function Data(tradeTypeA, tradeTypeB) { // 传入套利A合约和套利B合约
this.accountData = _C(exchange.GetAccount); // 获取账户信息
this.positionData = _C(exchange.GetPosition); // 获取持仓信息
var recordsData = _C(exchange.GetRecords); //获取K线数据
exchange.SetContractType(tradeTypeA); // 订阅套利A合约
var depthDataA = _C(exchange.GetDepth); // 套利A合约深度数据
exchange.SetContractType(tradeTypeB); // 订阅套利B合约
var depthDataB = _C(exchange.GetDepth); // 套利B合约深度数据
this.time = recordsData[recordsData.length - 1].Time; // 获取最新数据时间
this.askA = depthDataA.Asks[0].Price; // 套利A合约卖一价
this.bidA = depthDataA.Bids[0].Price; // 套利A合约买一价
this.askB = depthDataB.Asks[0].Price; // 套利B合约卖一价
this.bidB = depthDataB.Bids[0].Price; // 套利B合约买一价
// 正套价差(合约A卖一价 - 合约B买一价)
this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
// 反套价差(合约A买一价 - 合约B卖一价)
this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}
// 获取持仓
Data.prototype.mp = function (tradeType, type) {
var positionData = this.positionData; // 获取持仓信息
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;
}
// 合成新K线数据和boll指标数据
Data.prototype.boll = function (num, timeCycle) {
var self = {}; // 临时对象
// 正套价差和反套价差中间值
self.Close = (this.basb + this.sabb) / 2;
if (this.timeA == this.timeB) {
self.Time = this.time;
} // 对比两个深度数据时间戳
if (this.time - oldTime > timeCycle * 60000) {
bars.push(self);
oldTime = this.time;
} // 根据指定时间周期,在K线数组里面传入价差数据对象
if (bars.length > num * 2) {
bars.shift(); // 控制K线数组长度
} else {
return;
}
var boll = TA.BOLL(bars, num, 2); // 调用talib库中的boll指标
return {
up: boll[0][boll[0].length - 1], // boll指标上轨
middle: boll[1][boll[1].length - 1], // boll指标中轨
down: boll[2][boll[2].length - 1] // boll指标下轨
} // 返回一个处理好的boll指标数据
}
// 下单
Data.prototype.trade = function (tradeType, type) {
exchange.SetContractType(tradeType); // 下单前先重新订阅合约
var askPrice, bidPrice;
if (tradeType == tradeTypeA) { // 如果是A合约下单
askPrice = this.askA; // 设置askPrice
bidPrice = this.bidA; // 设置bidPrice
} else if (tradeType == tradeTypeB) { // 如果是B合约下单
askPrice = this.askB; // 设置askPrice
bidPrice = this.bidB; // 设置bidPrice
}
switch (type) { // 匹配下单模式
case "buy":
exchange.SetDirection(type); // 设置下单模式
return exchange.Buy(askPrice, unit);
case "sell":
exchange.SetDirection(type); // 设置下单模式
return exchange.Sell(bidPrice, unit);
case "closebuy":
exchange.SetDirection(type); // 设置下单模式
return exchange.Sell(bidPrice, unit);
case "closesell":
exchange.SetDirection(type); // 设置下单模式
return exchange.Buy(askPrice, unit);
default:
return false;
}
}
// 取消订单
Data.prototype.cancelOrders = function () {
Sleep(500); // 撤单前先延时,因为有些交易所你懂的
var orders = _C(exchange.GetOrders); // 获取未成交订单数组
if (orders.length > 0) { // 如果有未成交的订单
for (var i = 0; i < orders.length; i++) { //遍历未成交订单数组
exchange.CancelOrder(orders[i].Id); //逐个取消未成交的订单
Sleep(500); //延时0.5秒
}
return false; // 如果取消了未成交的单子就返回false
}
return true; //如果没有未成交的订单就返回true
}
// 处理持有单个合约
Data.prototype.isEven = function () {
var positionData = this.positionData; // 获取持仓信息
var type = null; // 转换持仓方向
// 如果持仓数组长度余2不等于0或者持仓数组长度不等于2
if (positionData.length % 2 != 0 || positionData.length != 2) {
for (var i = 0; i < positionData.length; i++) { // 遍历持仓数组
if (positionData[i].Type == 0) { // 如果是多单
type = 10; // 设置下单参数
} else if (positionData[i].Type == 1) { // 如果是空单
type = -10; // 设置下单参数
}
// 平掉所有仓位
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, [nowTime, this.basb]]);
ObjChart.add([4, [nowTime, this.sabb]]);
ObjChart.update(chart);
}
// 交易条件
function onTick() {
var data = new Data(tradeTypeA, tradeTypeB); // 创建一个基础数据对象
var accountStocks = data.accountData.Stocks; // 账户余额
var boll = data.boll(dataLength, timeCycle); // 获取boll指标数据
if (!boll) return; // 如果没有boll数据就返回
// 价差说明
// basb = (合约A卖一价 - 合约B买一价)
// sabb = (合约A买一价 - 合约B卖一价)
if (data.sabb > boll.middle && data.sabb < boll.up) { // 如果sabb高于中轨
if (data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
data.trade(tradeTypeA, "closebuy"); // 合约A平多
}
if (data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
data.trade(tradeTypeB, "closesell"); // 合约B平空
}
} else if (data.basb < boll.middle && data.basb > boll.down) { // 如果basb低于中轨
if (data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
data.trade(tradeTypeA, "closesell"); // 合约A平空
}
if (data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
data.trade(tradeTypeB, "closebuy"); // 合约B平多
}
}
if (accountStocks * Math.max(data.askA, data.askB) > 1) { // 如果账户有余额
if (data.basb < boll.down) { // 如果basb价差低于下轨
if (!data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
data.trade(tradeTypeA, "buy"); // 合约A开多
}
if (!data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
data.trade(tradeTypeB, "sell"); // 合约B开空
}
} else if (data.sabb > boll.up) { // 如果sabb价差高于上轨
if (!data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
data.trade(tradeTypeA, "sell"); // 合约A开空
}
if (!data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
data.trade(tradeTypeB, "buy"); // 合约B开多
}
}
}
data.cancelOrders(); // 撤单
data.drawingChart(boll); // 画图
data.isEven(); // 处理持有单个合约
}
//入口函数
function main() {
// 过滤控制台中不是很重要的信息
SetErrorFilter("429|GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout|Futures_OP");
exchange.IO("currency", name + '_USDT'); //设置要交易的数字货币币种
ObjChart.reset(); //程序启动前清空之前绘制的图表
LogProfitReset(); //程序启动前清空之前的状态栏信息
while (true) { // 进入轮询模式
onTick(); // 执行onTick函数
Sleep(500); // 休眠0.5秒
}
}
आर्बिट्रेज ट्रेडिंग की शुरुआत मॉर्गन स्टेनली की स्टॉक ट्रेडिंग रणनीति से हुई है। इसकी अवधारणा है: दो अत्यधिक सहसंबद्ध उत्पादों के मूल्य अंतर में उतार-चढ़ाव "पॉपकॉर्न प्रक्रिया" के अनुरूप होता है, अर्थात, मूल्य अंतर लगातार ऐतिहासिक माध्य से विचलित स्थिति से माध्य पर लौटता है , और फिर माध्य से एक और विचलन।
इससे हम कीमत के अंतर के आधार पर कम कीमत पर खरीदकर और अधिक कीमत पर बेचकर लाभ कमा सकते हैं। फिर, सांख्यिकी में मानक विचलन सिद्धांत के अनुसार, बोलिंगर बैंड एक मध्य रेल और ऊपरी और निचली रेल से बने होते हैं, जिनकी गणना मानक विचलन द्वारा की जाती है। तीन जाल बनाएं। यह स्प्रेड आर्बिट्रेज ट्रेडिंग में बहुत उपयोगी है।
परीक्षण के बाद, यह पाया गया कि यदि हैंडलिंग शुल्क और प्रभाव लागत पर विचार किए बिना रणनीति का पालन किया जाता है, तो हालांकि हर बार लाभ बहुत अधिक नहीं होता है, समग्र लाभ अपेक्षाकृत स्थिर होता है। यह ध्यान दिया जाना चाहिए कि चूंकि यह सांख्यिकीय मध्यस्थता है, इसलिए इसमें जोखिम है कि मूल्य अंतर विपरीत दिशा में बढ़ जाएगा, और हमें इसे डिजाइन करते समय स्टॉप लॉस मुद्दे पर विचार करना चाहिए। दूसरे, हमें प्रभाव लागत पर भी ध्यान देने की आवश्यकता है। जब लेन-देन में शामिल दो अनुबंधों की तरलता कम हो जाती है, तो इसका रिटर्न पर महत्वपूर्ण प्रभाव पड़ेगा, और निवेशकों को उचित रूप से इससे बचना चाहिए।
4. सीटीए रणनीति विकास की उन्नत पुनरावृत्ति
4.1 वायदा CTA रणनीतियों के नुकसान से बचना
पिछली दो कक्षाओं में, हमने माई भाषा में एक प्रवृत्ति रणनीति और जावास्क्रिप्ट में एक आर्बिट्रेज रणनीति लिखी थी, और रणनीति बैकटेस्टिंग में कोई समस्या नहीं पाई थी। हालाँकि, मात्रात्मक व्यापार का मतलब सिर्फ प्रोग्राम लिखना और फिर बैकटेस्टिंग सफल होने के बाद सीधे उस पर व्यापार करना नहीं है।
वास्तव में, बैकटेस्टिंग केवल एक रणनीति का अनुकरण है, जिसका उपयोग केवल ऐतिहासिक डेटा में रणनीति के प्रदर्शन का मूल्यांकन करने के लिए किया जाता है, जिससे व्यापारियों को कुछ व्यापारिक रणनीतियों का त्वरित मूल्यांकन करने और उन्हें छोड़ने की सुविधा मिलती है।
कई मामलों में, बैकटेस्टिंग में बहुत अच्छी लगने वाली रणनीतियाँ अक्सर वास्तविक ट्रेडिंग में बैकटेस्ट मानकों को पूरा करने में विफल हो जाती हैं। इसके कई कारण हैं, जिनमें से कुछ व्यापारी के नियंत्रण से परे हैं, लेकिन कुछ विफलताएँ सामान्य या संभावित त्रुटियों के कारण होती हैं .
स्थैतिक डेटा बनाम गतिशील डेटा
जब हम मात्रात्मक विश्लेषण करते हैं, तो हमें सबसे पहले स्थिर डेटा और गतिशील डेटा की अवधारणा होनी चाहिए। बैकटेस्टिंग में, हम स्थिर ऐतिहासिक डेटा का उपयोग करते हैं। प्रत्येक K-लाइन की कीमतें पूरी होती हैं, और प्रत्येक ट्रेडिंग सिग्नल को 100% बेचा जा सकता है। लेकिन वास्तविक बाजार में डेटा गतिशील है। उदाहरण के लिए, यदि उच्चतम मूल्य खुलने के 1 घंटे के भीतर उच्चतम मूल्य से अधिक है, तो खरीदें। हालाँकि, यदि वर्तमान K-लाइन पूरी नहीं हुई है, तो उच्चतम मूल्य गतिशील है और ट्रेडिंग सिग्नल आगे-पीछे हो सकता है . यह स्थिति इंगित करती है कि रणनीति खरीद और बिक्री लेनदेन के लिए शर्तों को निर्धारित करने में भविष्य के कार्यों का उपयोग करती है।
भविष्य फ़ंक्शन
भविष्य फलन क्या है? आइए सबसे पहले देखें कि Baidu विश्वकोश इसे कैसे समझाता है: यदि कोई मात्रा किसी अन्य मात्रा पर निर्भर करती है, जैसे मात्रा A और मात्रा B, और B में परिवर्तन से A में परिवर्तन होता है, तो A, B का एक फलन है। यदि B बाद की मात्रा है, तो A, B का एक फलन है। किसी पूर्ववर्ती मात्रा के लिए, A, B के साथ परिवर्तित होता है, तथा A, B का भविष्य फलन है। हर कोई भ्रमित हो सकता है.
सरल शब्दों में, यह एक ऐसा फ़ंक्शन है जो भविष्य के डेटा को संदर्भित करता है, जैसे कि कल की कीमत का अनुमान लगाने के लिए कल की कीमत का उपयोग करना। यदि किसी तकनीकी संकेतक में भविष्य का कार्य शामिल है, तो उसका संकेत अनिश्चित है। अक्सर, एक ट्रेडिंग सिग्नल उसी समय जारी किया जाता है, लेकिन जब अगली K-लाइन दिखाई देती है, तो सिग्नल गायब हो जाता है या स्थिति बदल जाती है।
समापन मूल्य एक भविष्य का कार्य है। नवीनतम K-लाइन पूरी होने से पहले, समापन मूल्य हमेशा बदलता रहता है। समापन मूल्य निर्धारित करने के लिए आपको K-लाइन पूरी होने तक प्रतीक्षा करनी चाहिए। चूंकि समापन मूल्य स्वयं भविष्य का एक कार्य है, इसलिए समापन मूल्य पर आधारित सभी तकनीकी संकेतक भी भविष्य के कार्य हैं।
इसलिए, यदि कोई तकनीकी संकेतक अपने मूल डेटा के रूप में एक पुष्ट समापन मूल्य का उपयोग करता है, और खरीद और बिक्री के संकेत नहीं बदलते हैं, चाहे कितना भी समय बीत गया हो, तो यह कहा जा सकता है कि यह तकनीकी संकेतक भविष्य के फ़ंक्शन को संदर्भित नहीं करता है। हालाँकि, इसका उपयोग किया जाने वाला मूल डेटा समापन मूल्य है जिसकी अभी तक पुष्टि नहीं हुई है, इसलिए यह तकनीकी संकेतक भविष्य के कार्य को संदर्भित करता है, और खरीद और बिक्री के संकेत वास्तविक अनुप्रयोगों में बदल सकते हैं।
पिछली कीमतें
फ्यूचर फ़ंक्शन भविष्य की कीमतों का उपयोग करता है, लेकिन यह इसके बजाय पिछली कीमतों का भी उपयोग कर सकता है। यह एक ऐसी समस्या है जिसे कई नौसिखिए अनदेखा कर देते हैं। भविष्य में इस मुद्दे को बेहतर ढंग से समझाने के लिए, आइए एक उदाहरण लेते हैं: यदि वर्तमान उच्चतम मूल्य खुलने के 1 घंटे के भीतर उच्चतम मूल्य से अधिक है, तो शुरुआती मूल्य पर खरीदें। जाहिर है, इस खरीद और बिक्री संकेत की शर्तों में कुछ भी गलत नहीं है, लेकिन ऑर्डर देने के लिए इस्तेमाल की गई कीमत पिछली कीमत है।
बैकटेस्ट में, रणनीति सामान्य है, क्योंकि स्थिर डेटा पर आधारित बैकटेस्ट इंजन 100% समय पर लेन-देन को पूरा कर सकता है जब तक कि खरीद संकेत हो। हालाँकि, वास्तविक बाजार में, जब उच्चतम मूल्य से अधिक होता है खुलने के बाद 1 घंटे के भीतर उच्चतम मूल्य, इस समय, आप निश्चित रूप से ऑर्डर देने के लिए पिछले शुरुआती मूल्य का उपयोग नहीं कर सकते हैं।
मूल्य शून्य
तथाकथित मूल्य वैक्यूम K-लाइन चार्ट पर प्रदर्शित मूल्य को संदर्भित करता है, लेकिन वास्तविक बाजार में मूल्य का कारोबार नहीं किया जा सकता है। इसे मुख्य रूप से निम्नलिखित स्थितियों में विभाजित किया जाता है:
- जिसने भी ट्रेडिंग की है, वह जानता है कि जब कीमत अपनी ऊपरी सीमा पर पहुंच जाती है तो खरीदना मुश्किल होता है, और जब कीमत अपनी निचली सीमा पर पहुंच जाती है तो बेचना मुश्किल होता है। हालाँकि, बैकटेस्ट में व्यापार करना संभव है।
- एक्सचेंज का मिलान तंत्र है: मूल्य प्राथमिकता और समय प्राथमिकता। कुछ उत्पादों के लिए अक्सर बहुत ज़्यादा ऑर्डर होते हैं। अगर आप वास्तविक समय में खरीदने या बेचने के लिए ऑर्डर देते हैं, तो आपको दूसरे लोगों के ऑर्डर के पीछे इंतज़ार करना होगा और लेन-देन पूरा करने से पहले दूसरे लोगों के ऑर्डर निष्पादित होने तक इंतज़ार करना होगा। कुछ मामलों में, आपके द्वारा लेन-देन पूरा करने से पहले कीमत बदल सकती है। हालाँकि, बैकटेस्टिंग के दौरान, यदि आपकी रणनीति ऑर्डर देने की है, तो लेनदेन समय पर पूरा हो जाएगा, जो वास्तविक ट्रेडिंग वातावरण से अलग है।
- यदि आप आर्बिट्रेज रणनीति का उपयोग कर रहे हैं, तो बैकटेस्टिंग लाभ बहुत अधिक है, क्योंकि हर बार जब आप बैकटेस्ट करते हैं, तो आप मान लेते हैं कि आपने इन मूल्य अंतरों को पकड़ लिया है। हकीकत में, कई स्प्रेड उपलब्ध नहीं हैं, या केवल एक लेग उपलब्ध है। आम तौर पर, जो आपकी दिशा के अनुकूल नहीं है, उसे पहले ट्रेड किया जाएगा, इसलिए आपको तुरंत दूसरे लेग को भरने की आवश्यकता है। इस समय, स्लिपेज है पहले ही हो चुका है। यह 1 या 2 अंक नहीं है, बल्कि आर्बिट्रेज रणनीति खुद इन बिंदुओं के मूल्य अंतर से पैसे कमाती है। इस स्थिति को बैकटेस्टिंग में सिम्युलेट नहीं किया जा सकता है। वास्तविक लाभ बैकटेस्ट जितना अच्छा नहीं है।
- हालाँकि ब्लैक स्वान घटनाएँ आम नहीं हैं, फिर भी उनका मात्रात्मक व्यापार पर बहुत प्रभाव पड़ता है। उदाहरण के लिए, स्विस फ़्रैंक की ब्लैक स्वान घटना में, चार्ट दिखाता है कि उच्च उद्घाटन और निम्न समापन दोनों हैं। वास्तव में, चरम में दिन की बाजार स्थितियों के बीच में, कीमत एक वैक्यूम है, बड़ी संख्या में स्टॉप-लॉस ऑर्डर भगदड़ का कारण बनते हैं, तरलता शून्य है, और लेनदेन बहुत मुश्किल है, लेकिन बैकटेस्टिंग में स्टॉप लॉस हासिल किया जा सकता है।

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

जैसा कि ऊपर चित्र में दिखाया गया है, जब तक मॉडल पर्याप्त जटिल है, वह डेटा के साथ पूरी तरह से अनुकूलित हो सकता है। क्वांटिटेटिव ट्रेडिंग में ओवरफिटिंग के लिए भी यही बात सही है। अगर आपकी रणनीति जटिल है और उसमें कई बाहरी पैरामीटर हैं, तो सीमित ऐतिहासिक डेटा बैकटेस्ट में हमेशा एक या कई पैरामीटर होंगे जो रणनीति में पूरी तरह से फिट हो सकते हैं। ऐतिहासिक बाजार स्थितियों के अनुरूप .
हालांकि, भविष्य में वास्तविक ट्रेडिंग में, मूल्य परिवर्तन आपकी रणनीति की सीमाओं को पार कर सकते हैं। वास्तव में, मात्रात्मक ट्रेडिंग रणनीति विकास का सार प्रतीत होता है कि यादृच्छिक डेटा की एक बड़ी मात्रा से स्थानीय गैर-यादृच्छिक डेटा का मिलान करने की प्रक्रिया है। इसलिए, हमें सांख्यिकी का उपयोग करने की आवश्यकता है। इस जाल से बचने के लिए हम ज्ञान का उपयोग कैसे कर सकते हैं?
एक समझौता समाधान यह है कि इन-सैंपल और आउट-ऑफ-सैंपल दोनों डेटा का उपयोग किया जाए। संपूर्ण डेटा को दो भागों में विभाजित करें, इन-सैंपल डेटा को प्रशिक्षण सेट के रूप में उपयोग करें, और डेटा बैकटेस्टिंग के लिए जिम्मेदार बनें। सत्यापन के लिए आउट-ऑफ-सैंपल डेटा का उपयोग परीक्षण सेट के रूप में किया जाता है। यदि ऐतिहासिक डेटा कम है, तो आप क्रॉस-टेस्टिंग विधि का भी उपयोग कर सकते हैं।
यदि आप पाते हैं कि आउट-ऑफ-सैंपल डेटा अच्छा प्रदर्शन नहीं करता है, लेकिन आपको लगता है कि मॉडल को त्यागना दुखद है या आप यह स्वीकार करने के लिए तैयार नहीं हैं कि आपका मॉडल अच्छा नहीं है, और आप आउट-ऑफ-सैंपल मॉडल को अनुकूलित करना जारी रखते हैं -ऑफ-सैंपल डेटा पर तब तक दांव लगाएं जब तक कि वह आउट-ऑफ-सैंपल डेटा पर भी उतना ही अच्छा प्रदर्शन न करे, फिर अंत में नुकसान उस व्यक्ति को होगा जो आपका वास्तविक पैसा होगा।
सर्वाइवरशिप के पक्ष में
उत्तरजीविता पूर्वाग्रह को निम्नलिखित उदाहरणों से समझाया जा सकता है:
- अगर आप सही जगह खड़े हों तो सूअर भी उड़ सकते हैं।
- ऑनलाइन बेचे जाने वाले पैराशूटों की सभी समीक्षाएं सकारात्मक हैं, क्योंकि ऐसे कोई भी व्यक्ति नहीं हैं जिन्हें अपने पैराशूटों से कोई समस्या हो।
- संवाददाताओं ने बस में बैठे लोगों से पूछा कि क्या उन्होंने टिकट खरीदा है, क्योंकि जो लोग टिकट नहीं खरीद सके, वे बस में चढ़ ही नहीं सके।
- मीडिया लॉटरी जीतने की संभावना को बढ़ावा देता है, क्योंकि मीडिया उन लोगों को सक्रिय रूप से बढ़ावा नहीं देगा जिन्होंने लॉटरी नहीं जीती है।
उपरोक्त उदाहरणों से हम देख सकते हैं कि लोगों को आमतौर पर जो जानकारी मिलती है, वह वास्तव में जांची-परखी होती है, जिसके कारण बड़ी मात्रा में डेटा या नमूनों को चुनिंदा रूप से अनदेखा कर दिया जाता है। इसका परिणाम यह होता है कि उत्तरजीवी पूर्वाग्रह पर आधारित निष्कर्ष वास्तविक समय से भटक जाते हैं। फिर क्वांटिटेटिव ट्रेडिंग में, हमें यह भी विचार करना होगा कि बैकटेस्ट का परिणाम भाग्य के कारण है या नहीं। कई मामलों में, बैकटेस्ट का परिणाम पूरे बैकटेस्ट में सबसे अच्छा प्रदर्शन हो सकता है। निम्नलिखित चित्र पर ध्यान दें:

बाईं ओर की तस्वीर एक बहुत अच्छी ट्रेडिंग रणनीति है। इसमें एक अच्छा पूंजी वक्र है, कोई बड़ी गिरावट नहीं है, और स्थिर लाभ रिटर्न प्राप्त किया जा सकता है। लेकिन कृपया दाईं ओर की तस्वीर को देखें, यह इन सैकड़ों ट्रेडिंग बैकटेस्ट में से सबसे अच्छा प्रदर्शन करने वाला है। दूसरी ओर, जब हम वित्तीय बाजार को देखते हैं, तो हमेशा लंबे समय तक चलने वाले सितारों की तुलना में अधिक सितारे होते हैं। यदि व्यापारी की रणनीति बाजार की स्थितियों के अनुरूप है, तो हर साल की बाजार स्थितियां सितारों का एक समूह बना सकती हैं, लेकिन यह ऐसा सितारा देखना दुर्लभ है जो लगातार तीन साल से ज़्यादा समय तक दीर्घजीवी हो। स्थिर मुनाफ़ा वाला जन्मदिन मनाने वाला व्यक्ति।
लागत प्रभाव
जब तक आप कोई लंबित ऑर्डर नहीं दे रहे हैं, आपको ट्रेडिंग करते समय मूल्य में गिरावट का अनुभव हो सकता है। सक्रिय रूप से कारोबार किए जाने वाले उत्पादों के लिए, बोली मूल्य और पूछ मूल्य में आम तौर पर एक अंक का अंतर होता है। कम सक्रिय रूप से कारोबार किए जाने वाले उत्पादों के लिए, स्प्रेड बड़ा हो सकता है। हर बार जब आप सक्रिय रूप से व्यापार करना चाहते हैं, तो आपको कम से कम एक स्प्रेड, या उससे भी अधिक की आवश्यकता होती है। हालाँकि, बैकटेस्टिंग में, हमें लेन-देन के मुद्दे पर विचार करने की आवश्यकता नहीं है। जब तक कोई संकेत है, तब तक लेन-देन पूरा हो सकता है। इसलिए, वास्तविक व्यापारिक वातावरण का अनुकरण करने के लिए, कम से कम एक स्लिपेज जोड़ना होगा।
खास तौर पर अपेक्षाकृत उच्च ट्रेडिंग आवृत्ति वाली रणनीतियों के लिए, रणनीति का बैकटेस्टिंग करते समय, यदि स्लिपेज को शामिल नहीं किया जाता है, तो पूंजी वक्र हमेशा ऊपर की ओर झुका रहेगा। एक बार जब उचित स्लिपेज जोड़ दिया जाता है, तो यह तुरंत नुकसान में बदल जाएगा। इसके अलावा, यह घटना सिर्फ़ स्प्रेड मुद्दे के कारण नहीं होती है। वास्तविक ट्रेडिंग माहौल में, नेटवर्क देरी, सॉफ़्टवेयर और हार्डवेयर सिस्टम और सर्वर प्रतिक्रिया जैसे मुद्दों पर भी विचार करने की ज़रूरत होती है।
नीति क्षमता
एक ही रणनीति के कुशल और अकुशल बाजारों में बहुत भिन्न, या यहां तक कि पूरी तरह से विपरीत प्रभाव हो सकते हैं। उदाहरण के लिए, घरेलू शेयर बाजार, कमोडिटी फ्यूचर्स और विदेशी डिजिटल मुद्राओं जैसे अकुशल बाजारों में, ट्रेडिंग वॉल्यूम के छोटे आधार के कारण उच्च आवृत्ति रणनीतियों की क्षमता स्वयं बहुत बड़ी नहीं है। यदि अधिक लोग उनका उपयोग करते हैं, तो कोई लाभ मार्जिन नहीं होगा, और यहां तक कि मूल उच्च आवृत्ति रणनीति भी लाभदायक नहीं होगी। एक लाभदायक रणनीति घाटे वाली रणनीति में बदल जाती है। लेकिन एक कुशल विदेशी मुद्रा बाजार में, कई अलग-अलग प्रकार की उच्च आवृत्ति रणनीतियों के लिए जगह होती है।
ऊपर बताई गई समस्याएं और नुकसान रणनीति विकास और उपयोग के दौरान उत्पन्न हो सकते हैं। एक अनुभवी ट्रेडिंग सिस्टम डेवलपर के लिए, बैकटेस्टिंग बहुत जरूरी है। क्योंकि यह आपको बता सकता है कि किसी रणनीति विचार को ऐतिहासिक लेनदेन में प्रभावी होने के लिए सत्यापित किया जा सकता है या नहीं। लेकिन कई बार बैकटेस्टिंग का मतलब भविष्य में लाभप्रदता नहीं होता है। क्योंकि बैकटेस्टिंग में बहुत सारे नुकसान हैं, आप इसे तब तक नहीं समझ पाएंगे जब तक आप कुछ सबक सीखने के लिए पैसा खर्च नहीं करते। और ये सबक असली पैसे से सीखे जाते हैं। यह पाठ्यक्रम कम से कम आपको कई मात्रात्मक चक्करों और जालों से बचने में मदद कर सकता है।
4.2 इष्टतम स्थिति प्रबंधन स्थापित करना
स्टॉक ऑपरेटर की यादों में, एक दिलचस्प प्रकरण है: ओल्ड टर्की (मूल नाम पार्ट्रिज), जो नायक लिवरमोर के समान ही प्रतिभूति कंपनी में काम करता था, हमेशा बड़ी खरीद और बिक्री करता था। जब भी कोई सुझाव देता था कि वह इसे बाद में बेच दे लाभ कमाना, और फिर स्टॉक की कीमत कम होने के बाद उसे वापस खरीदना। ओल्ड टर्की हमेशा गंभीरता से कहता है: नहीं, आप जानते हैं, यह एक तेजी वाला बाजार है!
लिवरमोर ने भी आखिरकार आह भरी: ट्रेंड का सही अनुमान लगाना कोई बड़ी बात नहीं है। बाजार में, आपको हमेशा ऐसे कई लोग मिल जाएंगे जो बुल मार्केट में बुलिश रहे हैं और बियर मार्केट में मंदी। लेकिन वे बाजार के साथ सौदेबाजी करने में हमेशा माहिर होते हैं, सबसे कम कीमत पर खरीदने और सबसे अधिक कीमत पर बेचने की कोशिश करते हैं। पुराने टर्की की तरह, जो लोग वास्तव में बड़ा पैसा बनाते हैं वे वे होते हैं जो बाजार को सही तरीके से देखते हैं और अपनी स्थिति को मजबूती से बनाए रखते हैं। यह सीखने के लिए सबसे कठिन चीज भी है। इसमें न केवल लक्ष्य और समय का चयन करना शामिल है, बल्कि एक अधिक महत्वपूर्ण प्रश्न यह भी है: कितना बड़ा जोखिम (स्थिति) रखा जाना चाहिए (लिया जाना चाहिए)?
असफल व्यापारियों की सोच एकतरफा होती है। लालची लोग व्यापार करते समय केवल लाभ को देखते हैं, जोखिम को नहीं, जबकि डरपोक लोग केवल जोखिम को देखते हैं, लाभ को नहीं। जो लोग लालची और डरपोक दोनों होते हैं, वे व्यापार करते समय जोखिम को भूल जाते हैं। बाजार बढ़ रहा है। नीचे जाते समय होने वाले लाभ के बारे में भूल जाइए। लेकिन सफल व्यापारी जोखिम और लाभ दोनों पर विचार करते हैं, अर्थात, कमाए गए प्रत्येक डॉलर के लिए, वे कई डॉलर का जोखिम उठाते हैं। फिर रिटर्न और जोखिम को मापने का संकेतक रिटर्न-जोखिम अनुपात है।
बहुत से लोग जानते हैं कि लाभ जितना अधिक होगा, जोखिम भी उतना ही अधिक होगा, अर्थात प्रतिफल जोखिम के समानुपातिक होगा। कुछ लोगों की राय में, रिटर्न और जोखिम के बीच संबंध इस प्रकार होना चाहिए, जिसमें क्षैतिज अक्ष जोखिम प्रतिशत का प्रतिनिधित्व करता है और ऊर्ध्वाधर अक्ष लाभ प्रतिशत का प्रतिनिधित्व करता है:

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

आइए ऊपर दी गई तस्वीर को देखें। पीला वक्र विभिन्न जोखिमों के तहत शुद्ध मूल्य में उतार-चढ़ाव को दर्शाता है। जैसे-जैसे अपेक्षित रिटर्न बढ़ता जा रहा है, जोखिम भी धीरे-धीरे बढ़ रहा है। यदि हम दिवालियापन को 0.5 पर सेट करते हैं, जिसका अर्थ है कि अधिकतम नुकसान 50% तक पहुंच जाता है, तो यह एक असफल ट्रेडिंग रणनीति है। यद्यपि इस रणनीति का अंतिम प्रतिफल सकारात्मक है, परंतु यह वास्तव में बीच में ही दिवालिया हो गई है।
भले ही आपकी रणनीति सकारात्मक अपेक्षा वाली रणनीति हो, फिर भी गलत स्थिति प्रबंधन के कारण यह दिवालिया हो जाएगी। इसलिए इस दृष्टिकोण से, कितना खरीदना या बेचना है, यह कब खरीदना या बेचना है, उससे कहीं ज़्यादा महत्वपूर्ण है। वैज्ञानिक तरीके से पोजीशन का प्रबंधन कैसे किया जाए, यह वित्तीय लेन-देन में एक बुनियादी मुद्दा बन गया है। तो इस समस्या को हल करने का प्रयास करने से पहले, आइए देखें कि जुए में वैज्ञानिक तरीके से दांव कैसे लगाया जाए।

चलिए सिक्का उछालने का उदाहरण लेते हैं। मान लें कि सिक्के के दोनों पहलू बराबर वजन के हैं, अगर सामने वाला हिस्सा दिखाई देता है, तो लाभ 2 युआन है, और अगर पीछे वाला हिस्सा दिखाई देता है, तो नुकसान 1 युआन है। जाहिर है, यह है एक सकारात्मक उम्मीद वाला खेल, जिसमें जीत की दर 50% और नुकसान 2 युआन है। अब प्रश्न यह उठता है: अब आपके पास 100 युआन हैं, तो आप 100 युआन को यथाशीघ्र 1 मिलियन युआन तक पहुंचाने के लिए बार-बार दांव कैसे लगा सकते हैं।
अगर हम इसके बारे में सावधानी से नहीं सोचेंगे, तो हम सोचेंगे कि चूंकि प्रत्येक दांव का लाभ 50% है,*2-50%*1, जो 50% है। अधिकतम लाभ को जल्दी से जल्दी प्राप्त करने के लिए, आपको प्रत्येक जुए में यथासंभव अधिक पूंजी निवेश करना चाहिए। शर्त 100% होनी चाहिए।
लेकिन हर जुए के खेल में 100% पूंजी निवेश करना स्पष्ट रूप से अनुचित है, क्योंकि यदि आप सिर्फ एक बार हार गए, तो पूंजी खत्म हो जाएगी, भले ही संभावना बहुत कम हो। क्योंकि जब तक आप पर्याप्त बार जुआ खेलते रहेंगे, पैसा हारना तय है।
कोई पूछ सकता है कि चूंकि 100% दांव अनुचित है, तो 90% या उससे कम दांव के बारे में क्या? वास्तव में, इस समस्या को हल करने के लिए, हम इस जुए के खेल का अनुकरण करने के लिए एक प्रयोग कर सकते हैं और देख सकते हैं कि प्रत्येक दांव के परिणाम क्या हैं। जैसा कि निम्नलिखित चित्र में दिखाया गया है:
चित्र से हम देख सकते हैं कि जब हम धीरे-धीरे 90%, 80%, 70%, 60% और 50% से स्थिति को कम करते हैं, तो एक ही दांव के परिणाम पूरी तरह से अलग होते हैं। सावधान दोस्तों शायद पहले से ही यह देखा गया हो कि जैसे-जैसे स्थिति धीरे-धीरे कम होती जाती है, अंतिम निधि वास्तव में धीरे-धीरे बढ़ती जाती है।
कोई पूछ सकता है, क्या हर बार कम दांव लगाना बेहतर है, जैसे कि 10%? आप हर दांव अनुपात की गणना नहीं कर सकते, है न? यही वह समस्या है जिसे हल करने के लिए प्रसिद्ध केली फॉर्मूला बनाया गया है। सांख्यिकी में, केली सूत्र प्रत्येक जुए में इष्टतम दांव अनुपात की गणना करके सकारात्मक अपेक्षित दोहराए गए दांव के साथ एक रणनीति की दीर्घकालिक विकास दर को अधिकतम कर सकता है।
इतना ही नहीं, यह मानते हुए कि मूलधन और जुए को असीमित रूप से विभाजित किया जा सकता है, केली सूत्र का उपयोग करने से किसी भी जुए में दिवालिया होना असंभव हो जाएगा। विशेष रूप से वित्तीय लेनदेन के वास्तविक अनुप्रयोग में, यह एक स्थिति प्रबंधन रणनीति है जो आक्रमण और रक्षा दोनों को जोड़ती है। आइए देखें कि केली फार्मूले की गणना कैसे की जाती है, निम्नलिखित चित्र देखें:
- f मौजूदा प्रिंसिपल का इष्टतम सट्टेबाजी अनुपात है
- b ऑड्स है, जिसे ट्रेडिंग में लाभ और हानि अनुपात भी कहा जा सकता है।
- p सफलता दर है
- q विफलता दर है
फिर हम इस वर्ग में जुए के उदाहरण की गणना करने के लिए केली सूत्र का उपयोग कर सकते हैं। 100 युआन की प्रारंभिक पूंजी के साथ, यदि जीतने की दर 50% है और ऑड्स 2 हैं, तो पूंजी को सबसे अधिक बनाने के लिए किस सट्टेबाजी अनुपात का उपयोग किया जाना चाहिए लाभदायक? सबसे तेज़ गति 1 मिलियन युआन तक पहुँचती है। केली सूत्र का उपयोग करते हुए, गणना प्रक्रिया इस प्रकार है:
(0.5*(2+1) -1)/2=0.25
50% जीतने की दर 0.5 है, जिसे ऑड्स 2 प्लस 1 से गुणा किया जाता है, फिर 1 से घटाया जाता है, और अंत में 2 से विभाजित किया जाता है। परिणाम 0.25 है, जिसका अर्थ है कि प्रत्येक दांव में, मूलधन का 25% दांव लगाने के लिए उपयोग किया जाता है। यह सबसे तेज गति से 1 मिलियन युआन तक पहुंच सकता है। हम गणना परिणामों के आधार पर मैन्युअल रूप से इसका अनुकरण कर सकते हैं, यह देखने के लिए कि क्या यह सही है।
उपरोक्त चित्र मैनुअल सिमुलेशन का परिणाम है। कृपया अंतिम पंक्ति देखें। उसी दांव के लिए, 100 से अधिक राउंड के बाद, 25% स्थान पहले 1 मिलियन युआन तक पहुँच गए। 90%, 80%, 70% और 60% स्थितियों के परिणाम नकारात्मक हैं, जो पूरी तरह से दर्शाता है कि सकारात्मक उम्मीद के साथ एक ट्रेडिंग रणनीति भी गलत स्थिति प्रबंधन के कारण दिवालिया हो जाएगी।
हम यह भी देख सकते हैं कि 50% स्थितियों में अंत में न तो हानि होगी और न ही लाभ होगा, जो कि बड़ी संख्या के नियम के परिणाम के अनुरूप भी है। समस्या को और स्पष्ट करने के लिए, मैन्युअल सिमुलेशन के दौरान 10% की स्थिति भी जोड़ी गई। हालाँकि अंतिम परिणाम सकारात्मक रिटर्न था, लेकिन इसका प्रभाव 25% की स्थिति से कई गुना ज़्यादा खराब था।
आपने केली फॉर्मूले की ताकत देखी है। यदि आप वास्तविक आवेदन में 10% प्रिंसिपल पोजीशन चुनते हैं, तो 100 से अधिक दांवों में, आपका प्रिंसिपल 30,000 से अधिक हो जाएगा। हालाँकि लाभ बहुत बड़ा है, फिर भी, परिणाम की तुलना में 25% मूलधन की स्थिति में, यह कोई पैसा नहीं कमाने के बराबर है। यह ज्ञान की शक्ति है.
अगर आप जीवन में पैसे कमाने के लिए केली फॉर्मूला का इस्तेमाल करना चाहते हैं, तो आपको केली फॉर्मूला की आवेदन शर्तों को पूरा करना होगा। इसमें कोई संदेह नहीं है कि यह जुआ वित्तीय बाजार से ही आना चाहिए। विशेष रूप से मात्रात्मक व्यापार में, ऐतिहासिक डेटा का बैकटेस्ट करके, संबंधित जीत दर और बाधाओं की मोटे तौर पर गणना की जा सकती है।
बेशक, वित्तीय लेनदेन में केली सूत्र का वास्तविक अनुप्रयोग इतना सरल नहीं है। अभी भी कई विवरणों से निपटना बाकी है, जैसे कि लीवरेज्ड लेनदेन में फंड की लागत, वास्तविक लेनदेन में फंड और स्थिति को अलग करने में असमर्थता, और लेन-देन में जीतने की दर और स्थिति के बीच का अंतर। बाधाएं गतिशील रूप से बदल रही हैं, आदि। लेकिन चाहे जो भी हो, केली फॉर्मूला हमें दिखाता है कि सर्वोत्तम स्थिति प्रबंधन पद्धति कैसे स्थापित की जाए।
















