क्रिप्टो क्वांट: बिनेंस और बैकट्रैडर का उपयोग करके बीटीसी का प्रोग्रामेटिक ट्रेडिंग - 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस का भाग 3। लंबवत खोज। ऐ.

क्रिप्टो क्वांट: बिनेंस और बैकट्रैडर का उपयोग करके बीटीसी का प्रोग्रामेटिक ट्रेडिंग - 2 का भाग 3


क्रिप्टो क्वांट: बिनेंस और बैकट्रैडर का उपयोग करके बीटीसी का प्रोग्रामेटिक ट्रेडिंग - 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस का भाग 3। लंबवत खोज। ऐ.

इस हिस्से में wमैं इंस्टॉल करना चाहता हूं बैकट्रेडर और पिछले अनुभाग में एकत्र किए गए बिनेंस डेटा के विरुद्ध कुछ ट्रेडिंग मॉडल का बैकटेस्ट करें।

बैकट्रेडर और इसके सेटअप पर कई लेख और वीडियो हैं। यह लोकप्रिय पायथन लाइब्रेरी ऐतिहासिक डेटा के साथ व्यापारिक रणनीतियों का बैकटेस्टिंग करने के क्वांट कार्य की सुविधा प्रदान करती है, जो सर्वोत्कृष्ट प्रश्न का उत्तर देती है। "दी गई खरीद/बिक्री रणनीतियों का उपयोग करके व्यापार करना कितना लाभदायक होता". पहली नजर में यह गणितीय कीमिया जैसा लगता है लेकिन किसी को यह याद रखना होगा कि ऐतिहासिक डेटा, ठीक है, ऐतिहासिक है! एक व्यापारिक रणनीति जो कल काम करती थी, उसके आज काम करने की संभावना नहीं है... लेकिन हम शीघ्र ही उस पर वापस आएंगे।

बैकट्रेडर ('बीटी') इंस्टॉलेशन निर्देश हैं यहाँ उत्पन्न करें. ध्यान दें: 3.2.0 से ऊपर के मैपलोटलिब संस्करणों के साथ ज्ञात समस्याएं हैं इसलिए उससे सावधान रहें।

क्विकस्टार्ट गाइड पढ़ने लायक है, इसे खोजें यहाँ उत्पन्न करें.

IQ Option प्राइस चार्ट के नीचे एक अलग विंडो में खुलता है।

हम यहां बैकट्रेडर के साथ जो प्रयास करेंगे वह बैकटेस्टिंग है IQ Option प्राइस चार्ट के नीचे एक अलग विंडो में खुलता है। (सापेक्ष शक्ति सूचक) वर्ष की शुरुआत से ऐतिहासिक क्रिप्टो डेटा (बीटीसी के लिए) पर ट्रेडिंग रणनीति।

आरएसआई गति संकेतक समझाया गया है यहाँ उत्पन्न करें. यह किसी दी गई ट्रेडिंग परिसंपत्ति के लिए सापेक्ष ओवरसोल्ड और ओवरबॉट स्थितियों और 'अवधि' के एक पैरामीटर को मापता है जो पीछे की ओर टिक (ट्रेडिंग अंतराल) का # है।

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

backtest.py

हमारा बैकटेस्ट सेटअप: बैकटेस्ट.py साझा है यहाँ उत्पन्न करें. यह हमारे बैकटेस्ट रन के लिए बैकटेस्ट संरचना प्रदान करेगा, जिसे आगे परिभाषित किया जाएगा। यह काफी मानक 'बीटी' सेटअप है। आइए इस कोड की कुछ समीक्षा करें, ध्यान दें कि सीखने के लिए पायथन बैकटेस्ट पर ऑनलाइन बहुत सारे उदाहरण और वीडियो ट्यूटोरियल मौजूद हैं.

