2011-10-31 10 views
5

ऑर्डरबुक खरीद और बिक्री आदेश से भरा है। अपडेट, नए ऑर्डर ट्रेड निष्पादित कर सकते हैं।ऑर्डरबुक डीबी डिजाइन

मुझे कार्यान्वयन के कोई उदाहरण नहीं मिल रहे हैं।

हम प्रत्येक आदेश को एक आईडी दे सकते हैं, और एक-एक करके ऑर्डर निष्पादित कर सकते हैं। लेकिन हमें ऐसा कुछ चाहिए जो हजारों सक्रिय आदेशों तक पहुंच जाएगा।

हम कीमतों को क्रमबद्ध करने के आदेशों को क्रमबद्ध कर सकते हैं (क्योंकि वे ओवरलैप होते हैं)। लेकिन हमें सावधान रहना होगा और ऑर्डर प्राप्त करने के क्रम में केवल निष्पादित करना होगा :)

विचार?

उत्तर

2
  • हम सावधान रहना होगा और जिस क्रम में आदेश प्राप्त हुए थे में केवल निष्पादित करने के लिए है

बाजार डेटा आमतौर पर, एक समय श्रृंखला फैशन में मॉडलिंग की है इसलिए यह स्वाभाविक रूप से एक टाइमस्टैम्प द्वारा आदेशित किया गया है जो फिलहाल एक पिकोसेकंद परिशुद्धता तक जाता है।

इस बात पर निर्भर करता है कि आप किस तकनीक पर भरोसा करते हैं, अगर आप इसके लिए भुगतान नहीं करना चाहते हैं, तो मैं OneTick के साथ जाऊंगा, यह एक समय श्रृंखला डीबी है जो पहले से ही बुक गहराई/मूल्य स्तर के साथ ऑर्डर बुक में निर्मित है , सीईपी और बहुत कुछ।

यदि आप इसे स्वयं बनाना चाहते हैं (या मुफ्त उत्पादों पर भरोसा करते हैं), तो OpenTSDB पर एक नज़र डालें, जो एक एलजीपीएलवी 3 + लाइसेंस के साथ एक ओपन सोर्स, टाइम सीरीज़ डीबी है। यह निश्चित रूप से वनटिक से धीमा होगा, लेकिन चूंकि आपको अपनी गति आवश्यकताओं के आधार पर हजारों (वनटिक अरबों को संभालती है) की आवश्यकता होती है, यह काम कर सकती है।

ऑर्डरबुक डेटा मॉडल के रूप में यह इस बात पर निर्भर करेगा कि आप पुस्तक का उपयोग कैसे कर रहे हैं: उदा। क्या आप कई मूल्य स्तरों परवाह करते हैं? पुस्तक का शीर्ष? .. आप /, आदि बोलियों के बराबर की जरूरत है वास्तविक आदेश करने के लिए कहता है

लेकिन अगर आप एक स्कीमा है कि इस तरह के रूप में orderbook घटनाओं रिकॉर्ड को डिजाइन करने के साथ शुरू कर सकते हैं:

enter image description here

उदाहरण LMAX Protocol Reference Guide से है

2

पायथन का OrderedDict स्केलेबल ऑर्डरबुक की नींव के रूप में कार्य कर सकता है। आप प्रत्येक मूल्य-स्तर के लिए एक आदेशित शब्दकोश चाहते हैं ताकि आदेश मूल्य/समय प्राथमिकता के अनुसार मेल खाते।

संबंधित मुद्दे