ट्रेडों स्वचालित करने के लिए अजगर, ibpy और इंटरएक्टिव दलाल एपीआई का उपयोग







+

ट्रेडों स्वचालित करने के लिए अजगर, IBPy और इंटरएक्टिव दलाल एपीआई का उपयोग 5 फ़रवरी 2014 पर माइकल हॉल-मूर द्वारा एक समय पहले हम एक इंटरएक्टिव दलाल डेमो खाते कैसे स्थापित करने पर चर्चा की। इंटरएक्टिव दलाल इसकी वजह से अपेक्षाकृत कम न्यूनतम खाते की शेष राशि आवश्यकताओं (10,000 डालर) और (अपेक्षाकृत) सीधा एपीआई के लिए खुदरा एल्गोरिथम व्यापारियों द्वारा इस्तेमाल मुख्य ब्रोकरेज में से एक है। इस लेख में हम अजगर और IBPy प्लगइन के माध्यम से, इंटरएक्टिव दलाल एपीआई के खिलाफ ट्रेडों स्वचालित करने के लिए एक डेमो खाते का प्रयोग करना होगा। प्रकटीकरण: मैं इंटरएक्टिव दलाल के साथ कोई संबद्धता है। मैं एक पेशेवर फंड संदर्भ में पहले उन्हें इस्तेमाल किया है और इस तरह के रूप में अपने सॉफ्टवेयर के साथ परिचित हूँ। इंटरएक्टिव दलाल एपीआई इंटरएक्टिव दलाल एक बड़ा उद्योग है और विवेकाधीन खुदरा से संस्थागत स्वचालित को लेकर व्यापारियों की एक विस्तृत श्रृंखला के लिए इस तरह पूरा करता है, के रूप में। यह "घंटियां और सीटियां" की एक महत्वपूर्ण मात्रा के अधिकारी के लिए उनके जीयूआई इंटरफेस, व्यापारी कार्य केंद्र (TWS), प्रेरित किया है। TWS के अलावा जीयूआई के अतिरिक्त कार्यशीलता के बिना यद्यपि, आईबी सर्वर के लिए ही उपयोग प्रदान करता है जो आईबी गेटवे कहा जाता है एक हल्के घटक, वहाँ भी है। हमारी स्वचालित व्यापारिक उद्देश्यों के लिए हम वास्तव में TWS जीयूआई की जरूरत नहीं होगी, लेकिन मैं इस ट्यूटोरियल के लिए यह इसका उपयोग करने के लिए ठोस है। अंतर्निहित वास्तुकला एक एपीआई के माध्यम से दोनों निष्पादन और बाजार के आंकड़ों फ़ीड (ऐतिहासिक और वास्तविक समय) प्रदान करता है जो एक क्लाइंट / सर्वर मॉडल पर आधारित है। यह हम IBPy के माध्यम से, स्वचालित के आदेश भेजने के लिए इस ट्यूटोरियल में उपयोग करेंगे कि इस एपीआई है। IBPy देशी जावा एपीआई "रैप" और यह सीधा अजगर से फोन करने के लिए बनाने के लिए लिखा गया है। हम IBPy भीतर में रुचि रखते हैं दो मुख्य पुस्तकालयों ib. ext और ib. opt हैं। बाद के उच्च स्तर पर है और पूर्व में कार्यक्षमता का उपयोग करता है। निम्नलिखित कार्यान्वयन में हम बस स्मार्ट आदेश मार्ग का उपयोग, गूगल शेयर की 100 इकाइयों को खरीदने के लिए एक एकल बाजार आदेश भेज देंगे, जो एक बहुत ही सरल उदाहरण है, बनाने जा रहे हैं। बाद के कुछ स्थितियों में यह उपअनुकूलित जा सकता है, व्यवहार में सबसे अच्छी कीमत हासिल करने के लिए बनाया गया है। हालांकि यह पर्याप्त होगा इस ट्यूटोरियल के प्रयोजनों के लिए। अजगर में कार्यान्वयन हम शुरू करने से पहले यह एक इंटरएक्टिव दलाल खाते की स्थापना पर पूर्व ट्यूटोरियल में चरणों का पालन किया जाना आवश्यक है। हम IBPy स्थापित कर सकते हैं, इसलिए है कि इसके अलावा यह एक पूर्व अजगर कार्यक्षेत्र के लिए आवश्यक है। जो आप एक साथ अपने कोड के अन्य पहलुओं टाई करने के लिए अनुमति देगा। आवश्यक कार्यक्षेत्र पैदा करेगा एक अजगर अनुसंधान के माहौल स्थापित करने पर ट्यूटोरियल। IBPy का अधिष्ठापन IBPy जावा आधारित इंटरएक्टिव दलाल एपीआई के आसपास लिखा एक अजगर आवरण है। यह कुछ हद तक कम समस्याग्रस्त पायथन में एल्गोरिथम ट्रेडिंग सिस्टम का विकास करता है। हम एक बाद की तारीख में निदान प्रोटोकॉल पर विचार जब तक यह इंटरएक्टिव दलाल के साथ बाद के सभी संचार के लिए आधार के रूप में इस्तेमाल किया जाएगा। IBPy एक git भंडार के रूप में GitHub पर बनाए रखा है के बाद से हम git स्थापित करने की आवश्यकता होगी। एक Ubuntu सिस्टम पर इस के द्वारा नियंत्रित किया जाता है: आप स्थापित git एक बार जब आप IBPy स्टोर करने के लिए एक subdirectory बना सकते हैं। अपने सिस्टम पर मैं बस अपने घर निर्देशिका के नीचे रखा है: अगले कदम के git क्लोन के माध्यम से IBPy डाउनलोड करने के लिए है: वरीय अजगर आभासी वातावरण के साथ IbPy निर्देशिका में प्रवेश करने और स्थापित करने के लिए सुनिश्चित करें: यही कारण है कि IBPy की स्थापना पूरा करता है। अगले कदम (पहले ट्यूटोरियल में वर्णित) TWS को खोलने के लिए है। TWS पोर्टफोलियो देखें (पहले गूगल ट्रेड करने के लिए) स्वचालित व्यापार निम्नलिखित कोड एक बहुत ही सरल एपीआई आधारित आदेश तंत्र का प्रदर्शन करेंगे। कोड उत्पादन के लिये तैयार से दूर है, लेकिन यह आवश्यक इंटरएक्टिव दलाल एपीआई की कार्यक्षमता और कैसे आदेश निष्पादन के लिए इसका इस्तेमाल करने के लिए प्रदर्शित करता है। निम्नलिखित कोड के सभी ib_api_demo. py फ़ाइल में निवास करना चाहिए। पहले कदम के लिए अनुबंध आयात करने के लिए है और आदेश निचले स्तर ib. ext पुस्तकालय से वस्तुओं। इसके अलावा हम ib. opt उच्च स्तर पुस्तकालय से कनेक्शन और संदेश वस्तुओं का आयात: आईबी एक कॉलबैक तंत्र द्वारा त्रुटियों और सर्वर प्रतिक्रियाओं से निपटने की क्षमता के साथ हमें प्रदान करता है। निम्नलिखित दो कार्य सर्वर से लौटे संदेशों की सामग्री बाहर प्रिंट से ज्यादा कुछ नहीं है। एक और अधिक परिष्कृत उत्पादन प्रणाली असाधारण व्यवहार की घटना में इस प्रणाली के लगातार चल सुनिश्चित करने के लिए तर्क को लागू करने के लिए होता है: निम्नलिखित दो कार्य उनके संबंधित मानकों की स्थापना, अनुबंध और आदेश की वस्तुओं का निर्माण लपेटो। समारोह डॉक्स व्यक्तिगत रूप से प्रत्येक पैरामीटर का वर्णन: __main__ समारोह शुरू में कोड ढंग से काम करने के लिए चलना चाहिए जो व्यापारी कार्य केंद्र, के लिए एक कनेक्शन वस्तु बनाता है। त्रुटि और जबाब हैंडलर कार्यों फिर कनेक्शन वस्तु के साथ पंजीकृत हैं। इसके बाद एक ORDER_ID चर परिभाषित किया गया है। एक उत्पादन प्रणाली में यह प्रत्येक व्यापार करने के लिए वृद्धि की जानी चाहिए। अगले कदम के एक अनुबंध और गूगल शेयर की 100 इकाइयों को खरीदने के लिए एक बाजार आदेश का प्रतिनिधित्व एक आदेश बनाने के लिए कर रहे हैं। अंतिम कार्य वास्तव में कनेक्शन वस्तु की placeOrder विधि के माध्यम से उस आदेश जगह के लिए है। हम तो TWS से डिस्कनेक्ट: अंतिम चरण के लिए कोड को चलाने के लिए है: इसके तत्काल बाद यह एपीआई टैब गूगल की लंबी 100 शेयरों जाने के लिए बाजार आदेश दिखा, व्यापारी कार्य केंद्र में खुल जाता है कि देखा जा सकता है: गूगल के आदेश के बाद TWS एपीआई टैब देखें हम अब पोर्टफोलियो टैब पर नजर डालें तो हम गूगल स्थिति देख सकते हैं। आप भी खुद के द्वारा उत्पन्न नहीं किया गया था, जो सूची में एक विदेशी मुद्रा की स्थिति ध्यान दें! मैं केवल आईबी डेमो खाते या तो (कारण समान प्रवेश जानकारी के लिए) कुछ फैशन में "साझा" मान सकते हैं कि या आईबी में इसे और अधिक "यथार्थवादी" प्रदर्शित करने के लिए खाते में मनमाना के आदेश देता है। किसी को भी इस व्यवहार में कोई जानकारी है तो मैं और अधिक जानने के लिए intrigued हो जाएगा: TWS एपीआई पोर्टफोलियो गूगल आदेश के बाद में देखने यह हम पर विचार कर सकता है कि स्वचालित निष्पादन का सबसे बुनियादी रूप है। बाद में लेख में हम यथार्थवादी व्यापार रणनीतियों संभाल कर सकते हैं कि एक और अधिक मजबूत घटना चालित वास्तुकला का निर्माण करने जा रहे हैं। माइकल हॉल-मूर माइक QuantStart के संस्थापक है और मुख्य रूप से एक क्वांट डेवलपर के रूप में और बाद में हेज फंडों के लिए एक क्वांट व्यापारी सलाह के रूप में पिछले पांच साल के लिए मात्रात्मक वित्त उद्योग में शामिल किया गया है।