← Nieuwste papers
💰 quantitative finance

Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data

Door meer dan een jaar aan CME-marktdata te analyseren, daagt dit artikel het conventionele single-threaded HFT-ontwerp uit door aan te tonen dat hoewel één thread volstaat voor pakketverwerking binnen een sub-periode, een tweestaps-threaded architectuur de wachtrij-staarten veroorzaakt door transactiepieken aanzienlijk kan verminderen, mits de splitsing de traagste fase van het systeem verkort.

Oorspronkelijke auteurs: Vincent Maciejewski

Gepubliceerd 2026-09-29✓ Author reviewed ⓘ
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Vincent Maciejewski

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). ✨ Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

In de wereld van high-frequency trading, waar computers aandelen kopen en verkopen in fracties van een seconde, is snelheid niet alleen een voordeel; het is het hele spel. Deze systemen werken volgens een eenvoudig principe: als je marktinformatie sneller kunt verwerken dan wie dan ook, kun je profiteren van minuscule prijsverschillen voordat ze verdwijnen. Om dit te doen, bouwen ingenieurs gespecialiseerde software die een constante stroom gegevens van effectenbeurzen beluistert, deze decodeert en beslissingen neemt in microseconden. Jarenlang heeft de industrie onder een strikte regel ge opereerd: houd het meest kritieke deel van deze software op een enkele processorcore. De logica was dat het verplaatsen van gegevens tussen verschillende cores, of "threads", te traag en riskant was, omdat het vertragingen toevoegde die de snelheid van het systeem zouden ruïneren. Deze aanpak behandelde de software als een enkele, gefocuste werker die nooit een taak doorgeeft, in de overtuiging dat elke onderbreking meer zou kosten dan het werk zelf.

Deze langgehouden overtuiging rustte echter op een aanname over hoe marktinformatie binnenkomt: dat het binnenkomt als een gestage, willekeurige stroom, zoals regendruppels die op onvoorspelbare intervallen vallen. Als dat waar zou zijn, zou de single-worker aanpak inderdaad de snelste zijn. Maar wat als de data niet willekeurig valt? Wat als de data binnenkomt in plotselinge, intense uitbarstingen, waarbij duizenden updates in de oogwenk het systeem raken? Een nieuwe meetstudie van echte marktgegevens van de Chicago Mercantile Exchange suggereert dat de oude regel niet klopt voor de drukste momenten. Door miljarden datapakketten gedurende meer dan een jaar te volgen, ontdekten onderzoekers dat marktinformatie niet willekeurig binnenkomt. In plaats daarvan komt het binnen in nauwe clusters, waarbij één gebeurtenis een snelle opeenvolging van anderen triggert, wat een "zelf-exciterend" patroon creëert. Deze ontdekking verandert de wiskunde van snelheid. Het blijkt dat wanneer data in deze specifieke, geclusterde uitbarstingen binnenkomt, het verdelen van het werk over meerdere processoren het systeem feitelijk sneller en betrouwbaarder kan maken, mits het systeem is ontworpen om het ritme van de uitbarstingen correct te verwerken.

De onderzoekers begonnen door de ruwe datastroom te bestuderen terwijl deze van de matching engine van de beurs, waar orders worden verwerkt, naar de computers van de handelaren reist. Ze volgden elk afzonderlijk datapakket en noteerden exact wanneer het de beurs verliet en wanneer het aankwam. Ze ontdekten dat het systeem van de beurs fungeert als een poortwachter met een vaste snelheidslimiet. Zelfs wanneer de matching engine orders extreem snel verwerkt—soms binnen een fractie van een microseconde van elkaar—kan de data-publisher van de beurs ze niet allemaal tegelijk verzenden. Het verzendt ze één voor één, met een minimale tussenpoos van ongeveer 7,5 microseconden tussen elk pakket. Dit creëert een trein van datapakketten die met een gestage, ritmische tussenruimte bij de computer van de handelaar aankomen, ongeacht hoe chaotisch de activiteit bij de bron was.