यहां वर्ग परिभाषा में हम अपनी आरएसआई रणनीति के लिए पैरामीटर स्थापित करते हैं।

  • वाचाल: यदि हम बैकटेस्ट के दौरान लॉग डेटा आउटपुट करना चाहते हैं
  • माप अवधि: चलती औसत अवधि, विचार करने योग्य # टिकों की संख्या
  • मात्रा: खरीदने/बेचने के लिए शेयरों का #
  • ऊपरी: अधिक खरीददारी के लिए सूचक की ऊपरी सीमा
  • कम: ओवरसोल्ड के लिए संकेतक की निचली सीमा
  • झड़ने बंद: बेचने के लिए स्टॉप लॉस सेटिंग

RSI आगामी() बैकट्रेडर रणनीति वर्ग में फ़ंक्शन वह है जो डेटा के प्रत्येक अंतराल 'टिक' के बाद होता है। यहां डेटा के अनुसार खरीदें() या बेचें() है, इस मामले में आरएसआई संकेतक और हमारी सीमाएं।

यहां हम परिभाषित करते हैं रनबैकटेस्ट() फ़ंक्शन जिसे हमारे कोड द्वारा कॉल किया जाएगा। उपर्युक्त आरएसआई रणनीति फ़ंक्शन को इसमें जोड़ा गया है मस्तिष्क उदाहरण।

सभी बिल्कुल मानक बैकट्रेडर सामग्री। आइए देखें कि इसे अपने डेटा के विरुद्ध कैसे चलाया जाए।

हमारे डेटा का बैकटेस्टिंग

1 जनवरी से 2 जनवरी 2021 के लिए डेटा (अंतिम अनुभाग के चरणों का उपयोग करके) प्राप्त करना सुनिश्चित करें, यह नामक फ़ाइल में होगा: BTCUSDT-20210101–20210102–1m.csv 1440 सीएसवी लाइनों के साथ, दिन के प्रत्येक मिनट के लिए एक।

यहाँ बिटकॉइन (BTC) के लिए इस एक दिन के मिनट-दर-मिनट ट्रेडिंग दिवस का कोड और आउटपुट है:

करीब से देखने पर:

पैरामीटर सरल हैं, हम 12 टिकों की अवधि के साथ आरएसआई संकेतक का उपयोग करके ट्रेडिंग के एक दिन का विश्लेषण करना चाहते हैं, ओवरबॉट और ओवरसोल्ड ट्रिगर्स के लिए कोई स्टॉप-लॉस और 70,30 की डिफ़ॉल्ट सीमा नहीं है।

मानक आरएसआई संकेतक रणनीति के साथ 1 जनवरी बीटी परिणाम

आउटपुट की अंतिम पंक्ति इस बैकटेस्ट के परिणामों का सारांश प्रस्तुत करती है:

/BTCUSDT-20210101-20210102-1m.csv, RSI (Pd 12) (SL 0.0%) (U70 L30) नेट $777.78 (0.78%) WL 18/7 SQN 1.76

आरएसआई अवधि 12, 0 (नहीं) स्टॉप-लॉस, (यू) 70 की ऊपरी सीमा (एल) 30 की ऊपरी सीमा, 777.78 जीतने वाले ट्रेडों और 18 हारने वाले ट्रेडों के साथ $7 का शुद्ध लाभ (एक दिन में)।

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

निम्नलिखित SQN मान निम्नलिखित "गुणों" का सुझाव देते हैं:

  • 1.6-1.9 औसत से नीचे
  • 2.0–2.4 औसत
  • 2.5-2.9 अच्छा
  • 3.0–5.0 उत्कृष्ट
  • 5.1–6.9 शानदार
  • 7.0 - होली ग्रेल

SQN सूत्र:

स्क्वायररूट(नंबरट्रेड्स) * औसत(ट्रेड्सप्रॉफिट) / StdDev(ट्रेड्सप्रॉफिट)

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

उदाहरण के लिए, आप कथानक के अनुभागों को ज़ूम कर सकते हैं:

यहां हम एक खरीद संकेत (हरा ऊपर-तीर) देखते हैं क्योंकि आरएसआई मूल्य 30 से नीचे चला जाता है और फिर एक लाभदायक बिक्री संकेत और लाभ मार्कर (नीला वृत्त) जैसे ही आरएसआई 70 से ऊपर पहुंचता है। दाएं-निचले कोने में आरएसआई के लिए मान देखें .

