आविष्कारकों ने क्वांटिफाइड ट्रेडिंग का परिचय दिया - बुनियादी से लेकर वास्तविक युद्ध तक

लेखक:अच्छाई, बनाया गयाः 2019-06-25 15:48:58, अद्यतन किया गयाः 2023-10-31 21:01:08

जब कीमतें ऊपर से नीचे की ओर गिरती हैं और नीचे की ओर जाती हैं, यानी जब हम समर्थन रेखा को तोड़ते हैं, तो हम मानते हैं कि ऊपर की ताकत मजबूत हो रही है, एक गिरावट की लहर बन गई है, और एक बिक्री का संकेत है।imgचित्र 4-20

यदि खरीदारी के बाद, कीमत फिर से ब्रीनिंग लाइन के मध्य में गिर जाती है, तो हम मानते हैं कि बहुपक्षीय शक्ति कमजोर हो रही है, या खाली शक्ति मजबूत हो रही है, और एक समतल स्थिति संकेत उत्पन्न होता है; यदि बिक्री के बाद, कीमत फिर से ब्रीनिंग लाइन के मध्य में गिर जाती है, तो हम मानते हैं कि खाली शक्ति कमजोर हो रही है, या बहुपक्षीय शक्ति मजबूत हो रही है, और एक खाली स्थिति संकेत उत्पन्न होता है।

खरीद और बिक्री की शर्तें

बहुमुखी मुद्राएं:如果无持仓,并且收盘价大于上轨,并且时间非14:45 खाली बैग:如果无持仓,并且收盘价小于下轨,并且时间非14:45 बहु-मुख्य स्थिति:如果持多单,并且收盘价小于中轨,或者时间是14:45 रिक्त स्थिति:如果持空单,并且收盘价大于中轨,或者时间是14:45

रणनीति कोड कार्यान्वयन

रणनीति को लागू करने के लिए, सबसे पहले हमें यह विचार करना होगा कि हमें किस डेटा की आवश्यकता है? किस एपीआई के माध्यम से प्राप्त करना है? फिर लेनदेन तर्क का गणना कैसे करें? और अंत में, किस तरह से लेनदेन करने के लिए? अब, आइए इसे कदम से कदम मिलाकर लागू करेंः

चरण 1: सीटीए रणनीति ढांचे का उपयोग करें

तथाकथित सीटीए रणनीति ढांचा एक मानक ढांचे का एक सेट है जिसे आविष्कारक द्वारा आधिकारिक तौर पर पेश किया गया है, जिसका उपयोग करके एक मात्रात्मक ट्रेडिंग रणनीति विकसित करने के तुच्छ मुद्दों को ध्यान में रखने की आवश्यकता नहीं है, बल्कि सीधे प्रोग्रामिंग ट्रेडिंग लॉजिक पर ध्यान केंद्रित किया जा सकता है। उदाहरण के लिए, यदि यह ढांचा उपयोग नहीं किया जाता है, तो ऑर्डर देने के समय, महीने के स्थानांतरण, ऑर्डर खरीदने या बेचने की कीमत, ऑर्डर के लेनदेन में विफल होने पर निकासी या अनुवर्ती आदि पर विचार करने की आवश्यकता होती है...imgचित्र 4-21

उपरोक्त चित्र में आविष्कारक के परिमाणात्मक उपकरण का उपयोग करके सीटीए रणनीति ढांचा है। यह एक निश्चित कोड प्रारूप है, जिसमें सभी लेनदेन तर्क कोड लाइन 3 से शुरू होते हैं। उपयोग में, नस्ल कोड को संशोधित करने की आवश्यकता के अलावा (हल्का पीला) अन्य जगहों पर कोई संशोधन की आवश्यकता नहीं है।

यह ध्यान देने योग्य है कि ऊपर दिए गए चित्र में नस्ल कोड rb000/rb888 है। इसका मतलब है कि संकेत डेटा rb000 का उपयोग करता है, लेनदेन डेटा rb888 का उपयोग करता है, और स्वचालित रूप से स्थानांतरित हो जाता है। बेशक आप विशिष्ट नस्ल कोड भी निर्दिष्ट कर सकते हैं, जैसे कि नस्ल कोड rb1910, यानी संकेत डेटा और लेनदेन डेटा दोनों rb1910 का उपयोग करते हैं।

एफएमजेड में जावास्क्रिप्ट के साथ एक कमोडिटी फ्यूचर्स ट्रेडिंग क्लासरूम है, जिसका उपयोग कोड में सीधे रणनीति संपादक इंटरफ़ेस में क्लिक करके किया जा सकता हैःimg

दूसरा कदमः विभिन्न प्रकार के डेटा प्राप्त करें

ध्यान से सोचें, क्या डेटा की आवश्यकता है? हमारी रणनीतिक ट्रेडिंग तर्क से पता चलता हैः पहले वर्तमान होल्डिंग स्थिति प्राप्त करें, और फिर बंद होने की कीमतों के बीच के संबंध की तुलना करें, और अंत में यह निर्धारित करें कि क्या बाजार बंद होने वाला है।

के-लाइन डेटा प्राप्त करें

सबसे पहले, हम K-रेखाओं के सरणी और ऊपर की K-रेखाओं के समापन मूल्य को प्राप्त करते हैं, क्योंकि K-रेखाओं के साथ, हम ब्रिनबैंड के संकेतक की गणना कर सकते हैं।imgचित्र 4-22

