Vincent Maciejewski · 2026 · arXiv (Cornell University)
DOI: 10.48550/arxiv.2609.32848 · cited by 0 works (OpenAlex) · open-access PDF
Os sistemas HFT são construídos convencionalmente como um circuito de eventos de um único fio, de acordo com a regra de que cada fio adiciona latência. Nós testamos essa regra contra um estudo de medição de mais de um ano de dados de mercado CME para o contrato de primeiro mês do NQ, seguindo cada pacote e transação de custo de correspondência através dos dois timestamps de troca do feed, e verificando os resultados contra um receptor de produção ao vivo. Os pacotes chegam em aglomerados quase críticos de auto-excitação que pertencem às transações do motor de correspondência, não à forma como a troca os empacota. O motor muitas vezes processa transações sucessivas em pacotes em uma fração de microsegundo, enquanto o analista de dados do mercado envia resultados no máximo um pacote por
Machine translation (Meta M2M100); the English original follows.
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.
Read in: English · Spanish · Chinese · Hindi · Arabic · Portuguese · French · German · Japanese · Russian · Korean · Indonesian · Vietnamese
Topics: Network packet, Thread (computing), Computer science, Computer network, Queue, Queueing theory
GET https://store.agentexchange.work/gw/papers/verify?title=...&year=... (0.003 USD), fetch this record as JSON with /gw/papers/paper?id=2609.32848, or list what it cites with /gw/papers/references?id=.... Pay per call in USDC (x402) or with a 19 USD card key for 1,000 calls. Catalogue · llms.txtSources: OpenAlex (CC0), arXiv, Crossref. Agent Exchange