777.78 जीतने वाले ट्रेडों और 18 हारने वाले ट्रेडों के साथ $7 का लाभ (एक दिन में) काफी अच्छा है, विशेष रूप से अपेक्षाकृत उथले कार्रवाई (+1.42%) वाले ट्रेडिंग दिन के लिए। कल्पना कीजिए कि हम उच्च मात्रा वाले तेजी वाले दिन में क्या हासिल कर सकते हैं!

मॉडल पैरामीटर

आप अलग-अलग दिनों के लिए get_data चलाते हैं और इनका अलग-अलग विश्लेषण करते हैं। ध्यान दें कि विभिन्न आरएसआई पैरामीटर एक दिन से दूसरे दिन तक लाभप्रदता पर कैसे प्रभाव डालते हैं।

मामले में, बीटीसी ट्रेडिंग का एक ही दिन लेकिन 20 के बजाय 12 की आरएसआई अवधि के साथ, 2/3 की जीत-हार और एक -$21.51 का शुद्ध लाभ (ट्रेडिंग शुल्क सहित)। यह पिछले बैकटेस्ट से एक बड़ा अंतर है!

आप विभिन्न आरएसआई सीमाओं (डिफ़ॉल्ट 70/30 के अलावा) और स्टॉप-लॉस मापदंडों के साथ भी प्रयोग कर सकते हैं। स्टॉप-लॉस एक स्वचालित विक्रय ऑर्डर है जब कीमत निष्पादित खरीद ऑर्डर के सापेक्ष कुछ स्तर से नीचे चली जाती है। जैसा कि नाम से पता चलता है, यह अस्थिरता की स्थिति में आने के बाद "नुकसान को रोकने" का काम कर सकता है।

बंद करो हानि

जिस तरह से हमने यहां स्टॉप-लॉस सेटअप किया है वह इस प्रकार है:

  • 0 : कोई स्टॉप-लॉस सेटअप नहीं, बिक्री ऑर्डर ट्रिगर करने के लिए संकेतक की प्रतीक्षा करें
  • 0.00x : खरीद मूल्य से नीचे % मूल्य पर स्टॉप-लॉस, 0.001 0.1% से कम है
  • -0.0x: कीमत बढ़ने पर ट्रेलिंग स्टॉप-लॉस व्यापार का अनुसरण करेगा, 0.01 खरीद मूल्य से 1% नीचे एक ट्रेलिंग स्टॉप-लॉस है

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

यहां हमारे Backtest.py में हम इसे बैकट्रेडर का उपयोग करके सेट करते हैं:

यहां वही दौड़ है जैसा हमने अभी विश्लेषण किया था लेकिन 0.1% के अनुगामी स्टॉप-लॉस के साथ

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

एक ही संकेतक के भीतर, इस सेटअप में, हमारे पास कई अलग-अलग संभावित क्रमपरिवर्तन हैं:

  • 10 और 30 अंतरालों के बीच की अवधि सीमा (20 प्रकार)
  • एक स्टॉप-लॉस सेटिंग (आइए 5 अलग-अलग व्यावहारिक वेरिएंट की कल्पना करें)
  • अधिक खरीद/अधिक बिक्री के लिए एक सीमा (आइए अभी 5 प्रकारों की कल्पना करें)

वह 20x5x5, या होगा प्रत्येक दिन के लिए 500 अलग-अलग विविधताएँ. इनकी एक-एक करके जांच करना हास्यास्पद होगा और फिर भी हम जानना चाहते हैं कि कौन से पैरामीटर सबसे अधिक लाभदायक और उच्चतम व्यापारिक गुणवत्ता वाले थे और कौन से नहीं।

क्वांट कीमिया!

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

Source: https://medium.com/@gk_/crypto-quant-programmatic-trading-of-btc-using-binance-and-backtrader-part-2-of-3-d8af44c93e2b?source=rss——-8—————–cryptocurrency

समय टिकट:

से अधिक मध्यम