संसाधन लोड हो रहा है... लोड करना...

पायथन में मूल्य गति विश्लेषण के साथ मात्रात्मक ट्रेडिंग रणनीति

लेखक:FMZ~Lydia, बनाया गयाः 2023-01-11 11:35:36, अद्यतन किया गयाः 2023-09-20 11:20:06

img

पायथन में मूल्य गति विश्लेषण के साथ मात्रात्मक ट्रेडिंग रणनीति

मूल्य गति व्यापार रणनीति का परिचय

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

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

इस पेपर में इस रणनीति का उपयोग डिजिटल मुद्रा के लिए एक स्वचालित स्पॉट ट्रेडिंग प्रोग्राम विकसित करने के लिए किया जाएगा।हुओबी.

मूल्य गति की गणना का सूत्र

AR = [N दिनों के लिए सभी (उच्च-खुले) का योग / N दिनों के लिए सभी (खुले-निम्न) का योग] * 100

उनमें से:

  • N: दैनिक समय चक्र की सांख्यिकीय खिड़की आम तौर पर डिफ़ॉल्ट रूप से 30 दिन की होती है, क्योंकि एक महीने का प्रभावी व्यापार दिन लगभग 30 दिन होता है (डिजिटल मुद्रा 24/7 लेनदेन, जो रूढ़िवादी हो सकता है)

  • उच्चः एक दिन में उच्चतम मूल्य

  • खुलाः एक दिन का शुरुआती मूल्य

  • कमः एक दिन में सबसे कम कीमत

मूल्य गति का उपयोग कैसे करें

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

  • हम मान लेते हैं कि यह मान लगभग 100 है यदि यह 100 से अधिक है, तो लंबी स्थिति बल बढ़ना शुरू होता है। यदि यह 100 से कम है, तो छोटी स्थिति बल इकट्ठा होना शुरू होता है।
  • जब एआर मूल्य बढ़ता है, तो इसका मतलब है कि बाजार सक्रिय और लोकप्रिय है, और लंबी स्थिति सभी तरह से बढ़ रही है, लेकिन यदि कीमत बहुत अधिक है, तो इसका मतलब है कि कीमत ओवरबॉट क्षेत्र में प्रवेश कर गई है, और आपको स्थिति को बंद करने के लिए समय चुनना चाहिए। एआर मूल्य की ऊंचाई के लिए कोई विशिष्ट मानक नहीं है। आम तौर पर, जब एआर मूल्य लगभग 120 तक बढ़ता है, तो कीमत वापस गिरने की संभावना है।
  • जब एआर मूल्य घटता है, तो यह इंगित करता है कि बाजार गिर रहा है, और शॉर्ट पोजीशन फुल स्विंग में है, जिसके लिए लंबी पोजीशन के प्रयासों की आवश्यकता होती है। यदि एआर मूल्य बहुत कम है, तो यह इंगित करता है कि कीमत ओवरसोल्ड क्षेत्र में गिर गई हो सकती है, और आप लंबे समय तक जाने के अवसर की प्रतीक्षा करने पर विचार कर सकते हैं। आम तौर पर, जब एआर मूल्य 50 से नीचे गिरता है, तो कीमत गिरना बंद कर देगी और किसी भी समय बढ़ जाएगी।

नोट: उपरोक्त सभी संख्याएँ डिफ़ॉल्ट मान हैं और सत्य सूत्र नहीं हैं। वास्तविक व्यापार की प्रक्रिया में, हमें बाजार में परिवर्तन के साथ वर्तमान बाजार की स्थिति के अनुकूल होने के लिए इस सीमा को समायोजित करना चाहिए।

पायथन में मूल्य गति के लिए एक मात्रात्मक ट्रेडिंग रणनीति लागू करना

हमेशा की तरह, हम खोलते हैंFMZ.COM, हमारे खाते में लॉग इन करें, डैशबोर्ड पर क्लिक करें, और डॉकर और रोबोट को तैनात करें।

कृपया एक डॉकर और रोबोट तैनात करने के लिए मेरे पिछले लेख देखेंःhttps://www.fmz.com/bbs-topic/9864.

