מדידות של זרם CME לתכנון מקלטי HFT בהשהיה נמוכה
סיכום
המחקר בוחן כיצד מגיעים מנות נתוני שוק של CME ועסקאות ממנוע ההתאמה, ומשתמש במדידות אלה לגיבוש הנחיות תכנון למקלטים למסחר בתדירות גבוהה. הראיות מבוססות על יותר משנה של תצפיות בחוזה Nasdaq-100 E-mini לחודש הקרוב, לרבות חותמות זמן של הבורסה למנות ולעסקאות, ובדיקה מול מקלט פעיל בסביבת ייצור.
המחברים מוצאים שמנוע ההתאמה מעצב את פרצי העסקאות, בעוד שהמפרסם מרווח את המנות היוצאות במרווחים של כ-7.5 מיקרו־שניות. אם המקלט מטפל במנות בתוך מרווח כזה, ההגעות אינן יוצרות תור ועדיף להשתמש בשרשור יחיד. מעבר לזמן שירות זה, תזמון הפרצים עלול ליצור זנב תורים ארוך; פיצול שרשרת הטיפול בין שני שרשורים יכול לצמצם את הזנב אם הוא מקצר את השלב האיטי ביותר, אף שהוא מוסיף השהיה לטיפול הרגיל. בסמוך למרווח המפרסם, המחקר מייחס את השהיית הזנב שנותרה למנות מרובות־הודעות ולזמני שירות משתנים. ממצאים אלה נוגעים להזנה ולתנאי המקלט שנמדדו; הם אינם מבססים שאותו תכנון שרשורים מיטבי לכל מערכת.
רעיונות מרכזיים
- פרצי עסקאות ממנוע ההתאמה, ולא אריזת מנות, מעצבים את אשכולות ההגעה שנצפו.
- מקלט המעבד מנות בתוך מרווח המפרסם נמנע מתורים הנגרמים מהגעות בתנאים שנמדדו.
- תכנון דו־שלבי עם שרשורים יכול לצמצם זנבות תורים כאשר הוא מקצר את שלב צוואר הבקבוק.
- בסמוך למרווח המפרסם, העלות לכל הודעה והשונות בזמן השירות חשובות יותר ממספר השרשורים.
תגיות
הטקסט המלא
# Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data # Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data HFT systems are conventionally built as a single-threaded event loop, on the rule that every thread hop adds latency. We test that rule against a measurement study of more than a year of CME market data for the NQ front-month contract, following every packet and matching-engine transaction through the feed's two exchange timestamps, and checking the results against a live production receiver. Packets arrive in near-critical self-exciting clusters that belong to the matching engine's transactions, not to how the exchange packs them. The engine often processes consecutive transactions within a fraction of a microsecond, while the market-data publisher sends at most one packet per publisher period of about 7.5 microseconds, so a burst reaches the receiver as a train of packets one period apart. This yields design principles for HFT systems. First, a receiver that handles each packet within one publisher period never queues on arrivals, however bursty the market; there one thread is best. Second, above that period a queueing tail appears, driven by the timing of transactions, not by packet rate or size, and two threads can be better than one: splitting the servicing chain into two stages on separate threads removes most of the tail at the cost of one hop on the median. Third, only the slowest stage matters, so a split pays only if it shortens it. Fourth, just under the period, where the production receiver runs, the remaining tail comes from multi-message packets and variable service times, and the levers are cost per message and spread of service, not thread count. An analytic framework, a burst-limit throughput identity and an exact reduction of the tandem to a single bottleneck server, supports these results.
מוצג במלואו בציון המקור ובהתאם לרישיון שלו. רישיון: abstract CC0
הסיכום נכתב בידי סוכן המחקר של Stratmill על סמך המקור; הוא אינו העתק של המקור.