जैसा कि ऊपर दिखाया गया हैः चौथी पंक्ति: K-लाइन सरणी प्राप्त करें, यह एक निश्चित प्रारूप है। पंक्ति 5: K रेखा की लंबाई को फ़िल्टर करें, क्योंकि हम 20 के लिए ब्रिनबैंड मापक का उपयोग कर रहे हैं, जब K रेखा 20 से कम होती है, तो ब्रिनबैंड मापक की गणना नहीं की जा सकती है। इसलिए यहां K रेखा की लंबाई को फ़िल्टर करना है, यदि K रेखा 20 से कम है, तो सीधे वापस आएं और अगली K रेखा का इंतजार करें। पंक्ति 6: प्राप्त की गई K-रेखा सरणी से, पहले मूल K-रेखा का ऑब्जेक्ट प्राप्त करें, फिर उस ऑब्जेक्ट से समापन मूल्य प्राप्त करें; एक सरणी के दूसरे तत्व को प्राप्त करें, यानी इस सरणी की लंबाई घटाकर 2 ((r [r.length - 2]); K-रेखा सरणी में तत्व एक ऑब्जेक्ट हैं, जिसमें उद्घाटन मूल्य, उच्चतम मूल्य, निम्नतम मूल्य, समापन मूल्य, लेनदेन की मात्रा, समय शामिल हैं, और समापन मूल्य प्राप्त करने के लिए सीधे इसके बाद अंक जोड़ना है। अंक और विशेषता नाम ((r [r.length - 2].Close) हो सकते हैं।

K-रेखा समय डेटा प्राप्त करें

चूंकि हम दिन के भीतर की रणनीति हैं, इसलिए हमें बंद होने से पहले स्थिति को समतल करने की आवश्यकता है, इसलिए यह निर्धारित करने के लिए कि क्या वर्तमान K लाइन बंद होने के करीब है, यदि यह बंद होने के करीब K लाइन है तो स्थिति को समतल करें, यदि यह बंद होने के करीब K लाइन नहीं है तो स्थिति खोलें, कोड में लिखा गया हैःimgचित्र 4-23

जैसा कि ऊपर दिखाया गया हैः पंक्ति 8: रूट K के लिए समय सारणी गुण प्राप्त करें और फिर एक समय ऑब्जेक्ट ((new Date ((समय सारणी)) बनाएं। पंक्ति 9: समय वस्तु के आधार पर, घंटों और मिनटों की संख्या की गणना करें, और यह निर्धारित करें कि क्या मूल K लाइन का समय 14:45 है।

भंडारण डेटा प्राप्त करें

होल्डिंग की जानकारी एक बहुत ही महत्वपूर्ण शर्त है, जब ट्रेडिंग की स्थिति स्थापित होती है, तो यह भी आवश्यक होता है कि होल्डिंग की स्थिति और होल्डिंग की संख्या के आधार पर आदेश दिया जाए। उदाहरण के लिए, जब खरीदना और खोलना होल्डिंग ट्रेडिंग की स्थिति स्थापित होती है, तो यदि कोई होल्डिंग है, तो दोहराव में आदेश नहीं दिया जाना चाहिए; यदि कोई होल्डिंग नहीं है, तो आप आदेश दे सकते हैं। कोड में लिखा गया हैःimgचित्र 4-24 जैसा कि ऊपर दिखाया गया हैः पंक्ति 11: वर्तमान होल्डिंग स्थिति प्राप्त करें. यदि कई ऑर्डर हैं, तो मूल्य 1 है; यदि खाली ऑर्डर हैं, तो मूल्य -1 है; यदि कोई होल्डिंग नहीं है, तो मूल्य 0 है.

ब्रिनबैंड डेटा प्राप्त करें

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

दो आयामी सरणी वास्तव में अच्छी तरह से समझ में आती है, यह सरणी में सरणी है, तो प्राप्त करने का क्रम हैः पहले सरणी में निर्दिष्ट सरणी प्राप्त करें, और फिर निर्दिष्ट सरणी से निर्दिष्ट तत्व प्राप्त करें, जैसा कि नीचे दिया गया हैःimgचित्र 4-25

जैसा कि नीचे चित्र में दिखाया गया है, पंक्तियों 13 से 19 तक का कोड ब्रीनिंग बैंड के ऊपर, मध्य, और नीचे के मानों को प्राप्त करता है। इनमें से पंक्तियों 13 में सीधे आविष्कारक के मात्रात्मक उपकरण के एपीआई का उपयोग करके ब्रीनिंग बैंड के सरणी को सीधे प्राप्त किया जाता है; पंक्तियों 14 से 16 तक का क्रमशः दो आयामी सरणी में ऊपर, मध्य, और नीचे के सरणी को प्राप्त किया जाता है; पंक्तियों 17 से 19 तक का क्रमशः ऊपर, मध्य, और नीचे के सरणी से प्राप्त किए गए ब्रीनिंग बैंड के ऊपर, मध्य, और नीचे के सरणी के मूल मानों को प्राप्त किया जाता है।imgचित्र 24-26

तीसरा कदमः सौदे को पूरा करें

उपरोक्त डेटा के साथ, आप लेनदेन तर्क लिख सकते हैं और लेनदेन के लिए कोड लिख सकते हैं। प्रारूप भी बहुत सरल है, सबसे अधिक उपयोग किया जाने वाला है यदि यदि वाक्यांश वाक्यांश, जिसे शब्दों के साथ वर्णित किया जा सकता हैः यदि शर्त 1 और शर्त 2 स्थापित हैं, तो आदेश; यदि शर्त 3 या शर्त 4 स्थापित है, तो आदेश। जैसा कि नीचे दिया गया हैःimgचित्र 24-27

ऊपर दिए गए चित्र में, 21 से 24 पंक्तियां लेनदेन के तर्क और नीचे दिए गए लेनदेन के लिए कोड हैं। ऊपर से नीचे तक क्रमशःः सादा, सादा, बहुत, खुला।

एक उदाहरण के रूप में, यह एक बहुवचन है, यदि वाक्य में केवल एक पंक्ति कोड निष्पादित की जाती है, तो कोष्ठक {} को छोड़ दिया जा सकता है। यह वाक्य इस तरह से अनुवाद करता हैः यदि वर्तमान होल्डिंग 0 है, और समापन मूल्य ऊपर की ओर है, और K लाइन का समय 14:45 नहीं है, तो 1 टन लौटाएं।

ध्यान से आप देख सकते हैं कि इन पंक्तियों में एक रिटर्न 1 है और एक रिटर्न -1 है, जो एक निश्चित प्रारूप है, जिसका अर्थ हैः यदि खरीदा गया है तो रिटर्न 1 है; यदि बेचा गया है तो रिटर्न -1 है। बहुत सारे रिक्त स्थान खरीदे गए हैं, इसलिए रिटर्न 1 है; खुले हैं, इसलिए रिटर्न -1 है।

पूर्ण रणनीति कोड

अब एक पूरी रणनीति कोड लिखा गया है, क्या यह आसान है यदि आप इसे अलग से लिखें, जैसे कि ट्रेडिंग फ्रेमवर्क, ट्रेडिंग डेटा, ट्रेडिंग लॉजिक, खरीदें और बेचें, यहां रणनीति का पूरा कोड हैःimgचित्र 4-28

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

सारांश

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

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

अगला भाग

क्वांटिफाइड ट्रेडिंग रणनीति के विकास में, यदि केवल एक प्रोग्रामिंग भाषा का चयन करना संभव है, तो कोई संदेह नहीं है, निश्चित रूप से पायथन का चयन करें, डेटा प्राप्ति से लेकर रणनीति पुनः परीक्षण और लेनदेन तक, पायथन ने पूरे व्यापार श्रृंखला को कवर किया है। वित्तीय क्वांटिफाइड निवेश के क्षेत्र में महत्वपूर्ण स्थान रखता है, अगले अनुभाग में हम पायथन भाषा का परिचय सीखेंगे।

पाठशाला के बाद का काम

1. इस अनुभाग के ज्ञान का उपयोग करके एक द्वि-सीमा रणनीति को लागू करने का प्रयास करें। 2। आविष्कारक के क्वांटिफाइंग टूल में जावास्क्रिप्ट भाषा का उपयोग करके केडीजे संकेतक एल्गोरिदम को लागू करने का प्रयास करें।

4.3 पायथन भाषा का त्वरित परिचय

सारांश

क्वांटिफाइड ट्रेडिंग रणनीति के विकास में, यदि केवल एक प्रोग्रामिंग भाषा का चयन करना संभव है, तो कोई संदेह नहीं है, निश्चित रूप से पायथन का चयन करें, डेटा प्राप्त करने से लेकर रणनीति पुनः परीक्षण और लेनदेन तक, पायथन ने पूरे व्यवसाय श्रृंखला को कवर किया है। वित्तीय क्वांटिफाइड निवेश के क्षेत्र में महत्वपूर्ण स्थान रखता है, इस खंड में हम पायथन भाषा का परिचय सीखेंगे।

क्यों सीखें इतनी सारी प्रोग्रामिंग भाषाएं?

पिछली कक्षा को देखते हुए, हम सभी ने एक साथ सीखाः मैक भाषा, विज़ुअलाइज़ेशन भाषा, जावास्क्रिप्ट भाषा, जिसमें पायथन भी शामिल है, जिसे हम इस खंड में सीखना चाहते हैं। कुछ साथी शायद सवाल करेंगे कि मैं क्वांटिफाइंग ट्रेडिंग क्यों सीख रहा हूं?

दरअसल, प्रत्येक प्रोग्रामिंग भाषा की अपनी भाषा विशेषताएं होती हैं, और इन भाषाओं में कोई फायदे या नुकसान नहीं होते हैं, बल्कि यह देखना है कि रणनीति किस प्रोग्रामिंग भाषा के लिए अधिक उपयुक्त है, और क्या यह प्रोग्रामिंग भाषा आपके लिए उपयुक्त है। इसलिए, एक कहावत है, केवल खुद को आज़माने के लिए पता है। यही कारण है कि हम इतने सारे लेख बनाते हैं, प्रोग्रामिंग भाषाओं के बारे में बात करते हैं।

साथ ही, हम सभी के लिए क्वांटिफ़िकेशन के दरवाजे खोलने और सभी प्रोग्रामिंग भाषाओं के ज्ञान को व्यापक बनाने के लिए प्रतिबद्ध हैं, क्वांटिफ़िकेशन हमारे द्वारा कल्पना की गई ऊंचाई और पहुंच से दूर नहीं है, और हम मानते हैं कि भविष्य में क्वांटिफ़िकेशन सार्वभौमिक और नागरिक होगा।

क्यूटी ट्रेडों के लिए पायथन क्यों चुनें

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

पायथन को चुनने के 5 कारण

1. मात्रा का व्यापक उपयोगः

संयुक्त राज्य अमेरिका के क्वांटोपियन और घरेलू आविष्कारकों के बीच क्वांटिफ़िकेशन पायथन भाषा में किया जा सकता है।

2. सीखना आसान है:

पायथन का डिजाइन दर्शन उपयोगकर्ता-केंद्रित है और यह एक व्याख्यात्मक भाषा है जिसे आसानी से डीबग किया जा सकता है।

3. मुक्त और खुला स्रोतः

बिना उपयोग की लागत, खुला स्रोत कोड साझा करना, सीखने और उपयोग की दक्षता को बढ़ाना।

4. समृद्ध पुस्तकालयः

डेटा प्रोसेसिंग, डेटा ऑपरेशन, विज़ुअलाइज़ेशन, सांख्यिकीय विश्लेषण, तकनीकी विश्लेषण, मशीन लर्निंग...

5. एप्लिकेशन इंटरफ़ेसः

विभिन्न प्लेटफार्मों के डेटा को स्टोरेज कॉल और वास्तविक समय में लेनदेन लिंक के साथ ऑर्डर करने के लिए इंटरफ़ेस प्राप्त होता है।

पूरी रणनीति

इस अनुभाग के मुख्य ज्ञान को जल्दी से समझने में मदद करने के लिए, आविष्कारक द्वारा क्वांटिफाइड जावास्क्रिप्ट भाषा के त्वरित परिचय से पहले, इस अनुभाग के संज्ञाओं के अवधारणाओं के बारे में एक प्रारंभिक समझ है। हम सबसे सरल द्वि-समान रेखा रणनीति का उपयोग करते हैंः

बहुमुखी मुद्राएं: यदि वर्तमान में कोई स्थिति नहीं है, और 5 चक्र औसत रेखा 20 चक्र औसत रेखा से बड़ी है।खाली बैग: यदि वर्तमान में कोई स्थिति नहीं है, और 5 चक्र औसत रेखा 20 चक्र औसत रेखा से कम है।बहु-मुख्य स्थिति: यदि वर्तमान में कई आदेश हैं और 5 चक्र औसत रेखा 20 चक्र औसत रेखा से कम है।रिक्त स्थिति: यदि वर्तमान में एक रिक्त खाता है और 5 चक्र औसत रेखा 20 चक्र औसत रेखा से बड़ी है।

यदि आप इसे पायथन में लिखते हैं, तो यह कुछ इस तरह दिखता हैःimgचित्र ४-२९

ऊपर दिखाया गया कोड पायथन भाषा में लिखी गई एक पूरी मात्रा में लेनदेन की रणनीति है। यह वास्तविक रूप से चल सकता है और स्वचालित रूप से लेनदेन कर सकता है। कोड की मात्रा के मामले में, पायथन भाषा जावास्क्रिप्ट की तुलना में अधिक है क्योंकि हम सीटीए लेनदेन ढांचे का उपयोग नहीं करते हैं।

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

संस्करण का चयन

पायथन के दो संस्करण हैंः पायथन 2 और पायथन 3. एक बार एक अनुच्छेद था जो कहता है कि पायथन एक दोधारी बंदूक की तरह है, लेकिन एक बार में केवल एक बार गोली मार सकता है, लेकिन आप कभी नहीं जानते कि कौन सा अधिक सटीक है। इसलिए यदि आप पायथन के लिए नए हैं, तो सीधे पायथन 3 सीखने की सलाह दी जाती है क्योंकि यह नवीनतम है और पायथन समुदाय इसे बनाए रखता है। हमारे पाठ्यक्रम भी पायथन 3 में पढ़ाया जाता है।

पहचानकर्ता

यह पहचानकर्ता एक चर का नाम है, जैसा कि नीचे दिए गए चित्र में है, test, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test12, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, test10, etc.उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए, उदाहरण के लिए।) के बाद के अक्षर संख्या भी हो सकते हैं, जैसा कि नीचे दिया गया चित्र दिखाता हैःimgचित्र 4-30

टिप्पणी

एक टिप्पणी कोड की एक पंक्ति का अनुवाद या व्याख्या है, जिसका नियम बहुत सरल है, जिसमें एकल पंक्ति टिप्पणी और ब्लॉक स्तर की टिप्पणी शामिल है। एकल पंक्ति टिप्पणी एक कुएं के साथ शुरू होती है ((#), ब्लॉक टिप्पणी तीन एकल उद्धरणों (() या तीन दोहरे उद्धरणों ((""") के साथ शुरू होती है, तीन एकल उद्धरणों (()) या तीन दोहरे उद्धरणों ((""") के साथ समाप्त होती है, जैसा कि नीचे दिखाया गया हैःimgचित्र 4-31

रेखा और संकुचन

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

चर

चर किसी भी प्रकार के डेटा को संग्रहीत कर सकते हैं, सीधे चर का नाम लिखना चर बनाने के लिए है, लेकिन जब एक चर बनाया जाता है तो एक साथ चर का मान सेट करना आवश्यक है, अन्यथा प्रोग्राम त्रुटि देता है।imgचित्र 4-33

आंकड़े

पायथन में छह डेटा प्रकार हैं, जिनमें से तीन अपरिवर्तनीय डेटा और तीन परिवर्तनीय डेटा हैं। एक बार जब एक अपरिवर्तनीय डेटा बनाया जाता है, तो इसका मूल्य अपरिवर्तनीय होता है और इसका पता स्मृति में अद्वितीय होता है; एक परिवर्तनीय डेटा स्मृति में एक पते का संदर्भ है, यदि इसका मूल्य बदल जाता है, तो इसका स्मृति पता अपरिवर्तित रहता है। अपरिवर्तनीय डेटा ((३): संख्या ((संख्या) 、String ((स्ट्रिंग) 、Tuple ((समूह); परिवर्तनीय डेटा (३): List (सूची) ⇒ Dictionary (शब्दावली) ⇒ Set (समूह) ⇒imgचित्र 4-34

संख्याएँ

पायथन में संख्यात्मक प्रकार int ((पूरा), float ((फ्लोटिंग), bool ((बुल), complex ((बहुवचन)); और built-in type (() फ़ंक्शन का समर्थन करते हैं, जिनका उपयोग वेरिएबल द्वारा संदर्भित ऑब्जेक्ट प्रकारों के लिए किया जा सकता है।imgचित्र 4-35

ऑपरेटर

अधिकांश भाषाओं की तरह, पायथन में गणितीय संचालन बहुत सहज हैं. गणितीय ऑपरेटर, तुलनात्मक ऑपरेटर या तार्किक ऑपरेटर सभी हमारे स्कूल में ज्ञान के समान हैं. जहां गणितीय ऑपरेटर जोड़ और घटाने के लिए गणितीय ऑपरेटर हैं, तुलनात्मक ऑपरेटर दो मूल्यों की तुलना कर सकते हैं कि क्या वे कम या कम हैं, तार्किक ऑपरेटर मुख्य रूप से हैंः तार्किक, तार्किक और गैर-तार्किक।imgचित्र 4-36

ध्यान देने योग्य बात यह है कि and का अर्थ है तर्कसंगत और, जो और का प्रतिनिधित्व करता है. or का अर्थ है तर्कसंगत या, जो या का प्रतिनिधित्व करता है. ! का अर्थ है गैर-तर्कसंगत, जो या का प्रतिनिधित्व करता हैः and जब सभी शर्तें true होती हैं, तो अंतिम शर्त true होती है; or सभी शर्तों में है, जब तक कोई भी शर्त true है, तब तक अंतिम शर्त true है।

प्राथमिकताएं

यदि 100* ((10-1) / ((10+5) अभिव्यक्ति है, तो प्रोग्राम पहले किस चरण में गणना करता है? माध्यमिक गणित हमें बताता हैः यदि एक ही स्तर का ऑपरेशन है, तो आमतौर पर बाईं ओर से दाईं ओर क्रमशः गणना की जाती है। 2 यदि कोई जोड़ या घटाव है, तो पहले गुणा करें या फिर जोड़ या घटाव करें। 3 यदि कोई कोष्ठक है, तो कोष्ठक में पहले गणना करें। 4 यदि ऑपरेशन नियम के अनुरूप है, तो ऑपरेशन नियम का उपयोग करके कटौती की जा सकती है। मैक भाषा की प्राथमिकता भी समान है, जैसा कि नीचे चित्रित हैःimgचित्र 4-37

बुल मूल्य

बुल प्रकार सच और झूठ का प्रतिनिधित्व करता है, आमतौर पर शर्त निर्धारण और लूपिंग कथनों में प्रयोग किया जाता है. पायथन ने दो स्थिरांकों को परिभाषित किया है, जो कि सही और गलत हैं। वास्तव में, किसी भी वस्तु को बुल प्रकार में परिवर्तित किया जा सकता है, या सीधे शर्त निर्धारण के लिए उपयोग किया जा सकता है, जैसा कि नीचे दिखाया गया हैःimgचित्र 4-38

स्ट्रिंग

स्ट्रिंग एक शब्द है, जो कि एक प्रकार का कोड सेट करते समय अक्सर स्ट्रिंग का उपयोग किया जाता है, जैसे कि if1905──पायथन में स्ट्रिंग को सिंगल कोट्स या डबल कोट्स "के साथ संकुचित किया जाता है──डबल + स्ट्रिंग का कनेक्टर है─आप स्ट्रिंग में किसी भी वर्ण को सूचकांक मान के आधार पर प्राप्त कर सकते हैं, जैसा कि नीचे दिया गया हैःimgचित्र 4-39

सूची

सूची पायथन में सबसे अधिक उपयोग किए जाने वाले डेटा प्रकारों में से एक है। आप सूची को एक कंटेनर के रूप में कल्पना कर सकते हैं, लेकिन कंटेनर में तत्वों को बाईं ओर से दाईं ओर क्रमबद्ध किया गया है, पहला तत्व 0 है, दूसरा तत्व 1 है, और इसी तरह। इसके अलावा पायथन में सूची किसी भी डेटा प्रकार को स्टोर कर सकती है, जैसा कि चित्र में दिखाया गया हैःimgचित्र 4-40

फ़ंक्शन

पायथन में फ़ंक्शन हमारे माध्यमिक विद्यालय के फ़ंक्शन से कोई अंतर नहीं है, आप समझ सकते हैं कि फ़ंक्शन के माध्यम से क्या पारित किया जाता है और क्या आउटपुट किया जाता है, जैसा कि चित्र में दिखाया गया हैःimgचित्र 44-41

if वाक्य

यदि कथन हमारे जीवन में अक्सर दिखाई देते हैं, जैसेः यदि आज बारिश हो रही है, तो मैं शर्त लगाऊंगा. यानी, यह कथन केवल तभी कोड निष्पादित करेगा जब स्थिति सही हो। ध्यान दें, कोड के संकुचन प्रारूप पर ध्यान दें, अन्यथा यह पायथन त्रुटियों का उत्पादन करेगा! नीचे दी गई छवि में दिखाया गया हैःimgचित्र 44-42

if...else वाक्यांश

if...else कथन भी सामान्य वाक्य हैं, जैसेः अगर आज बारिश हो रही है, तो मैं दांव लगाऊंगा; अन्यथा, मैं दांव नहीं लगाऊंगा ।else कथन if कथन का एक विस्तार है, अर्थात, यदि निर्दिष्ट शर्त झूठी है, तोelse के बाद का वाक्य कोड निष्पादित करता है । जैसा कि नीचे दिखाया गया हैःimgचित्र 44-43

elif वाक्यांश

चूंकि पायथन स्विच स्टेटमेंट का समर्थन नहीं करता है, इसलिए कई शर्तों पर निर्णय लेने के लिए, पायथन केवल elif स्टेटमेंट का उपयोग कर सकता है। उदाहरण के लिएः यदि यह एक सूर्य रेखा है, तो मैं अधिक देखता हूं; अन्यथा यदि यह एक कैनवास है, तो मैं खाली देखता हूं; अन्यथा मैं देखता हूं; जैसा कि नीचे दिखाया गया हैःimgचित्र 44-44

for चक्र

कभी-कभी जब हम हाल के दिनों के लिए K-लाइन डेटा प्राप्त करना चाहते हैं, तो हमें K-लाइन सरणी से K-लाइन डेटा के स्थान के आधार पर क्रमशः प्राप्त करने की आवश्यकता होती है, तो for लूप का उपयोग करना बहुत सुविधाजनक है, जैसा कि नीचे दिया गया हैःimgचित्र 4-45

while लूप

हम सभी जानते हैं कि बाजार लगातार बदल रहा है, और अगर आप नवीनतम के-लाइन सरणी प्राप्त करना चाहते हैं, तो आपको लगातार एक ही कोड को बार-बार चलाने की आवश्यकता है, तो आप whilx लूप का उपयोग कर सकते हैं, जब तक कि शर्त सही है, लूप नवीनतम के-लाइन सरणी प्राप्त करता है।imgचित्र 44-46

ब्रेक वाक्यांश और continue वाक्यांश

लूप की शर्तें होती हैं, केवल जब यह शर्त true होती है, तब तक लूप कुछ करना शुरू कर देता है, और जब तक यह शर्त false नहीं होती है, तब तक लूप समाप्त नहीं होता है। लेकिन ब्रेक कथन लूप के निष्पादन के दौरान तुरंत लूप से बाहर निकल सकता है; जारी कथन एक लूप को रोक सकता है और अगले लूप को जारी रख सकता है, जैसा कि नीचे दिखाया गया हैःimgचित्र 44-47

return वाक्यांश

return कथन फ़ंक्शन के निष्पादन को समाप्त करता है और फ़ंक्शन का मान लौटाता है. return कथन केवल फ़ंक्शन के शरीर में दिखाई देता है, और कोड में कहीं और दिखाई देता है तो सिंटेक्स त्रुटि होती है!imgचित्र 44-48

रणनीतिक ढांचा

रणनीतिक वास्तुकला को आप रणनीतियों के एक निश्चित प्रारूप के रूप में समझ सकते हैं, आविष्कारक के लिए मात्रात्मक उपकरण परामर्श मॉडल का उपयोग करते हैं, जो कि क्लासिक कमोडिटी फ्यूचर्स रणनीतिक वास्तुकला है।

इनमें से लाइन 4 से 7 पूरे प्रोग्राम का मुख्य इनपुट फ़ंक्शन है, यानी कंप्यूटर लाइन 4 से कोड निष्पादित करता है; फिर सीधे लाइन 5 को निष्पादित करने के बाद, अनंत चक्र में प्रवेश करता है; फिर अनंत चक्र में लगातार रणनीति लॉजिक फ़ंक्शन ((onTick) और नींद फ़ंक्शन ((Sleep) निष्पादित करता है; onTick फ़ंक्शन भी लाइन 1 का कोड है, आप लाइन 2 पर रणनीति लॉजिक लिख सकते हैं; हम जानते हैं कि लूप में, प्रोग्राम निष्पादन की गति बहुत तेज है, इसलिए नींद फ़ंक्शन का उपयोग करके कोड को रोक दिया जा सकता है, अगली पीढ़ी का कोड Sleep ((500) प्रत्येक चक्र में, 500 मिलीसेकंड के लिए सो जाता है।imgचित्र 44-49

सारांश

यह पायथन भाषा के लिए एक त्वरित परिचय है, हालांकि यह केवल एक सरल बुनियादी ज्ञान है, लेकिन एक सरल मात्रात्मक लेनदेन रणनीति लिखने के लिए कोई समस्या नहीं है। यदि अधिक जटिल रणनीति लिखने की आवश्यकता है, तो आविष्कारक के मात्रात्मक उपकरण पायथन भाषा एपीआई दस्तावेज़ को देखें।

अगला भाग

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

पाठशाला के बाद का काम

1. आविष्कारक के क्वांटिफाइंग टूल में पाइथन भाषा का उपयोग करके ऐतिहासिक के-लाइन डेटा प्राप्त करने का प्रयास करें। 2. इस अनुभाग के आरंभ में रणनीति कोड लिखने का प्रयास करें और इसके लिए एक टिप्पणी लिखें।

4.4 पायथन भाषा का उपयोग करके रणनीतिक लेनदेन कैसे करें

सारांश

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

रणनीति का परिचय

कई ट्रेडिंग रणनीतियों में से, डोंगचियन चैनल रणनीति सबसे क्लासिक और सबसे सफल है, जो 1970 के दशक में प्रसिद्ध हो गई थी, जब विदेशी कंपनियों ने मुख्यधारा के प्रक्रियात्मक ट्रेडिंग रणनीतियों पर विशेष रूप से सिमुलेशन परीक्षण और अध्ययन किया था।

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

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

डोंगचियान मार्ग के रणनीतिक नियम

डोंगचियन चैनल एक ट्रेंडिंग प्रकार का संकेतक है, जिसका सिग्नल और उपस्थिति ब्रिंग बैंड संकेतक के समान है। लेकिन डोंगचियन के मूल्य चैनल को एक अवधि के भीतर उच्चतम मूल्य और निम्नतम मूल्य के आधार पर बनाया गया है। उदाहरण के लिए, हाल ही में 50 के लाइन के उच्चतम मूल्य के अधिकतम मूल्य की गणना करते समय, एक ट्रैक बनाया गया है; हाल ही में 50 के लाइन के निम्नतम मूल्य के न्यूनतम मूल्य की गणना करते समय, एक ट्रैक बनाया गया है। यह सूचक 3 अलग-अलग रंगों की रेखाओं से बना है, जो 20 चक्रों में बाजार की कीमतों में उतार-चढ़ाव दिखाने के लिए डिफ़ॉल्ट रूप से उच्चतम और निम्नतम मूल्य हैं। जब इसका चैनल संकीर्ण होता है तो यह बाजार में कम उतार-चढ़ाव का संकेत देता है, जबकि इसके विपरीत चैनल चौड़ा होता है तो यह बाजार में अधिक उतार-चढ़ाव का संकेत देता है।

यदि मूल्य ऊपर की ओर बढ़ता है तो यह एक खरीद संकेत है; यदि मूल्य नीचे की ओर गिरता है तो यह एक बिक्री संकेत है। चूंकि इसकी ऊपर की ओर और नीचे की ओर उच्चतम और निम्नतम कीमतों के साथ गणना की जाती है, इसलिए आम तौर पर, कीमतें एक ही समय में ऊपर की ओर और नीचे की ओर गिरती हैं। ज्यादातर मामलों में, कीमतें ऊपर की ओर या नीचे की ओर एकतरफा आंदोलन के साथ या ऊपर और नीचे की ओर चलती हैं।

डॉनचियन चैनल गणना विधि

आविष्कारक के परिमाणात्मक उपकरण में, डॉनचियन चैनल की गणना का तरीका बहुत सरल है, जिसे सीधे निर्दिष्ट चक्र के भीतर उच्चतम मूल्य या निम्नतम मूल्य प्राप्त करने के लिए उपयोग किया जा सकता है, जैसा कि चित्र में दिखाया गया हैः पंक्ति 5 50 चक्रों के उच्चतम मूल्य का अधिकतम मूल्य प्राप्त करती है, और पंक्ति 6 50 चक्रों के निम्नतम मूल्य का न्यूनतम मूल्य प्राप्त करती है।imgचित्र ४-५०

रणनीतिक तर्क

डोंगचियन चैनल का उपयोग करने के कई तरीके हैं, जो अलग से इस्तेमाल किए जा सकते हैं या अन्य संकेतकों के साथ संयुक्त रूप से उपयोग किए जा सकते हैं। इस अनुभाग में हम उपयोग करने के लिए सबसे सरल तरीका अपनाएंगे। अर्थात्, जब कीमत नीचे से ऊपर की ओर बढ़ जाती है, यानी ऊपर की दबाव रेखा को तोड़ती है, तो हम मानते हैं कि बहुपक्षीय ताकत मजबूत हो रही है, एक लहर ऊपर की ओर बढ़ रही है, जो एक खरीद-बिक्री संकेत उत्पन्न करती है; जब कीमत ऊपर से नीचे की ओर बढ़ रही है, तो हम मानते हैं कि ऊपर की ताकत मजबूत हो रही है, एक लहर नीचे की ओर बढ़ रही है, जो एक बिक्री संकेत उत्पन्न करती है।imgचित्र 4-51

यदि खरीदारी के बाद, कीमत फिर से डोंगचियान चैनल के मध्य की ओर गिर जाती है, तो हम मानते हैं कि बहुपक्षीय शक्ति कमजोर हो रही है, या हवाई शक्ति मजबूत हो रही है, और एक पक्की स्थिति संकेत उत्पन्न होता है; यदि बिक्री के बाद, कीमत फिर से डोंगचियान चैनल के मध्य की ओर गिर जाती है, तो हम मानते हैं कि हवाई शक्ति कमजोर हो रही है, या बहुपक्षीय शक्ति मजबूत हो रही है, और एक पक्की स्थिति संकेत उत्पन्न होता है।

खरीद और बिक्री की शर्तें बहुमुखी मुद्राएं: अगर कोई स्टॉक नहीं है, और बंद करने का मूल्य ऊपर से अधिक हैखाली बैग: अगर कोई स्टॉक नहीं है, और बंद कीमत नीचे की ओर हैबहु-मुख्य स्थिति: यदि अधिक ऑर्डर हैं, और समापन मूल्य मध्य रेल से कम हैरिक्त स्थिति: अगर खाली नोट है और बंद होने की कीमत मध्य रेल से अधिक है

रणनीति कोड कार्यान्वयन

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

पहला कदमः लेन-देन वर्गीकरण का उपयोग करें

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

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

जावास्क्रिप्ट के लिए टेम्पलेट क्लास लाइब्रेरी अंतर्निहित है, और पायथन को इस टेम्पलेट को सहेजने के लिए कॉपी करने की आवश्यकता हैःhttps://www.fmz.com/strategy/24288; फिर नीति संपादित पृष्ठ पर संदर्भ चुनें; और, निश्चित रूप से, बिना टेम्पलेट लाइब्रेरी के नीति को पूरा करें।

img

दूसरा कदमः विभिन्न प्रकार के डेटा प्राप्त करें

ध्यान से सोचें, क्या डेटा की आवश्यकता है? हमारी रणनीतिक ट्रेडिंग तर्क से पता चलता हैः पहले वर्तमान होल्डिंग स्थिति प्राप्त करें, और फिर बंद होने की कीमतों के बीच के संबंध की तुलना करें, और अंत में यह निर्धारित करें कि क्या बाजार बंद होने वाला है।

के-लाइन डेटा प्राप्त करें

सबसे पहले, K-रेखाओं का एक सरणी और वर्तमान K-रेखाओं का समापन मूल्य प्राप्त करना है, क्योंकि K-रेखाओं का एक सरणी है, तो आप एन चक्रों के उच्चतम मूल्य या निम्नतम मूल्य प्राप्त करने के लिए एपीआई को कॉल कर सकते हैं। कोड में लिखा गया हैःimgचित्र 4-53 जैसा कि ऊपर दिखाया गया हैः चौथी पंक्ति: K-लाइन सरणी प्राप्त करें, यह एक निश्चित प्रारूप है। पंक्ति 5: K लाइन की लंबाई को फ़िल्टर करें, क्योंकि हम N चक्रों के अधिकतम मूल्य या न्यूनतम मूल्य की गणना करते हैं, जिसका पैरामीटर 50 है, और जब K लाइन 50 से कम होती है, तो यह गणना नहीं की जा सकती है। इसलिए यहां K लाइन की लंबाई को फ़िल्टर करना है, यदि K लाइन 50 से कम है, तो इस लूप को छोड़ दें और अगली K लाइन का इंतजार करें। पंक्ति 6: हम कोड len (records) - 1 का उपयोग करते हैं, जो कि सबसे हालिया K-रेखा डेटा है। यह डेटा एक वस्तु है, जिसमें शामिल हैंः ओपन प्राइस, हाईस्ट प्राइस, मिनिमम प्राइस, क्लोज प्राइस, ट्रेंडिंग वॉल्यूम, टाइम आदि। चूंकि यह एक वस्तु है, इसलिए हम सीधे len का उपयोग करते हैं।

भंडारण डेटा प्राप्त करें

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

जैसा कि ऊपर दिखाया गया हैः यह एक ऐसा फ़ंक्शन है जो स्टॉक की जानकारी प्राप्त करता है, यदि स्टॉक खाली है तो 0 लौटाता है; यदि एक से अधिक ऑर्डर हैं तो 1 लौटाता है; यदि एक खाली ऑर्डर है तो -1 लौटाता है; ऊपर दिए गए कोड पर ध्यान देंः पंक्ति 2: एक फ़ंक्शन बनाएं, जिसका नाम mp है, और इसमें कोई पैरामीटर नहीं है। तीसरी पंक्तिः एक स्थिर प्रारूप के लिए एक भंडारण सरणी प्राप्त करें। चौथी पंक्ति: स्टोरेज सरणी की लंबाई का निर्धारण करें, अगर इसकी लंबाई बराबर है, तो यह निश्चित रूप से रिक्त है, इसलिए 0 लौटाता है पंक्ति 6: for loop का उपयोग करके, इस सरणी को पार करना शुरू करें, और अगला तर्क बहुत सरल है, यदि आप एक से अधिक संख्या रखते हैं, तो यह 1 लौटाता है; यदि आप एक खाली संख्या रखते हैं, तो यह -1 लौटाता है। पंक्ति 18: अभी लिखे गए संग्रहण जानकारी प्राप्त करने के फ़ंक्शन mp को कॉल करें.

हाल के 50 K लाइनों के लिए उच्चतम और निम्नतम मूल्य प्राप्त करें

आविष्कारक के मात्रात्मक उपकरण में, TA.Highest TA.Lowest TA.Lowest functions का उपयोग करके सीधे प्राप्त किया जा सकता है, बिना अपने स्वयं के तर्क को लिखने की आवश्यकता है। और TA.Highest TA.Lowest TA.Lowest TA.Highest TA.Lowest TA.Lowest function के परिणाम विशिष्ट संख्याओं के बजाय संख्याओं के साथ वापस आ जाते हैं। यह बहुत सुविधाजनक है, और इसके अलावा, आधिकारिक रूप से सैकड़ों सूचक कार्यों को अंतर्निहित किया गया है।imgचित्र 4-55

जैसा कि ऊपर दिखाया गया हैः पंक्ति 19: TA.Highest तालिका फ़ंक्शन को 50 चक्रों के अधिकतम मूल्य के लिए कॉल करें पंक्ति 20: 50 चक्रों के न्यूनतम मूल्य के लिए सबसे कम मूल्य प्राप्त करने के लिए तालिका TA.Lowest तालिका फ़ंक्शन को कॉल करें पंक्ति 21: 50 चक्र के उच्चतम मूल्य के अधिकतम मूल्य और 50 चक्र के निम्नतम मूल्य के न्यूनतम मूल्य के आधार पर औसत की गणना करें

तीसरा कदमः सौदे को पूरा करें

उपरोक्त डेटा के साथ, आप लेनदेन तर्क लिख सकते हैं और लेनदेन के लिए कोड लिख सकते हैं। प्रारूप भी बहुत सरल है, सबसे अधिक उपयोग किया जाने वाला है यदि वाक्यांश वाक्यांश वाक्यांश, जिसे शब्दों के साथ वर्णित किया जा सकता हैः यदि शर्त 1 और शर्त 2 स्थापित हैं, तो आदेश; यदि शर्त 3 या शर्त 4 स्थापित है, तो आदेश।imgचित्र 4-56

जैसा कि ऊपर दिखाया गया हैः पंक्ति 22: लेन-देन वर्गों का उपयोग करें, यह एक निश्चित प्रारूप है पंक्तियाँ 23 और 24: यह एक साधारण बहुवचन कथन है, जिसमें हम पहले सीखे गए कंक्रीट तुलना ऑपरेशन और कंक्रीट तार्किक ऑपरेशन का उपयोग करते हैं, जिसका अर्थ है कि यदि वर्तमान में कई ऑर्डर हैं, और समापन मूल्य मध्य रेखा से कम है, तो सभी पदों को समतल किया जाता है। पंक्तियाँ 25 और 26: यह एक रिक्त रिक्त सूची कथन है, जिसमें हम पहले सीखे गए कंक्रीट तुलना ऑपरेशन और कंक्रीट तार्किक ऑपरेशन का उपयोग करते हैं, जिसका अर्थ है कि यदि वर्तमान रिक्त सूची है, और समापन मूल्य मध्य रेखा से अधिक है, तो सभी पदों को समतल किया जाता है। पंक्ति 27: वर्तमान स्टॉक की स्थिति का आकलन करें, यदि स्टॉक खाली है, तो अगले चरण पर जाएं। पंक्तियाँ 28 और 29: यह निर्धारित करें कि क्या समापन मूल्य ऊपर की ओर बढ़ रहा है, और यदि समापन मूल्य ऊपर की ओर बढ़ रहा है, तो एक खुली स्थिति खरीदें। पंक्तियाँ 30, 31: यह निर्धारित करें कि क्या समापन मूल्य नीचे की ओर है, यदि समापन मूल्य नीचे की ओर गिर जाता है, तो खुली स्थिति बेच दी जाती है।

सारांश

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

अगला भाग

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

पाठशाला के बाद का काम

1. इस धारा के कार्यान्वयन के लिए अपनी रणनीति शुरू करें। 2. इस अनुभाग के लिए रणनीति के लिए एक सरलीकृत संकेतक जोड़ने का प्रयास करें और व्यापार की आवृत्ति को कम करें।

अध्याय 5: रणनीतिक समीक्षा, तैनाती और सुधार

5.1 पुनर्मूल्यांकन का अर्थ और जाल

सारांश

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

पुनर्मूल्यांकन का अर्थ

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

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

इसके अलावा, परिमाणात्मक लेनदेन के परिचालन के दृष्टिकोण से, रीटेस्टिंग रणनीति तर्क में बगों का पता लगाने में मदद कर सकती है, जैसे कि भविष्य के कार्य, चोरी की कीमत, बहुपद अनुकूलन आदि। यह रणनीति के लिए विश्वसनीय सबूत प्रदान करता है जिसे वास्तविक ट्रेडिंग के लिए इस्तेमाल किया जा सकता है।

  • ट्रेडिंग सिग्नल की सटीकता को सत्यापित करना।
  • यह एक बहुत ही दिलचस्प और दिलचस्प सवाल है।
  • व्यापार प्रणाली में खामियों का पता लगाना और मूल रणनीति में सुधार करना।

इसलिए, पुनरीक्षण का अर्थ है कि ऐतिहासिक डेटा के माध्यम से वास्तविक लेनदेन प्रक्रिया को यथासंभव यथार्थवादी रूप से बहाल करना, रणनीति की प्रभावशीलता को सत्यापित करना, गलत रणनीति के लिए महंगी कीमतों से बचना और हमारी ट्रेडिंग रणनीति को छानने, सुधारने और अनुकूलित करने में मदद करना।

पुनर्मूल्यांकन के जाल

एक अन्य वीडियो में, उन्होंने कहा, "यह एक बहुत ही भयानक घटना है।

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

ट्रैप के भविष्य के कार्यों का पता लगाने के लिएः

भविष्य के फ़ंक्शन का उपयोग भविष्य की कीमत पर किया जाता है, यानी वर्तमान की स्थिति भविष्य में बदल सकती है, और इसी तरह भविष्य के फ़ंक्शन के कारण संकेत चमकता है। इसलिए किसी भी फ़ंक्शन में भविष्य के फ़ंक्शन की विशेषताएं होती हैं, जैसे कि शब्द की जगह फ़ंक्शन की जगह ली जाती है।

जैसा कि नीचे चित्र में दिखाया गया हैः इसका शब्द-परिवर्तन फ़ंक्शन, जो कि लहरों के शिखर और लहरों के मोड़ को दर्शाता है, नवीनतम वास्तविक समय मूल्य के अनुसार अपने मूल्य को समायोजित कर सकता है, लेकिन यदि वर्तमान मूल्य में परिवर्तन होता है, तो इसका शब्द-परिवर्तन फ़ंक्शन के साथ गणना का परिणाम भी बदल जाएगा। यदि भविष्य के फ़ंक्शन के साथ फ़ंक्शन का उपयोग किया जाता है, तो वर्तमान ऑर्डर सिग्नल स्थापित हो सकता है और ऑर्डर किया जा सकता है, लेकिन थोड़ी देर बाद यह संकेत फिर से अमान्य हो सकता है।imgचित्र 5-1

ट्रैप की चोरी की कीमत का पता लगाएं

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

एक और स्थिति यह है कि यदि कीमत एक रणनीति के साथ एक निश्चित मूल्य के ऊपर कूदती है, तो एक निश्चित मूल्य पर पुनर्मूल्यांकन किया जा सकता है, लेकिन वास्तविक मूल्य में यह निश्चित मूल्य स्पष्ट रूप से नहीं खरीदा जा सकता है।

ट्रैप के लिए असंभव कीमतों का पुनर्मूल्यांकन

इस तरह की कीमतों को कई स्थितियों में विभाजित किया जा सकता हैः पहलाः वास्तविक समय में, स्टॉप के दौरान आम तौर पर खरीदा नहीं जा सकता है, और इसके विपरीत गिर जाता है; लेकिन पुनर्मूल्यांकन में, यह सौदा किया जा सकता है।

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

तीसरा तरीकाः यदि लाभप्रदता रणनीति है, तो लाभ का पुनर्मूल्यांकन बहुत अधिक है, क्योंकि पुनर्मूल्यांकन में हर बार इन अंतरों को पकड़ने की धारणा है। वास्तविक स्थिति में, कई अंतरों को नहीं पकड़ा जा सकता है, या केवल एक पैर पकड़ा गया है, जो आम तौर पर आपके लिए प्रतिकूल है, तो आपको तुरंत दूसरे पैर को भरना होगा।

चौथा प्रकारः ब्लैक स्वान घटना; जैसा कि नीचे चित्रित है, विदेशी मुद्रा स्विस ब्लैक स्वान घटना में, हालांकि बाहरी रूप से खुले मूल्य, उच्चतम मूल्य, निम्नतम मूल्य, बंद मूल्य दिखाई देते हैं, वास्तव में उस दिन के चरम बाजार में, मध्य मूल्य खाली है, बहुत सारे स्टॉप-लॉस ऑर्डर हैं, जिससे ट्रेड स्टॉप घटनाएं होती हैं, तरलता शून्य होती है, लेनदेन की कठिनाई बहुत बड़ी होती है, लेकिन वापस परीक्षण में नुकसान हो सकता है।imgचित्र 5-2

ट्रैप के लिए अति-फिट का पता लगाना

जब भी मैं नीचे दिए गए चित्र को देखता हूं, तो मेरा मन कहता है, हाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाहाimgचित्र 5-3

मात्रात्मक लेनदेन के लिए, पुनरावृत्ति ऐतिहासिक डेटा पर आधारित है, लेकिन ऐतिहासिक डेटा का एक सीमित नमूना है, यदि लेनदेन की रणनीति के लिए बहुत अधिक पैरामीटर हैं, या लेनदेन तर्क बहुत जटिल है, जिसके परिणामस्वरूप लेनदेन की रणनीति ऐतिहासिक डेटा के लिए बहुत अधिक अनुकूल है।

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

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

ट्रैप से बचे लोगों की विचलन का पता लगाएं

वॉल स्ट्रीट पर एक मजाक प्रचलित है: मान लीजिए कि बाजार में 1000 मकड़ियों के निवेश हैं, पहले वर्ष में 500 मकड़ियों को बाहर निकाल दिया जाता है; दूसरे वर्ष में आधा निकाल दिया जाता है और 250 मकड़ियों को छोड़ दिया जाता है; और तीसरे वर्ष के अंत तक, 125 मकड़ियों को छोड़ दिया जाता है।imgचित्र 5-4

नौवें साल में, एक आखिरी बंदूक बची है. और फिर आप देखते हैं, देखो, बाएं और दाएं देखो, और मुझे ऐसा लगता है कि मैं ठीक हूं. और फिर फाइनेंशियल मैगज़ीन के कवर को देखते हुए, अचानक मुझे लगा, वाह वाह, यह बफेट नहीं है! वाह!

बेशक, यह सिर्फ एक मजाक है, लेकिन क्या आपने कभी सोचा है कि अगर 1000 फंड मैनेजर हैं, तो 10 साल बाद, लगभग 10 फंड मैनेजर लगातार 10 साल तक बाजार को जीतते रहेंगे। लेकिन यह संभव है कि यह आकस्मिकता और भाग्य से तय हो, और फंड मैनेजरों के कौशल से कोई लेना-देना नहीं है।

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

और धीमी गति से, जैसा कि दाईं ओर चित्र में दिखाया गया है, वास्तविक स्थिति अंदर है। मूल रूप से बाईं ओर की पुनरावृत्ति वक्र केवल कई पुनरावृत्तियों में से एक है जो सबसे अच्छा प्रदर्शन करता है। यानी, बाईं ओर की पुनरावृत्ति में, इसके पीछे कई खराब प्रदर्शन करने वाली स्थितियां हैं।

जाल के झटके की लागत का पुनर्मूल्यांकन

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

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

बिना स्लाइडिंग पॉइंट के रीट्रेसिंग

imgचित्र 5-6

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

स्लाइडिंग पॉइंट के साथ पुनः परीक्षण

imgचित्र 5-7

जैसा कि ऊपर दिखाया गया है, एक ही रणनीति, यदि 2 स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के बिना स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के बिना, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ, स्लाइड पॉइंट्स के साथ

सारांश

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

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

पाठशाला के बाद का काम

1. क्या है ओवरफॉलो और इससे कैसे बचा जाए? 2. वास्तविक जीवन में कौन सी चीजें बचे हुए लोगों के लिए अप्रिय हैं?

5.2 लेन-देन का पुनः परीक्षण कैसे करें

सारांश

पुनरीक्षण के अर्थ और महत्व में कोई संदेह नहीं है, जब मात्रात्मक पुनरीक्षण किया जाता है, तो रणनीतियों को यथासंभव ऐतिहासिक वास्तविक वातावरण में रखा जाना चाहिए, क्योंकि ऐतिहासिक वातावरण के विवरणों को अनदेखा करने से पूरे मात्रात्मक पुनरीक्षण को अमान्य कर दिया जा सकता है। यह लेख आपको बताता है कि मात्रात्मक लेनदेन पुनरीक्षण कैसे करें।

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

आविष्कारक क्वांटिफाइड एक वाणिज्यिक क्वांटिफाइड ट्रेडिंग सॉफ्टवेयर के रूप में, एक उच्च प्रदर्शन वाले रीट्यूनिंग इंजन के साथ आता है, जो वेक्टर क्वांटिफाइड गणना को तेज करने के लिए एक फोर-लूप रीट्यूनिंग फ्रेमवर्क का उपयोग करता है; और रीट्यूनिंग और वास्तविक डिस्क के कोड को एकीकृत करता है, जो कि रीट्यूनिंग की कठिनाइयों को हल करता है।

पुनः परीक्षण इंटरफ़ेस परिचय

हम आविष्कारकों के लिए क्वांटिफाइड मैक भाषा रणनीति का उदाहरण देते हैं, और हम एक वेबसाइट विकसित करते हैं जिसमें क्वांटिफाइड ट्रेडिंग टूल हैं।www.fmz.com) ; क्लिक करें नियंत्रण केंद्र, नीति संग्रह, एक नीति चुनें, एनालॉग पुनः परीक्षण, और नीचे दिए गए पृष्ठ पर जाएंःimgचित्र 5-8

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

मैक भाषा ट्रेडिंग क्लासरूम पर क्लिक करें, सबसे पहले ट्रेड सेट टैग, आविष्कारक के क्वांटिफाइड ट्रेडिंग टूल में मैक भाषा रणनीति में दो रीसेट निष्पादन तरीके हैं, अर्थात्ः समापन मूल्य मॉडल और वास्तविक समय मूल्य मॉडल। समापन मूल्य मॉडल का अर्थ है कि वर्तमान K लाइन समाप्त होने के बाद ही मॉडल निष्पादित किया जाता है, और निम्न मूल K लाइन शुरू होने पर लेनदेन निष्पादित किया जाता है। वास्तविक समय मूल्य मॉडल का अर्थ है कि प्रत्येक मूल्य परिवर्तन के लिए एक मॉडल निष्पादित किया जाता है, और जब ट्रेडिंग सिग्नल बनता है, तो तुरंत ट्रेड किया जाता है। जैसा कि नीचे चित्रित हैःimgचित्र 5-9

डिफ़ॉल्ट रूप से, ट्रेडों की संख्या में वृद्धि हुई है, और एक ही बार में ट्रेडों की संख्या में वृद्धि हुई है, जो कि ट्रेडों की संख्या में वृद्धि हुई है। ट्रेडों की संख्या में वृद्धि हुई है, और ट्रेडों की संख्या में वृद्धि हुई है। ट्रेडों की संख्या में वृद्धि हुई है।

फ्यूचर्स ऑप्शन में उस प्रकार के कॉन्ट्रैक्ट को भरें, जैसे कि rb000 या rb888। रियल डिस्क ऑप्शन मुख्य रूप से रियल डिस्क ट्रेडिंग के लिए उपयोग किया जाता है, और रिट्रीट में डिफ़ॉल्ट सेटिंग्स को बनाए रखा जा सकता है। यदि ऑटो-रीस्टोर प्रोग्रेस क्लिक सही है, तो जब रणनीति वास्तविक डिस्क पर रोके जाने के बाद रोबोट को फिर से शुरू करती है, तो रोबोट स्वचालित रूप से सिग्नल की स्थिति को फिर से शुरू कर देता है, सिग्नल को फिर से गिनने की आवश्यकता नहीं होती है। सिग्नल को सेट करने के लिए सिंगल रिट्रीट की संख्या डिफ़ॉल्ट रूप से 20 है, जो कि सिंगल विफल होने पर फिर से कोशिश करेगा। नेटवर्क डिटेक्शन चक्र के बीच रोबोट हर बार रणनीति कोड निष्पादित करता है।imgचित्र 5-10

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

रणनीतिक पुनरीक्षण

रिट्रीट करने से पहले, अपनी ट्रेडिंग रणनीति को अच्छी तरह से निर्धारित करें, यहां हम थर्मोस्टैट रणनीति का उदाहरण देते हैं, जो बाजार की स्थिति के आधार पर ट्रेंडिंग बाजार में ट्रेंडिंग रणनीति का उपयोग करती है, और एक हिलने वाले बाजार में हिलने वाली रणनीति का उपयोग करती है। स्रोत कोड नीचे दिया गया है ((इंवेटर्स क्वांटिफाइड के वेबसाइट पर भी सीधे डाउनलोड किया जा सकता है):imgचित्र 5-12 एनालॉग रीट्रीट इंटरफ़ेस में, रीट्रीट सेटिंग्स को कॉन्फ़िगर करने के बाद, सीधे रीट्रीट बटन पर क्लिक करें, और रीट्रीट परिणाम तुरंत दर्शाए जाते हैं। रीट्रीट लॉग में, रीट्रीट का उपयोग करने के लिए कितने सेकंड, कुल लॉग और लेनदेन की संख्या दर्ज की जाती है। जिसमें खाता जानकारी रणनीति रीट्रीट के अंतिम परिणामों को प्रिंट करती हैः औसत लाभ और हानि, भंडारण घाटा, गारंटी राशि, प्रसंस्करण शुल्क और अनुमानित लाभ आदि।imgचित्र 5-13

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

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

वार्षिक उतार-चढ़ाव दर, जैसा कि इसका नाम है, दैनिक उतार-चढ़ाव दर x प्रति वर्ष व्यापार दिनों की संख्या है, जो फंड के जोखिम को मापता है, लेकिन यह बिल्कुल भी जोखिम नहीं है। उदाहरण के लिए, रणनीति A में उतार-चढ़ाव की दर अधिक है, लेकिन ऊपर की ओर लगातार उतार-चढ़ाव कर रही है, रिटर्न अच्छा है, रणनीति B में उतार-चढ़ाव की दर कम है, लेकिन लगातार स्थिर है, क्या हम कह सकते हैं कि रणनीति B रणनीति A से बेहतर है?imgचित्र 5-14

अंत में, लॉग सूचना फ़ील्ड में, प्रत्येक लेनदेन के लिए एक विस्तृत रिकॉर्ड है, जिसमें लेनदेन का समय, एक्सचेंज, खरीद और बिक्री, और स्टॉप टाइप, लेनदेन की कीमत, लेनदेन की संख्या और प्रिंटिंग जानकारी शामिल हैं।imgचित्र 5-15

पुनः परीक्षण के बाद

कई बार, और अधिकतर मामलों में, रीट्यूनिंग के परिणाम आपकी अपेक्षाओं से बहुत अलग होते हैं। आखिरकार, लंबे समय तक स्थिर लाभदायक रणनीति प्राप्त करना इतना आसान नहीं है, यह आपको बाजार की समझ की आवश्यकता है।

यदि आपकी रणनीति का पुनर्मूल्यांकन करने का परिणाम घाटे में है, तो निराश न हों, यह वास्तव में सामान्य है। पहले देखें कि क्या रणनीति तर्क गलत लिखा गया है, क्या चरम पैरामीटर लागू किए गए हैं, क्या बहुत अधिक पट्टे की स्थिति है, आदि। यदि आवश्यक हो, तो अपनी ट्रेडिंग रणनीति और ट्रेडिंग विचार को दूसरे दृष्टिकोण से फिर से देखें।

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

सारांश

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

बाजार हमेशा बदलते और विकसित होते रहते हैं, इतिहास के अनुसार अच्छी रणनीति भविष्य के लिए बहुत अच्छी नहीं होती है, इसलिए रणनीति के जोखिम प्रतिरोधी क्षमता और सर्वव्यापकता को बढ़ाना बहुत जरूरी है।

पाठशाला के बाद का काम

1. इस अनुभाग में नीति को दोहराने का प्रयास करें और प्रदर्शन रिपोर्ट को पुनः परीक्षण करें 2. अपने व्यापारिक अनुभव के आधार पर इस खंड में रणनीतियों को सुधारने और अनुकूलित करने का प्रयास करें

5.3 रणनीतिक पुनरीक्षण रिपोर्ट को कैसे पढ़ें

सारांश

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

वस्तुनिष्ठ और पूर्ण मूल्यांकन

चाहे वास्तविक ट्रेडिंग डेटा का रिकॉर्ड हो या ऐतिहासिक डेटा के साथ बैक-टेस्टिंग की गई रीटेस्ट रिपोर्ट, मॉडल के फायदे और नुकसान का आकलन ट्रेडिंग स्थिति के आंकड़ों के माध्यम से किया जाता है।

और सवाल यह है कि वास्तव में क्या सांख्यिकी के साथ तुलना करने के लिए आवश्यक है? एक उदाहरण के साथ शुरू करते हैं: मान लीजिए कि हम एक ही समय चक्र पर परीक्षण के लिए दो डेटा सेट प्राप्त करते हैं, हम किस मॉडल को बेहतर प्रदर्शन करने के लिए निर्धारित कर सकते हैं?imgचित्र 5-16

उत्तर है, नहीं। मूल्यांकन प्रणाली के एकतरफा होने से मात्रात्मक लेनदेन प्रणाली को अस्थिरता की ओर ले जाएगा।

ट्रेडिंग सिस्टम को उपयोग में लाने के लिए ऐतिहासिक पुनरावृत्ति के माध्यम से उपयोग किया जाना चाहिए। ट्रेडिंग सिस्टम जो ऐतिहासिक पुनरावृत्ति के माध्यम से उपयोग नहीं कर सकते हैं, वे वास्तविक लेनदेन में लंबे समय तक लाभ प्राप्त नहीं कर सकते हैं। ऐतिहासिक पुनरावृत्ति वास्तविक प्लेट में ट्रेडिंग सिस्टम के उपयोग के लिए आवश्यक अग्रिम कड़ी है।

एक ट्रेडिंग सिस्टम जो ऐतिहासिक रूप से पुनरीक्षित हो सकता है, वह एक उपयोगी ट्रेडिंग सिस्टम नहीं है, लेकिन एक ट्रेडिंग सिस्टम जो ऐतिहासिक रूप से पुनरीक्षित नहीं हो सकता है, वह एक उपयोगी ट्रेडिंग सिस्टम नहीं है। आम तौर पर, हमें स्थिरता, स्थिरता, या उम्मीद के आधार पर प्रदर्शन रिपोर्ट का विश्लेषण करने की आवश्यकता है।imgचित्र 5-17

जैसा कि ऊपर दिखाया गया है, लेकिन जो भी क्वांटिफाइंग ट्रेडरों से संपर्क करता है, वह इन लंबे, कठिन-समझने वाले रीमेक प्रदर्शन डेटा शब्दावली के साथ आ सकता है, जिनमें से कई प्रदर्शन डेटा में भी परस्पर विरोधी हैं।

उपरोक्त चित्र में प्रदर्शन संकेतकों के नाम, आम तौर पर कई श्रेणियों में विभाजित किया जा सकता हैः प्रदर्शन अनुपात, चक्र विश्लेषण, विभिन्न वक्रों, चरम व्यापार विश्लेषण, आदि. यहां तक कि एक कड़ाई से फंड उत्पाद के दृष्टिकोण से, अधिकांश केवल गणना के परिणामों का प्रदर्शन करते हैं, जो वास्तव में बहुत मायने नहीं रखते हैं, जैसेः खाता राशि की आवश्यकता, प्रतिधारण लाभ, विश्वास सीमा, आदि. यहां तक कि आपको केवल कुछ महत्वपूर्ण पर ध्यान देने की आवश्यकता है।

महत्वपूर्ण प्रदर्शन संकेतक

अधिकतम परिसंपत्ति निकासी अनुपात (Max Drawdown)

अधिकतम प्रतिगमन के लिए सूत्र ऊपर है,


संबंधित

अधिक

हेइलहाइड्रा2अच्छा लेख!

रिक्तता को मात्रात्मक बनानाचिह्न