जो पाठक डॉकरों को तैनात करने के लिए अपना स्वयं का क्लाउड कंप्यूटिंग सर्वर खरीदना चाहते हैं, वे इस लेख का संदर्भ ले सकते हैंःhttps://www.fmz.com/digest-topic/5711.

इसके बाद, हम बाएं कॉलम में रणनीति लाइब्रेरी पर क्लिक करते हैं और रणनीति जोड़ें पर क्लिक करते हैं.

याद रखें कि रणनीति संपादन पृष्ठ के ऊपरी दाएं कोने में पायथन के रूप में प्रोग्रामिंग भाषा का चयन करें, जैसा कि चित्र में दिखाया गया हैः

img

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

हम Huobi के बिटकॉइन स्पॉट को ट्रेडिंग लक्ष्य के रूप में उपयोग करेंगे और इस रणनीति को लागू करना शुरू करेंगेः

import types # Import the Types module library, which is designed to handle the various data types that will be used in the code.
def main(): # The main function, where the strategy logic begins.
    IDLE = 0 # It is used to mark the position status, which can be understood as 0, that is, idle status, i.e. short position status.
    LONG = 1 # Long positions
    SHORT = 2 # Short position. Note that this strategy is applied to the spot market, so there is no short opening or position. This is written here to facilitate understanding of the strategy and future expansion (such as extending to the futures market).
    state = IDLE # Variables that mark the status of a position
    while True: # Enter the loop
        r = exchange.GetRecords() # GetRecords is the official API of the FMZ Quant Platform, for detailed usage please refer to: https://www.fmz.com/api.
        if len(r) <= 1: # Judge whether the K-line is larger than one, that is, whether it is currently in the open state, or it may enter an endless loop. Here, it is also convenient for readers to expand, and the trend state of a larger K-line period is more stable.
           Log("The number of bars is not enough, wait for the next bar...") # Output logs
           continue # Python loop control statement, continuing with the next part of the loop.

        # Begin quantitative analysis of price momentum
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # Calculation formula

        account = _C(exchange.GetAccount) # Get account information, _C is also the official API of the FMZ Quant platform, for usage, please refer to: https://www.fmz.com/api.

        if ar < 95 and (state == IDLE or state == SHORT) :  # If the AR value is less than the oversold line and the account has funds, then buy all positions.
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # Buy all positions of the market order
                state = LONG # Change the position status to LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # If the AR value is greater than the overbought line and the account has a position, sell the whole position.
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # Sell all positions market order
                state = SHORT # Change the position status to SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # Update log information

रणनीति बैकटेस्टिंग

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

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

बैकटेस्ट का समय अंतिम महीना है. Huobi स्पॉट एक्सचेंज और BTC ट्रेडिंग लक्ष्य जोड़ने के लिए क्लिक करें.

img

बैकटेस्टिंग के परिणाम:

img

हम देख सकते हैं कि रणनीति ने इस महीने के बैकटेस्ट में अच्छा प्रदर्शन किया।

मूल्य गति रणनीति के फायदे और नुकसान

  • लाभ कुछ अन्य पारंपरिक तकनीकी संकेतकों की तुलना में, मूल्य गति का लाभ यह है कि यह एक एकल उद्घाटन मूल्य या समापन मूल्य का उपयोग नहीं करता है, लेकिन उच्चतम और निम्नतम मूल्य पेश करता है। उन्हें गतिशील रूप से तुलना की जाती है, जिससे बाजार की जानकारी अधिक व्यापक, उत्तरदायी और दिन के भीतर मूल्य उतार-चढ़ाव के माध्यम से मैक्रो हो जाती है।

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

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

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

यदि आपके कोई प्रश्न हैं, तो आप एक संदेश छोड़ सकते हैंhttps://www.fmz.com/bbs, चाहे वह प्लेटफॉर्म की रणनीति या प्रौद्योगिकी के बारे में हो, एफएमजेड क्वांट प्लेटफॉर्म में पेशेवर आपके सवालों के जवाब देने के लिए तैयार हैं।


संबंधित

अधिक