0
ध्यान केंद्रित करना
265
समर्थक

आइए कोड संरचना को अनुकूलित करने के महत्व के बारे में बात करें

में बनाया: 2021-05-22 05:57:14, को अपडेट:
comments   4
hits   1459

आज हम बात करेंगे कि कोड संरचना को अनुकूलित करने के महत्व के बारे में

सट्टेबाजी के लिए, सबसे महत्वपूर्ण दो चीजें हैं, 1) धन की उपयोगिता 2) और ऑर्डर की गति।

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

हालांकि, जब केवल एक ट्रेडिंग जोड़ी होती है, तो ऑप्टिमाइज़ेशन कोड संरचना अक्सर 1ms से भी कम समय में बढ़ जाती है, लगभग कोई अंतर नहीं है।

जबकि धन उपयोगिता में सुधार के लिए, अक्सर एक ही धन की आवश्यकता होती है और एक ही समय में कई लेनदेन जोड़े को देखा जाता है, तो यह तार्किक चक्रों की संख्या में वृद्धि का कारण बनता है, इस समय कोड संरचना को अनुकूलित करने का लाभ स्पष्ट है। आम तौर पर बहु-विनिमय बहु-व्यावसायिक पोल की जटिलता O ((n) है, जिसे अनुकूलन के माध्यम से पूरी तरह से O ((n! / ((m!*m) ((m) जब ट्रेडिंग जोड़े सैकड़ों तक पहुंचते हैं और एक्सचेंज एक साथ दर्जनों का निरीक्षण करता है।

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

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

यह स्पष्ट है कि हम केवल मुनाफे की गणना करते हैं, हमें शुरू में मूल्य और राशि की गणना करने की आवश्यकता नहीं है।

तो अनुकूलन में, आप 2 फ़ंक्शंस को विभाजित कर सकते हैं profit और उद्धरण. फ़ंक्शंस जो पहले लाभ को बुलाते हैं, प्रत्येक पथ के लिए लाभ प्राप्त करते हैं, और फिर व्यापार के लिए सबसे बड़ा लाभ चुनते हैं। इस प्रकार, लॉजिकली उद्धरण फ़ंक्शंस को प्रत्येक चक्र से बुलाया जाता है, केवल एक बार बुलाया जाता है। समय जटिलता O (((2n) से O (((n + 1) तक बदल जाती है, एन कुल लीवरेज पथ है।

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

तो हम रणनीति को और अधिक अनुकूलित कर सकते हैं, एक लूप सेट करें, एक लूप में if कथन, यदि किसी पथ में लाभ पाया जाता है, तो इसे तोड़ दें, और फिर उस पथ के लिए उद्धरणों की संख्या और कीमत की गणना करें।

तो जटिलता O{\displaystyle {\sqrt {O}}} n+1 से O{\sqrt {O}}} m+1 तक सरल हो जाती है, और m ∈ {\sqrt {m}}} जब सभी एक्सचेंजों के पास समान अवसर होते हैं, तो m लगभग n/2 के बराबर होता है, यानी जटिलता O{\sqrt {O}}} n/2+1 तक कम हो जाती है।

एक सरल विभाजन फ़ंक्शन के माध्यम से, तर्क अनुकूलन संरचना का विश्लेषण, समय जटिलता को O (((2n) से O (((n/2+1)) तक कम किया जा सकता है।

वास्तव में, जब मैं कोड लिखता हूं, तो बहुत सारे परिदृश्य होते हैं जिन्हें अनुकूलित किया जा सकता है, और जब मैं कोड लिखता हूं, तो मैं अक्सर यह देखता हूं कि अनुकूलन तर्क मौजूद है जो किसी O (n) को O (n) में अनुकूलित करता है।*(n+1)) की संभावना। कभी-कभी हम एक तर्क को 1ms के भीतर अनुकूलित कर सकते हैं, जिसे पूरा करने के लिए सैकड़ों मिलीसेकंड लगते हैं।

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