टिकट डेटा अपने आप में कोई रहस्य नहीं है, यह एक्सचेंज आपको प्रत्येक शेयर (या फ्यूचर्स विकल्प) के सक्रिय ऑर्डर बुक (यानी आपके ऑर्डर अभी भी एक्सचेंज में मौजूद हैं, लेकिन संश्लेषित नहीं किए गए हैं) में खरीदारी या बिक्री के आदेशों की स्थिति भेजता है।
**举例说明:**
某天的市场一开始的时候苹果股票的order book(委托挂单)清空(这里不进行auction period的探讨):
1. 接着来了第一个卖家:1000@100 :
这时候交易所会发给你一个message,告诉你是苹果股票有人想以100块钱卖出1000股,
那么这个order就先挂在了order book上,成为卖一。
卖:1000@100
2. 第二个卖家来了,他想卖得更高: 1000@101:
这时候交易所会发给你另一个message,告诉你是苹果股票有人卖的价格比你差,于是排序在更上面,卖二。
卖:1000@101
1000@100
3. 刚才的第一个卖家后悔了,cancel了他的order:1000@100撤消了,那么交易所会有message告诉你,
现在只剩一个1000@101(卖一)。但是你可能需要自己编程处理这种remove掉一个tick的情况。
卖:1000@101
4. 终于有买家来了... 500@90 , 这个价格是不会成交的,因为买家低于现在的最佳卖价:101,
那么order book里面会继续存着这个order,同时会发送一个tick告诉市场上的其他人,有买单了:
卖:1000@101
买:500@90
5. 继续,接着有一位买家以101块钱买入1000股,等于要把目前的bestoffer 1000@101给match - 撮合了,那么你是不会收到这个最新的bid: 101@1000 的,
因为它会进入matching engine的瞬间跟对面的best offer 撮合了,tick table的一个规则: bid offer 永远不会cross,
否则要么是数据商的bug,要么是交易所的bug。现在,你只会收到一个告诉你delete the best offer的message,那么tick table长这样:
买:500@90
यह बहुत सरल है, और बाजार इस प्रक्रिया को दोहराएगा।लेकिन इससे भी ज्यादा परेशान करने वाली बात यह हैः
- 1. कई बार टिक डेटा यूडीपी में भेजा जाता है, कल्पना कीजिए कि स्टॉक एक्सचेंज में यदि लेनदेन बहुत सक्रिय है, तो बहुत बड़ी मात्रा में डेटा होगा, यूडीपी में पैकेजिंग की स्थिति होगी, इसे कैसे संभाला जाए। कभी बहुत पागल टिक अपडेट का सामना किया है, लेकिन माइक्रो सेकंड के अपडेट कैश में भी रखना है, संभवतः सॉर्ट करना होगा (बदलाव प्रोटोकॉल देखें) और फ्रंट-एंड को भेजा जाना चाहिए।
- 2। वास्तविक समय में टिक डेटा को कैसे तेजी से संसाधित किया जाए, अन्यथा डेटा इतनी बड़ी मात्रा में है कि एक बार देरी होने पर, आप वास्तविक समय में टिक की गति से आगे नहीं बढ़ सकते हैं जब तक कि आपका प्रोग्राम बंद न हो जाए।
- 3. कैसे कुछ विशेष परिस्थितियों बग पैदा करने से बचने के लिए, एक बार एक टिक सही नहीं है, तो उसके बाद की टिक तालिका गलत है:)
**इसके अलावा, टिक को समझने में समस्याएं भी हैंः विभिन्न बाजारों में टिक अलग-अलग होते हैं, जैसा कि ऊपर कहा गया है, विकसित देशों के शेयर बाजार वास्तविक समय में आगे बढ़ते हैं ((यदि कोई नया ऑर्डर है और टिक के भेजने के स्तर के भीतर, जैसे कि टोक्यो एक्सचेंज केवल 8 टिक स्तर भेजता है, तो आप पूरे टिक को नहीं देख सकते हैं, क्योंकि 100 से अधिक स्तर हो सकते हैं, यदि बहुत सारे लोग व्यापार करते हैं) । घरेलू अवधि विनिमय कितने मिलीसेकंड है एक स्नैपशॉट (स्नैपशॉट) को काटने के लिए, उच्च विनिमय गहराई विनिमय 3 सेकंड है, और फिर आपको भेज दिया है, यह संभावना है कि घरेलू व्यापार प्रणाली बहुत पुरानी है, आईटी के विकास के साथ नहीं चल रही है। तो यह टिक डेटा वास्तविक समय में नहीं है, आप केवल जानते हैं कि हे! पहले 100 मिलीसेकंड और अब टिक में बदलाव इस तरह का है, शायद बीच में हजारों ऑर्डर किए गए हैं।
(यह आलेख मात्रात्मक व्यापारी WeChat id:quantcity द्वारा संकलित किया गया है)
विदेशी उच्च आवृत्ति टिक डेटा के लिए, पूर्ण ऑर्डर डेटा प्रक्रिया है, इसलिए आप इन ऑर्डर डेटा का उपयोग स्नैपशॉट डेटा को पुनर्स्थापित करने के लिए कर सकते हैं।
देश के दो सबसे बड़े स्टॉक और चार सबसे बड़े फ्यूचर्स सैद्धांतिक रूप से स्नैपशॉट डेटा हैं। उदाहरण के लिए, एक विशिष्ट डेटा फ़ील्ड में शामिल हैंः .. शुरुआती मूल्य उच्चतम मूल्य निम्नतम मूल्य नवीनतम मूल्य लेनदेन की मात्रा लेनदेन की मात्रा .. यहां सबसे कम कीमत सबसे कम कीमत है जो कि ट्रेड शुरू होने के बाद से अब तक हुई है, यह मानते हुए कि आपके पास प्रत्येक लेनदेन के बारे में विस्तृत जानकारी है, वास्तव में यह डेटा अधिकतम मिनट में अनुमानित है, इसलिए विदेशी टिक डेटा में आमतौर पर यह क्षेत्र नहीं होता है। .. एक्सचेंजों और एक्सचेंजों द्वारा प्रदान किए जाने वाले वास्तविक समय के लेनदेन के तीन प्रकार हैं, त्वरित और एक-एक करके लेनदेन और असाइनमेंट। .. तस्वीरें हर 3 सेकंड में बाजार की तस्वीरें लेती हैं, और फिर वर्तमान मूल्य, उच्चतम, निम्नतम, लेनदेन की मात्रा, लेनदेन की राशि आदि की तस्वीरें भेजती हैं। चूंकि तस्वीरें हर 3 सेकंड में होती हैं, इसलिए हमें नहीं पता कि इस 3 सेकंड के दौरान बाजार में क्या होता है। हर दिन लगातार बोली लगाने का समय सुबह दोपहर में कुल 4 घंटे है। इसलिए तस्वीरों की संख्या 14400/3 लगभग 3800 बार है। अकेले शेयरों के लिए, पूरे बाजार में स्नैपशॉट डेटा की मात्रा 2G से अधिक है। .. लेन-देन के अनुसार, वास्तविक परमाणुओं के लिए लेन-देन होता है। हालांकि यह डेटा भी 3 सेकंड के लिए एक बैच में भेजा जाता है, न कि वास्तविक समय में। उदाहरण के लिए, 1.5 सेकंड में हुआ एक लेनदेन, 3 सेकंड तक नहीं भेजा जाता है। .. स्तर 2 में केवल एक खरीद और बिक्री के लिए शीर्ष 50 हैं, न कि सभी लिस्टिंग। (यह आलेख मात्रात्मक व्यापारी WeChat id:quantcity द्वारा संकलित किया गया है)
**典型的有几类原因导致数据的差异**
- **1. 数据记录方式**
उदाहरण के लिए, स्टॉक के स्तर 1 डेटा के लिए, एक्सचेंज एक डीबीएफ फ़ाइल जारी करता है, जो सभी प्रतिभूतियों के नवीनतम स्थिति डेटा को रिकॉर्ड करता है, और डीबीएफ फ़ाइल लगातार स्वचालित रूप से ताज़ा होती है। तो डेटा प्रदाता या डेटा रिकॉर्ड करने वाले व्यक्ति को यह करने की आवश्यकता होती है कि वह इस फ़ाइल को हर समय पढ़ें और फिर डेटाबेस में सभी डेटा डालें, लेकिन चूंकि एक्सचेंज डेटा को अपडेट करने की आवृत्ति एक अद्वितीय मूल्य नहीं है, इसलिए डेटा को याद रखने के लिए सबसे अच्छा तरीका यह है कि आप इसे अधिक बार पढ़ें। यह समस्या उत्पन्न होती है क्योंकि आप बहुत पढ़ते हैं यदि हर बार डेटा रिकॉर्ड किया जाता है तो डेटा बड़ा होता है, फिर बहुत दोहराया जाता है। इसलिए यह तरीका अक्सर उपयोग किया जाता है जब डेटा बदलता है। इस तरह के नियम के कारण, आप देख सकते हैं कि कुछ निष्क्रिय ट्रेडों में सक्रिय ट्रेडों की तुलना में कम डेटा होता है, लंबी अवधि के वायदा डेटा हाल के दिनों से कम होते हैं, समय सीमा असंगतता आदि।
- **2. 运维问题**
कोई भी गारंटी नहीं दे सकता है कि नेटवर्क काटना नहीं होगा; यदि कोई नेटवर्क काटना, मशीन की गलती, प्रोग्राम की गलती आदि की वजह से होता है, तो आप एक्सचेंज डेटा प्लेबैक को याद करेंगे। उपरोक्त डेटा तंत्र के अनुसार, वास्तव में लेवल 1 डेटा T और T + 1 क्षणों के लिए कोई तार्किक संबंध नहीं है, मान लीजिए कि आप डेटा से खुद को खोजने में असमर्थ हैं।
- **3. 程序导致的数据错误**
कुछ असामान्य त्रुटियां, जैसे कि कुछ प्रकार के शेयरों के लिए कीमतों में असामान्यता, रिक्तता आदि, डेटा दर्ज करने की प्रक्रिया में त्रुटि के कारण हो सकती हैं। क्यों? इसके कई कारण हैं, हम जानते हैं कि यह हो सकता है। कुछ एक्सचेंजों की समस्याओं के कारण हैं, जैसे कि एक्सचेंजों ने लेवल 2 डेटा के शुरुआती मूल्य को गलत किया है। इसलिए, सिद्धांत रूप में, 100% विश्वसनीय डेटा प्राप्त करना मुश्किल है, डेटा की जांच और सफाई आवश्यक है, और यह एक थकाऊ काम है, नियम स्थापित करना व्यक्तिगत अनुभव पर निर्भर करता है।