यह लेख ट्रेडिंग फ्रेमवर्क सीखने के लिए एक वॉल्यूम-बूस्टिंग रणनीति प्रदर्शित करता है, जो पारंपरिक आर्बिट्रेज मार्केट-मेकिंग रणनीति से मौलिक रूप से भिन्न है। इस रणनीति का मुख्य उद्देश्य मूल्य अंतर आर्बिट्रेज के माध्यम से लाभ प्राप्त करने के बजाय, समान मूल्य पर खरीद और बिक्री करके ट्रेडिंग वॉल्यूम बढ़ाना और एक्सचेंज रिबेट या लेवल डिस्काउंट प्राप्त करना है।
इस लेख में दिया गया कोड केवल एक संदर्भ ढाँचा है और इसमें कोई वास्तविक समय संचालन अनुभव नहीं है। इस लेख में रणनीति कार्यान्वयन केवल तकनीकी शिक्षा और अनुसंधान उद्देश्यों के लिए है और वास्तविक बाजार परिवेश में इसका पूरी तरह से सत्यापन नहीं किया गया है। पाठकों को इस लेख की सामग्री का संदर्भ लेते समय पर्याप्त बैकटेस्टिंग सत्यापन और जोखिम मूल्यांकन अवश्य करना चाहिए, और इसका सीधे वास्तविक समय व्यापार के लिए उपयोग नहीं करना चाहिए।
डिजिटल मुद्रा बाज़ार में, मार्केट मेकिंग रणनीतियाँ न केवल बाज़ार की तरलता में सुधार और लेन-देन को बढ़ावा देने का एक साधन हैं, बल्कि कई मात्रात्मक व्यापारिक रणनीतियों का एक प्रमुख घटक भी हैं। मार्केट मेकर विभिन्न बाज़ार परिवेशों में खरीद और बिक्री के भाव पोस्ट करके और तरलता प्रदान करके मुनाफ़ा कमाते हैं। पेशेवर मार्केट मेकरों का कोड कार्यान्वयन अक्सर बेहद जटिल होता है, जिसमें उच्च-आवृत्ति विलंब अनुकूलन, जटिल जोखिम नियंत्रण प्रणालियाँ और बहु-विनिमय मध्यस्थता जैसे उन्नत कार्य शामिल होते हैं। इस बार, हम ब्रश-वॉल्यूम काउंटर-ट्रेडिंग रणनीति के मूल विचारों और इन्वेंटर क्वांटिटेटिव (FMZ) प्लेटफ़ॉर्म पर एक सरलीकृत शिक्षण ढाँचे को लागू करने के तरीके का अध्ययन करेंगे।
इस लेख का मुख्य भाग मूल लेखक ज़िनान की पुस्तक “द आइडिया एंड राइटिंग मेथड ऑफ़ मार्केट मेकिंग स्ट्रैटेजी” से लिया गया है। कुछ अंशों को fmz प्लेटफ़ॉर्म पर अनुकूलित और पुन: प्रस्तुत किया गया है। आज के दृष्टिकोण से, कुछ लेखन विधियाँ पुरानी हो सकती हैं, लेकिन काउंटर-ट्रेडिंग की कोड संरचना और बुनियादी विचारों को समझना सभी के लिए प्रेरणादायक है:
मार्केट मेकिंग रणनीति का तात्पर्य व्यापारियों (मार्केट मेकर्स) द्वारा बाज़ार में एक ही समय पर खरीद और बिक्री के ऑर्डर देने से है, जिससे बाज़ार में स्थिरता बनाए रखने के लिए तरलता उपलब्ध होती है। यह रणनीति न केवल बाज़ार की गहराई बनाए रखने में मदद करती है, बल्कि अन्य व्यापारियों के लिए प्रतिपक्ष भी प्रदान करती है। विभिन्न मूल्य श्रेणियों में खरीद और बिक्री के भाव प्रदान करके, मार्केट मेकर्स मूल्य में उतार-चढ़ाव से लाभ कमाते हैं।
क्रिप्टोकरेंसी बाज़ार के लिए, खासकर कम ट्रेडिंग वॉल्यूम और उच्च अस्थिरता वाले बाज़ारों में, मार्केट मेकर्स की भूमिका बेहद महत्वपूर्ण है। तरलता प्रदान करके, मार्केट मेकर्स बाज़ार में फिसलन को कम करने और व्यापारियों को व्यापार के लिए आसान मूल्य प्रदान करने में मदद करते हैं।
पारंपरिक मार्केट मेकिंग रणनीति का मूल सिद्धांत तरलता प्रदान करके बोली-माँग का अंतर अर्जित करना है। मार्केट मेकर द्वारा पोस्ट किया गया खरीद आदेश मूल्य, बिक्री आदेश मूल्य से कम होता है, और लाभ लेनदेन अंतर के माध्यम से प्राप्त होता है। उदाहरण के लिए, जब बाजार में हाजिर मूल्य बढ़ता है, तो मार्केट मेकर ऊँची कीमत पर बेचता है और कम कीमत पर खरीदता है, जिससे अंतर अर्जित होता है। आय के मुख्य स्रोत हैं:
हालाँकि, बाज़ार निर्माताओं को बाज़ार में उतार-चढ़ाव का जोखिम भी उठाना पड़ता है, खासकर डिजिटल मुद्रा बाज़ार के अत्यधिक अस्थिर माहौल में। बाज़ार में तेज़ उतार-चढ़ाव के कारण बाज़ार निर्माताओं द्वारा दिए गए खरीद और बिक्री के ऑर्डर वास्तविक मूल्य से काफ़ी अलग हो सकते हैं, जिसके परिणामस्वरूप नुकसान हो सकता है।
क्रिप्टोकरेंसी बाजार में, बाजार निर्माता आमतौर पर बाजार की स्थितियों, ट्रेडिंग वॉल्यूम, अस्थिरता आदि के आधार पर अलग-अलग बाजार बनाने की रणनीतियों का चयन करते हैं। बाजार बनाने की रणनीतियों के सामान्य प्रकारों में शामिल हैं:
निष्क्रिय बाजार बनाने की रणनीतियाँबाजार निर्माता बाजार की गहराई, ऐतिहासिक अस्थिरता और अन्य कारकों के आधार पर खरीद और बिक्री के आदेश देते हैं और बाजार लेनदेन की प्रतीक्षा करते हैं। इस रणनीति की विशेषता कम आवृत्ति और मजबूती है, और बाजार निर्माता लाभ कमाने के लिए बाजार के उतार-चढ़ाव पर भरोसा करते हैं।
सक्रिय बाजार निर्माण रणनीतिइस रणनीति के तहत, मार्केट मेकर किसी सौदे की संभावना बढ़ाने के लिए बाज़ार की स्थितियों के अनुसार वास्तविक समय में खरीद और बिक्री के ऑर्डर की कीमत और मात्रा को समायोजित करते हैं। बाज़ार के उतार-चढ़ाव का बेहतर फ़ायदा उठाने के लिए, मार्केट मेकर आमतौर पर ऑर्डर तब बढ़ाते हैं जब कीमत मौजूदा बाज़ार मूल्य के करीब होती है।
वॉल्यूम बढ़ाने की रणनीति: यह लेख किस प्रकार की रणनीति पर केंद्रित है।वॉल्यूम बढ़ाने की रणनीतियह एक ही कीमत पर खरीद और बिक्री करके व्यापार की मात्रा बढ़ाने की एक रणनीति है। पारंपरिक बाज़ार निर्माण रणनीतियों के विपरीत, इस रणनीति का मुख्य उद्देश्य मूल्य अंतर अर्जित करना नहीं है, बल्कि बड़ी संख्या में लेनदेन के माध्यम से विनिमय छूट, स्तर छूट या तरलता खनन पुरस्कार प्राप्त करना है।
वॉल्यूम-वाशिंग रणनीति में, मार्केट मेकर एक ही कीमत पर खरीद और बिक्री के ऑर्डर देते हैं। जब ऑर्डर निष्पादित होते हैं, तो भले ही कोई मूल्य अंतर लाभ न हो, ट्रेडिंग वॉल्यूम को तेज़ी से बढ़ाया जा सकता है। इस रणनीति का लाभ मॉडल पूरी तरह से एक्सचेंज के प्रोत्साहन तंत्र पर निर्भर करता है, न कि बाज़ार के अंतरपणन पर।
प्रमुख विशेषताऐं:
समान मूल्य पर व्यापारपारंपरिक बाजार बनाने की रणनीतियों से अलग, खरीद मूल्य और बिक्री मूल्य समान हैं, और कोई मूल्य अंतर लाभ उत्पन्न नहीं होता है।
मात्रा उन्मुखरणनीति का मुख्य लक्ष्य मूल्य अंतरपणन के बजाय व्यापार की मात्रा को शीघ्रता से संचित करना है।
प्रोत्साहनों पर निर्भरतालाभ पूरी तरह से एक्सचेंज की छूट नीति, वीआईपी स्तर की छूट या बाजार निर्माता प्रोत्साहन कार्यक्रमों पर निर्भर करता है।
महत्वपूर्ण अंतर: पारंपरिक मार्केट-मेकिंग रणनीतियों की तुलना में, वॉश ट्रेडिंग रणनीतियाँ वास्तविक बाज़ार तरलता प्रदान करके मुनाफ़ा नहीं कमातीं, बल्कि एक्सचेंज से नीतिगत लाभ प्राप्त करने के लिए कृत्रिम रूप से ट्रेडिंग वॉल्यूम बनाकर मुनाफ़ा कमाती हैं। इस रणनीति को कुछ न्यायालयों में अनुपालन जोखिमों का सामना करना पड़ सकता है और व्यवहार में लागू करते समय इसका सावधानीपूर्वक मूल्यांकन किया जाना चाहिए।
कोड का विश्लेषण करके, हम पा सकते हैं कि इस रणनीति में खरीद मूल्य और बिक्री मूल्य बिल्कुल समान हैं:
def make_duiqiao_dict(self, trade_amount):
mid_price = self.mid_price # 中间价
trade_price = round(mid_price, self.price_precision) # 精准交易价格
trade_dict = {
'trade_price': trade_price, # 买卖都使用同一个价格
'amount': trade_amount
}
return trade_dict
1. ट्रेडिंग वॉल्यूम ब्रशिंग रणनीति
2. शुल्क वापसी तंत्र
✅ लागू परिदृश्य
❌ लागू नहीं
⚠️ जोखिम अनुस्मारक
यह लेख श्री ज़िनान के कोड फ्रेमवर्क का उपयोग करके वॉल्यूम बढ़ाने की रणनीति के एक सरल कार्यान्वयन का परिचय देगा, और इस बात पर ध्यान केंद्रित करेगा कि एक्सचेंज के माहौल में समान-मूल्य खरीद और बिक्री रणनीति के माध्यम से ट्रेडिंग वॉल्यूम कैसे बढ़ाया जाए। इस रणनीति फ्रेमवर्क में दो मुख्य वर्ग शामिल हैं:MidClass और MarketMakerये दोनों वर्ग एक्सचेंज की मध्य-स्तरीय अंतःक्रिया और नॉक-ऑन रणनीति के विशिष्ट निष्पादन के लिए जिम्मेदार हैं।
यह रणनीतिक वास्तुकला एक स्तरित डिज़ाइन को अपनाती है, जो एक्सचेंज इंटरफ़ेस और मार्केट-मेकिंग रणनीति को अलग करती है ताकि यह सुनिश्चित हो सके कि सिस्टम में अच्छी मापनीयता और लचीलापन हो। वास्तुकला के मुख्य घटक इस प्रकार हैं:
MidClassएक्सचेंज मध्य परत बाजार डेटा, खाता जानकारी, ऑर्डर स्थिति आदि प्राप्त करने के लिए एक्सचेंज इंटरफ़ेस के साथ बातचीत करने के लिए जिम्मेदार है। यह परत बाहरी एक्सचेंजों के साथ सभी इंटरैक्शन को समाहित करती है ताकि यह सुनिश्चित हो सके कि ट्रेडिंग लॉजिक और एक्सचेंज इंटरफ़ेस अलग हो गए हैं।MarketMaker:मार्केट मेकिंग स्ट्रैटेजी क्लास, नॉक-टू-ट्रेड स्ट्रैटेजी को निष्पादित करने, लंबित ऑर्डर उत्पन्न करने, ऑर्डर की स्थिति की जांच करने, रणनीति की स्थिति को अपडेट करने आदि के लिए जिम्मेदार है। यह विशिष्ट मार्केट मेकिंग और नॉक-टू-ट्रेड ऑपरेशन प्रदान करने के लिए एक्सचेंज मिडिल लेयर के साथ इंटरैक्ट करता है।MidClassएक्सचेंज की मध्य परत के रूप में, इसकी मुख्य जिम्मेदारी एक्सचेंज के साथ बातचीत को संभालना, सभी बाहरी एपीआई कॉल को समाहित करना और एक्सचेंज के लिए एक संक्षिप्त इंटरफ़ेस प्रदान करना है।MarketMakerउपयोग करें। इसकी संरचना में निम्नलिखित प्रमुख कार्य शामिल हैं:
बाजार डेटा अधिग्रहण:
खाता जानकारी प्रबंधन:
प्रबंधन को आदेश दें:
डेटा संग्रहण और अद्यतन:
इन कार्यों को समाहित करकेMidClassउपरोक्त उदाहरण में, आप यह सुनिश्चित कर सकते हैं कि ट्रेडिंग रणनीति वर्ग (जैसेMarketMaker) एक्सचेंजों के साथ कैसे बातचीत करें, इसकी चिंता किए बिना ट्रेडिंग रणनीतियों के क्रियान्वयन पर ध्यान केंद्रित करें। यह संरचना सिस्टम की रखरखाव और मापनीयता में सुधार करती है, जिससे विभिन्न एक्सचेंजों के लिए समर्थन जोड़ना या मौजूदा कार्यों को अनुकूलित करना आसान हो जाता है।
MarketMakerयह क्रॉस-ट्रेडिंग रणनीति का मुख्य वर्ग है, जो मार्केट-मेकिंग संचालन और क्रॉस-ट्रेडिंग लेनदेन के निष्पादन के लिए ज़िम्मेदार है। इसकी वास्तुकला में निम्नलिखित मुख्य मॉड्यूल शामिल हैं:
प्रारंभ:
MidClass, एक्सचेंज की बुनियादी जानकारी प्राप्त करें, जैसे ट्रेडिंग जोड़े, सटीकता, बाजार की गहराई, आदि।डेटा रीफ़्रेश:
दस्तक रणनीति का क्रियान्वयन:
MarketMakerइसे बाज़ार में जमा किया जाएगा और खरीद-बिक्री के आदेश एक ही समय पर निष्पादित किए जाएँगे। इसका उद्देश्य एक ही कीमत पर खरीद-बिक्री करके तेज़ी से ट्रेडिंग वॉल्यूम बढ़ाना है।MarketMakerयह लगातार ऑर्डर की स्थिति की जाँच करेगा ताकि यह सुनिश्चित हो सके कि लंबित ऑर्डर समय पर संसाधित हो सके। यदि ऑर्डर पूरा नहीं हो पाता है, तो यह ऑर्डर पूरा होने तक लंबित ऑर्डर की कीमत या मात्रा को समायोजित करेगा।स्थिति अपडेट:
MarketMakerरणनीति कार्यान्वयन पद्धति को विभिन्न बाजार परिवेशों के अनुकूल बनाने के लिए गतिशील रूप से समायोजित किया जाएगा।क्रॉस-ट्रेडिंग रणनीति का कार्यान्वयन सटीक बाजार डेटा और तेजी से निष्पादन पर निर्भर करता है।MarketMakerवास्तविक समय बाजार स्थिति की निगरानी और काउंटर-ऑर्डर (एक ही कीमत पर खरीद और बिक्री) की विधि का उपयोग करके, तेजी से व्यापारिक मात्रा को संचित करके रणनीतिक लक्ष्यों को प्राप्त किया जा सकता है।
अस्तित्व MarketMakerवर्ग आरंभीकरण विधि में, पहले एक्सचेंज की सटीकता जानकारी प्राप्त करें और रणनीति मापदंडों को आरंभ करें, जैसे लेनदेन मात्रा सटीकता, मूल्य सटीकता, आदि।
self.precision_info = self.exchange_mid.get_precision() # 获取精度信息
self.price_precision = self.precision_info['price_precision'] # 价格精度
self.amount_precision = self.precision_info['amount_precision'] # 交易量精度
क्रॉस-ट्रेडिंग रणनीति का मूल उद्देश्य क्रॉस-ट्रेडिंग ऑर्डर का एक शब्दकोश तैयार करना है, जिसमें क्रय और विक्रय मूल्य और मात्राएँ शामिल हों। कोड मध्य मूल्य की गणना करके क्रॉस-ट्रेडिंग ऑर्डर का शब्दकोश तैयार करता है।
def make_duiqiao_dict(self, trade_amount):
mid_price = self.mid_price # 中间价
trade_price = round(mid_price, self.price_precision) # 精准交易价格
trade_dict = {
'trade_price': trade_price,
'amount': trade_amount
}
return trade_dict
क्रॉस-ट्रेडिंग ऑर्डर की उत्पन्न डिक्शनरी के अनुसार, क्रॉस-ट्रेडिंग लेनदेन निष्पादित किया जाता है।create_orderविधि, एक ही समय में खरीद आदेश और बिक्री आदेश रखें।
def make_trade_by_dict(self, trade_dict):
if self.position_amount > trade_dict['amount'] and self.can_buy_amount > trade_dict['amount']:
buy_id = self.exchange_mid.create_order('buy', trade_dict['trade_price'], trade_dict['amount']) # 挂买单
sell_id = self.exchange_mid.create_order('sell', trade_dict['trade_price'], trade_dict['amount']) # 挂卖单
self.traded_pairs['dui_qiao'].append({
'buy_id': buy_id, 'sell_id': sell_id, 'init_time': time.time(), 'amount': trade_dict['amount']
})
नियमित रूप से ऑर्डर की स्थिति की जांच करें और अधूरे ऑर्डर पर कार्रवाई करें।GetOrderविधि, ऑर्डर की स्थिति प्राप्त करें, और ऑर्डर की स्थिति के आधार पर निर्णय लें कि ऑर्डर रद्द करना है या नहीं। नॉक ऑर्डर के प्रसंस्करण तर्क में मुख्य रूप से निम्नलिखित चरण शामिल हैं:
ऑर्डर की स्थिति प्राप्त करें:
आदेश स्थिति निर्णय:
0(ORDER_STATE_PENDING): पूरा नहीं हुआ (आदेश लंबित)।1(ORDER_STATE_CLOSED): पूर्ण (पूरी तरह से कारोबार किया गया).2(ORDER_STATE_CANCELED): निरस्त.3(ORDER_STATE_UNKNOWN): स्थिति अज्ञात है.ऑर्डर स्थिति प्रसंस्करण:
0), फिर मतदान के समय के अनुसार (current_time % 5 == 0) यह निर्णय लेता है कि ऑर्डर को रद्द किया जाए या नहीं।1), और दूसरा ऑर्डर पूरा नहीं हुआ है (स्थिति है0), फिर मतदान के समय के आधार पर निर्णय लें कि अधूरे ऑर्डर को रद्द करना है या नहीं।1), लेनदेन की मात्रा अद्यतन हो जाती है और ऑर्डर रिकॉर्ड से हटा दिया जाता है।0ज़रूरी नहीं1, इसे अज्ञात स्थिति के रूप में दर्ज किया जाता है और लॉग किया जाता है।रिकॉर्ड अपडेट करें:
इस लेख में प्रस्तुत वॉल्यूम-बूस्टिंग रणनीति का उपयोग मुख्य रूप से ट्रेडिंग फ्रेमवर्क के आर्किटेक्चरल डिज़ाइन को सीखने के लिए किया जाता है, और इसका वास्तविक अनुप्रयोग मूल्य सीमित है। यदि पाठकों की रुचि वास्तविक मार्केट-मेकिंग रणनीतियों में है, तो हम बाद में और अधिक व्यावहारिक रणनीति सामग्री प्रस्तुत करेंगे:
1. बाजार बनाने की रणनीति
2. गतिशील बाजार निर्माण रणनीति
3. बहु-स्तरीय बाजार निर्माण रणनीति
ये रणनीतियाँ वास्तविक लाभ तर्क और जोखिम प्रबंधन पर अधिक ध्यान केंद्रित करेंगी, जिससे मात्रात्मक व्यापारियों के लिए अधिक मूल्यवान संदर्भ उपलब्ध होगा।
वॉश ट्रेडिंग रणनीति एक्सचेंज की प्रोत्साहन नीति पर निर्भर करती है। यदि नीति में परिवर्तन होता है, तो रणनीति अमान्य हो सकती है। इसलिए, रणनीति को नीतिगत परिवर्तनों के साथ तालमेल बिठाने में सक्षम होना चाहिए, जैसे कि शुल्क दर की गतिशील निगरानी या एकल निर्भरता के जोखिम को कम करने के लिए बहु-लाभ मॉडल लागू करना। इसके अलावा, वॉश ट्रेडिंग रणनीति को बाजार में हेरफेर माना जा सकता है और नियामक जोखिमों का सामना करना पड़ सकता है। वास्तविक अनुप्रयोगों में, व्यापारियों को रणनीति के अनुपालन को सुनिश्चित करने और नियामक मुद्दों के कारण होने वाले नुकसान से बचने के लिए प्रासंगिक कानूनों और विनियमों पर पूरा ध्यान देने की आवश्यकता है।
मुझे आशा है कि पाठक अपनी व्यापारिक अवधारणाओं और बाज़ार की समझ के आधार पर, बुनियादी ढाँचे की अपनी समझ के आधार पर, अपनी रणनीतियों को और बेहतर और बेहतर बना पाएँगे। मात्रात्मक व्यापार का आकर्षण निरंतर सीखने, अभ्यास और सुधार में निहित है। मैं आप सभी को मात्रात्मक व्यापार के पथ पर निरंतर प्रगति की कामना करता हूँ!
”`python import time, json
class MidClass: def init(self, exchange_instance): “’ 初始化交易所中间层
Args:
exchange_instance: FMZ的交易所结构
'''
self.init_timestamp = time.time() # 记录初始化时间
self.exchange = exchange_instance # 保存交易所对象
self.exchange_name = self.exchange.GetName() # 获取交易所名称
self.trading_pair = self.exchange.GetCurrency() # 获取交易对名称(如 BTC_USDT)
def get_precision(self):
'''
获取交易对的精度信息
Returns:
返回包含精度信息的字典,失败时返回 None
'''
symbol_code = self.exchange.GetCurrency()
ticker = self.exchange.GetTicker(symbol_code) # 回测系统需要
exchange_info = self.exchange.GetMarkets()
data = exchange_info.get(symbol_code)
if not data:
Log("获取市场信息失败", GetLastError())
return None
# 获取该交易对的精度信息
self.precision_info = {
'tick_size': data['TickSize'], # 价格精度
'amount_size': data['AmountSize'], # 数量精度
'price_precision': data['PricePrecision'], # 价格小数位精度
'amount_precision': data['AmountPrecision'], # 数量小数位精度
'min_qty': data['MinQty'], # 最小下单数量
'max_qty': data['MaxQty'] # 最大下单数量
}
return self.precision_info
def get_account(self):
'''
获取账户信息
Returns:
获取信息成功返回 True,获取信息失败返回 False
'''
self.balance = '---' # 账户余额
self.amount = '---' # 账户持仓量
self.frozen_balance = '---' # 冻结余额
self.frozen_stocks = '---' # 冻结持仓量
self.init_balance = None
self.init_stocks = None
self.init_equity = None
try:
account_info = self.exchange.GetAccount() # 获取账户信息
self.balance = account_info['Balance'] # 更新账户余额
self.amount = account_info['Stocks'] # 更新持仓量
self.frozen_balance = account_info['FrozenBalance'] # 更新冻结余额
self.frozen_stocks = account_info['FrozenStocks'] # 更新冻结持仓量
self.equity = self.balance + self.frozen_balance + (self.amount + self.frozen_stocks) * self.last_price
if not self.init_balance or not self.init_stocks or not self.init_equity:
if _G("init_balance") and _G("init_balance") > 0 and _G("init_stocks") and _G("init_stocks") > 0:
self.init_balance = round(_G("init_balance"), 2)
self.init_stocks = round(_G("init_stocks"), 2)
self.init_equity = round(_G("init_equity"), 2)
else:
self.init_balance = round(self.balance + self.frozen_balance, 2)
self.init_stocks = self.amoun