Dit ritmische binnenkomen is de sleutel tot de nieuwe bevindingen. De onderzoekers bouwden een computersimulatie om te testen hoe verschillende softwareontwerpen dit specifieke ritme zouden afhandelen. Ze vergeleken de traditionele single-threaded aanpak, waarbij één processor al het werk doet, met een multi-stage pipeline, waarbij het werk wordt verdeeld over verschillende processoren die sequentieel werken. In hun simulatie voedden ze het systeem met de exacte timing van de echte datapakketten. De resultaten waren duidelijk: voor taken die langer duren dan de 7,5-microseconde tussenpoos tussen pakketten, creëert de single-threaded aanpak een enorme achterstand. Wanneer een uitbarsting van data arriveert, raakt de enkele processor overweldigd, en de vertraging voor de laatste paar pakketten in de uitbarsting wordt tientallen malen langer dan de taak zelf. Deze vertraging is de "tail" waar handelaren vrechten voor, aangezien het betekent dat hun beslissingen te laat worden genomen.

In contrast hiermee handhaafde de multi-stage pipeline deze uitbarstingen met gemak. Door het werk te verdelen, kon het systeem de binnenkomende trein van pakketten parallel verwerken. Terwijl de eerste processor het decoderen van het eerste pakket uitvoerde, was de tweede al bezig met het tweede, enzovoort. Dit stelde het systeem in staat om de achterstand veel sneller weg te werken, waardoor de vertraging voor elk pakket laag en consistent bleef. De simulatie toonde aan dat voor taken die 16 microseconden of langer duren, het splitsen van het werk de slechtst denkbare vertragingen met een factor tien of meer verminderde, met slechts een minimale straf tijdens de typische, niet-bursty momenten. De onderzoekers bevestigden dat deze verbetering niet kwam door de loutere hoeveelheid data, maar specifiek door de geclusterde, bursty aard van de aankomsttijden. Wanneer ze dezelfde hoeveelheid data willekeurig lieten arriveren in de simulatie, bood het multi-stage systeem geen voordeel, en bleef het single-threaded systeem efficiënt.

De studie sloot ook verschillende andere potentiële oorzaken van de vertragingen uit. Ze vonden dat de grootte van de datapakketten of het aantal berichten in hen niet de primaire drijfveer van de vertraging was. Zelfs toen ze de data herarrangeerden om de uitbarstingen te verwijderen maar hetzelfde aantal pakketten behielden, verdwenen de enorme vertragingen. Dit bewees dat het probleem puur over de timing van de aankomsten ging. De onderzoekers keken ook naar de beurs zelf om te begrijpen waarom de data in deze clusters arriveerde. Ze ontdekten dat de matching engine van de beurs vaak meerdere orders bijna gelijktijdig verwerkt, waarschijnlijk omdat veel handelaren tegelijkertijd reageren op hetzelfde marktevenement. De data-publisher van de beurs verspreidt deze echter vervolgens in de tijd, wat de ritmische trein creëert die de systemen van de handelaren moeten verwerken.

Voor de ontwerpers van deze handelssystemen biedt het artikel een duidelijke, op data gebaseerde gids. Als de verwerkingstijd van een systeem korter is dan de 7,5-microseconde tussenpoos tussen pakketten, geldt de oude regel nog steeds: houd het op een enkele thread. Er is geen voordeel bij het splitsen van het werk, en het voegt alleen onnodige complexiteit toe. Maar als de verwerkingstijd langer is dan die tussenpoos, zal de single-threaded aanpak falen tijdens uitbarstingen, en moet het systeem in meerdere stadia worden gesplitst. De onderzoekers benadrukken dat het doel niet is om zoveel mogelijk processoren te gebruiken, maar om ervoor te zorgen dat het traagste deel van het proces snel genoeg is om het ritme van de beurs bij te houden. Ze vonden ook dat de specifieke ordening van de processoren er minder toe doet dan het waarborgen dat de traagste fase efficiënt wordt afgehandeld.

Dit werk beweert niet dat het alle problemen in high-speed trading heeft opgelost, noch suggereert het dat de single-threaded aanpak verouderd is. Het biedt simpelweg een precieze meting van wanneer die aanpak niet meer werkt en wanneer een ander ontwerp noodzakelijk wordt. Door de echte wereld te meten in plaats van te vertrouwen op theoretische modellen, hebben de onderzoekers ingenieurs een concreet drempelgetal gegeven om tegen te meten. Ze hebben aangetoond dat de aard van de datastroom — specif kindelijk de neiging om in zelf-exciterende uitbarstingen aan te komen — bepaalt wat de beste manier is om de software te bous die de data consumeert. De les is dat in de snelle wereld van de financiën het begrijpen van het ritme van de data even belangrijk is als de snelheid van de computer.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →