Attractoren in HFT: Wanneer wiskunde de markt ontmoet
Stel je dit voor: je laat een knikker in een trechter vallen. Waar je hem ook loslaat, hij rolt altijd naar het midden. Dat midden is de attractor—een punt van convergentie voor alle mogelijke banen. Stel je nu voor dat financiële markten op een vergelijkbare manier werken, maar in plaats van knikkers hebben we activaprijzen, en in plaats van een trechter hebben we complexe wiskundige patronen. Welkom in de wereld van attractoren in high-frequency trading!
Wat is een attractor en waarom heeft een trader er iets aan?
Een attractor is een compacte deelverzameling van de faseruimte van een dynamisch systeem, waar alle banen vanuit een bepaalde omgeving naartoe convergeren naarmate de tijd naar oneindig gaat[1][7]. Klinkt intimiderend? In werkelijkheid is het simpel: het is een punt of gebied waar het systeem naartoe wordt "getrokken" als een magneet[8][16].
Attractoren zijn overal in de echte wereld te vinden. Een slinger met wrijving komt uiteindelijk tot stilstand op zijn laagste punt—dat is zijn attractor[1][7]. Water in een badkuip stroomt altijd naar het afvoerputje, hoeveel draaikolken je ook op het oppervlak creëert. Zelfs menselijk gedrag heeft zijn eigen attractoren—gewoontes waar we steeds naar terugkeren.
In financiële markten verschijnen attractoren als bepaalde prijzen of terugkerende patronen waar de markt telkens weer naar terugkeert[8][16]. Zo werkt de evenwichtsprijs als een attractor die de huidige prijs naar zich toe trekt[10]. Dit verklaart waarom aandelenkoersen niet naar oneindig wegvliegen, maar rond bepaalde niveaus oscilleren.
Theoretische grondslagen: van eenvoudig naar complex
Conceptueel diagram met puntattractoren, limietcycli en vreemde attractoren in een dynamisch systeem
Er bestaan verschillende soorten attractoren. De eenvoudigste is een puntattractor. Dit is het klassieke slingervoorbeeld: het systeem komt uiteindelijk tot rust in één punt[1][3]. In trading kan zo'n attractor overeenkomen met de fundamentele waarde van een actief.
Een interessanter geval is de limietcyclus. Het systeem stopt niet in één punt, maar beweegt cyclisch langs een gesloten baan[3]. In markten kan dit overeenkomen met seizoensgebonden prijsschommelingen of technische steun- en weerstandsniveaus.
Maar het meest fascinerend zijn vreemde attractoren. Ze ogen complex en kunnen verborgen orde onthullen in het schijnbaar willekeurige gedrag van de markt[8][16]. De structuur van een vreemde attractor is fractaal; de banen zijn aperiodiek maar blijven binnen een begrensd gebied van de ruimte[7]. Het klassieke voorbeeld is de Lorenz-attractor, die chaotisch gedrag in deterministische systemen beschrijft[1][17].
Edward Lorenz, de grondlegger van de chaostheorie, ontdekte dat kleine veranderingen in de begincondities tot dramatisch andere uitkomsten leiden—het beroemde "vlindereffect"[17]. In financiële markten betekent dit dat kleine gebeurtenissen onvoorspelbare prijssprongen kunnen veroorzaken[17].
Visualisatie van het 'vlindereffect': hoe kleine lokale schommelingen enorme wereldwijde marktbewegingen kunnen veroorzaken
Attractoren in financiële markten
In de context van financiële markten manifesteren attractoren zich op verschillende tijdschalen en in diverse vormen. Op het high-frequency niveau worden ze gemotiveerd door arbitrage-argumenten—de wet van één prijs impliceert dat identieke activa tegen dezelfde prijs moeten worden verhandeld om arbitragemogelijkheden te vermijden[15]. Dit creëert attractoren tussen de prijzen van hetzelfde actief dat op verschillende markten wordt verhandeld.
Bij lagere frequenties zijn attractoren gekoppeld aan economische theorieën die evenwichtsrelaties tussen tijdreeksvariabelen impliceren[15]. Het permanent-inkomensmodel impliceert cointegratie tussen consumptie en inkomen; geldvraagmodellen impliceren cointegratie tussen geld, inkomen, prijzen en rentetarieven[15].
Het marktgedrag tijdens crises is bijzonder interessant. Zoals een trader opmerkt: "de prijs beweegt altijd naar een evenwichtstoestand, en er zijn er vele"[10]. Een evenwichtstoestand kan worden gedefinieerd als een prijs waarbij het aantal marktorders kleiner is dan of gelijk is aan het aantal limietorders[10]. Zo trekt de evenwichtsprijs de huidige prijs naar zich toe en fungeert daarmee als attractor[10].
Cointegratie als praktische manifestatie van attractoren
Hier komen we bij de kernrelatie tussen attractoren en cointegratie. Cointegratie beschrijft een langetermijnrelatie tussen twee of meer activaprijzen[6]. Wanneer twee activa gecointegreerd zijn, delen ze gemeenschappelijke stochastische trends en bewegen hun prijzen samen[6].
De prijzen van gecointegreerde activa zijn gekoppeld vanwege de stationariteit van de spread[6]. Dit betekent dat de spread tussen de prijzen niet onbeperkt groeit of daalt, maar fluctueert rond een bepaald gemiddelde. In essentie is dit gemiddelde de attractor voor de spread.
Cointegratie bij pairs trading: twee gerelateerde activaprijzen die om een gemeenschappelijk langetermijnevenwichtspad (de attractor) draaien
Laten we naar een praktisch voorbeeld kijken. Neem een paar gecointegreerde aandelen, A en B. De spread tussen hen wordt berekend als: Spread = P_A - γ*P_B, waarbij γ de cointegratiecoëfficiënt is[4][20]. Deze spread heeft de neiging stationair te zijn, d.w.z. hij heeft een constant gemiddelde en beperkte variantie[4][20].
Wanneer de spread afwijkt van zijn gemiddelde (de attractor), ontstaat er een handelsmogelijkheid. Als de spread te groot is, kunnen we actief A verkopen en actief B kopen, in de verwachting dat de spread naar het gemiddelde terugkeert. Omgekeerd, als de spread te klein of negatief is, doen we het tegenovergestelde[4][9].
Toepassing in algoritmische handel
Moderne algoritmische handel maakt actief gebruik van het concept van attractoren om handelsstrategieën te bouwen[2]. Algoritmes kunnen marktgegevens monitoren, patronen identificeren en orders veel efficiënter uitvoeren dan enig mens zou kunnen[2].
Het bedrijf Algoter, gespecialiseerd in kwantitatieve handel, combineert machine learning, real-time gegevensanalyse en diepgaand marktinzicht in zijn vlaggenschipproduct Goldseek om strategieën te ontwikkelen die zich aanpassen aan veranderende marktdynamiek[2]. In plaats van op de markt te reageren, streven deze systemen ernaar deze te anticiperen, waardoor beleggers voorop kunnen blijven lopen op volatiliteit en kansen[2].
Met de ontwikkeling van kunstmatige intelligentie en reinforcement learning kan de volgende generatie handelssystemen leren van historische data, strategieën ter plekke aanpassen en zelfs nieuwe marktregimes herkennen voordat ze zich volledig vormen[2].
Pairs trading is een van de meest populaire strategieën gebaseerd op het concept van attractoren[9][14]. Dit is een marktneutrale handelsstrategie waarmee traders in bijna elke marktomstandigheid winst kunnen maken: opgaande trend, neergaande trend of zijwaartse beweging[14].
De strategie volgt de prestaties van twee historisch gecorreleerde effecten. Wanneer de correlatie tussen beide tijdelijk verzwakt—het ene aandeel stijgt terwijl het andere daalt—houdt pairs trading in dat het beter presterende aandeel wordt verkocht en het slechter presterende wordt gekocht, met de verwachting dat de "spread" tussen beide uiteindelijk convergeert[14].
Praktische handelsstrategieën
Laten we een concrete implementatie van een op attractoren gebaseerde strategie bekijken. Neem bijvoorbeeld een paar aandelen (VSYDP, NKHP) die cointegratie vertonen[4].
Stap 1: Parameterbepaling Gebruik de eerste helft van de observaties om de parameters van de handelsstrategie te bepalen. Bereken de cointegratiecoëfficiënt γ en bepaal het gemiddelde spreadniveau (onze attractor)[4].
Stap 2: Signaalgeneratie Stel drempelwaarden in voor afwijking van de attractor. Standaarddeviaties van de spread worden meestal gebruikt. Wanneer de spread in beide richtingen met 2 standaarddeviaties van het gemiddelde afwijkt, wordt een handelssignaal gegenereerd[4].
Stap 3: Uitvoering van de trade Als de spread onder de ondergrens ligt, koop aandeel A en verkoop aandeel B in een verhouding van 1:γ. Wanneer de spread terugkeert naar het gemiddelde (de attractor), sluit de positie[4].
Stap 4: Risicobeheer Stel een stop-loss in voor het geval de spread een trend gaat vertonen in plaats van terug te keren naar het gemiddelde. Dit kan gebeuren door structurele veranderingen in de relatie tussen de activa[14].
Dergelijke strategieën worden geautomatiseerd met gespecialiseerde systemen. Zo biedt de TradeHelp-robot bijvoorbeeld een "Cointegration Scoring"-functie, die cointegratie berekent met behulp van de Johansen-test voor arbitragemanden van twee of meer effecten[18].
Geavanceerde methoden en meerdimensionale attractoren
Meerdimensionaal systeem (Johansen-test): een mand activa die gelijktijdig naar een gemeenschappelijke complexe attractor toe wordt getrokken
Moderne benaderingen beperken zich niet tot pairs trading. De Johansen-test maakt het mogelijk om te werken met meerdimensionale systemen waarbij meerdere activa gelijktijdig naar een gemeenschappelijke attractor toe neigen[18]. Dit vermindert arbitragerisico's aanzienlijk en verhoogt de stabiliteit van de strategie[18].
Bij het berekenen van cointegratiecoëfficiënten (gewichten van effecten in de mand) wordt niet alleen rekening gehouden met het geldbedrag per effect, maar ook met de volatiliteit ervan[18]. De basis van mandarbitrage heeft geen uitgesproken trend, wat de kans vergroot dat de basis naar het gemiddelde terugkeert en winst genereert[18].
Het is ook belangrijk om het verschil te begrijpen tussen high-frequency en low-frequency cointegratie. High-frequency cointegratie wordt gemotiveerd door arbitrage-argumenten en wordt meestal geassocieerd met technische handelsfactoren[15]. Low-frequency cointegratie is gebaseerd op langetermijn-economische relaties en kan jarenlang aanhouden[15].
Beperkingen en risico's van op attractoren gebaseerde strategieën
Ondanks de aantrekkingskracht van het attractorconcept is handelen op basis hiervan niet zonder risico's. De grootste moeilijkheid ontstaat wanneer de prijzen van twee effecten uiteen beginnen te lopen—de spread begint te trenden in plaats van terug te keren naar het oorspronkelijke gemiddelde[14].
Drift is een van de belangrijkste risico's. Wanneer gemiddelde waarden veranderen, wordt dit soms "drift" genoemd[14]. De attractor kan naar een nieuwe positie verschuiven, en het oude handelsmodel stopt met werken. Om dit tegen te gaan zijn strikte risicomanagementregels nodig, die de trader dwingen om uit een verliesgevende positie te stappen zodra de oorspronkelijke premisse—de weddenschap op mean reversion—ongeldig wordt[14].
Modelrisico's zijn ook aanzienlijk. Marktneutrale strategieën gaan ervan uit dat het CAPM-model geldig is en dat bèta een correcte schatting van systematisch risico is—zo niet, dan beschermt je hedge je mogelijk niet goed wanneer de markten verschuiven[14].
Het vlindereffect in financiële systemen betekent dat zelfs de kleinste veranderingen bij de start tot grote en onverwachte gevolgen kunnen leiden[8][17]. De geringste veranderingen in invoergegevens of het model kunnen voorspellingen sterk veranderen, wat langetermijnvoorspelling bemoeilijkt[8].
Technische aspecten van implementatie
Praktische implementatie van op attractoren gebaseerde strategieën vereist serieuze technische voorbereiding. Moderne systemen gebruiken R of Python voor statistische berekeningen[18]. Algoritmes moeten in realtime werken en grote hoeveelheden marktgegevens verwerken.
Belangrijke technische componenten zijn onder meer:
Gegevensverzamelingssysteem — voor het verkrijgen van real-time koersen en historische gegevens voor backtesting.
Statistische analysemodule — voor het berekenen van cointegratie, het identificeren van attractoren en het genereren van handelssignalen.
Risicobeheersysteem — voor het beheersen van de positiegrootte, het instellen van stop-losses en het monitoren van het totale portefeuillerisico.
Order-uitvoeringsmodule — voor het automatisch plaatsen en beheren van handelsorders.
Lage latency is ook cruciaal. Bij high-frequency trading stelt reactiesnelheid traders in staat om te profiteren van nauwere spreads[14].
Conclusie: de toekomst van attractoren in handel
Het concept van attractoren in algoritmische handel is een krachtig hulpmiddel om marktgedrag te begrijpen en te voorspellen. Cointegratie is de praktische belichaming van attractoren in financiële markten, waarbij spreads tussen gerelateerde activa naar evenwichtswaarden neigen.
Moderne machine learning- en AI-technologieën openen nieuwe mogelijkheden voor het detecteren van verborgen attractoren in marktgegevens[2]. Systemen worden niet alleen in staat om vooraf geprogrammeerde regels te volgen, maar ook om zich voortdurend te verbeteren op basis van marktfeedback[2].
Het is echter belangrijk te onthouden dat financiële markten complexe adaptieve systemen zijn waarin het gedrag van deelnemers voortdurend evolueert. Attractoren kunnen verschuiven, verdwijnen of op nieuwe plaatsen verschijnen. Succesvolle handel op basis van attractoren vereist niet alleen begrip van wiskundige principes, maar ook voortdurende aanpassing aan veranderende marktomstandigheden.
Uiteindelijk zijn attractoren in HFT geen magische formule voor gegarandeerde winst, maar een hulpmiddel om marktdynamiek beter te begrijpen. Zoals elk hulpmiddel vereist het vaardige toepassing, voortdurende verbetering en gezonde scepsis ten aanzien van de eigen modellen.
Citatie
@article{soloviov2025attractorsalgotrading,
author = {Soloviov, Eugen},n title = {Attractors in HFT: When Mathematics Meets the Market},
year = {2025},
url = {https://marketmaker.cc/en/blog/post/attractors-algotrading},
version = {0.1.0},
description = {How the concept of attractors and cointegration helps build market-neutral strategies and understand market dynamics.}
}
References
- https://smart-lab.ru/blog/816882.php
- https://algoter.com/алгоритмическая-торговля/объяснение-алгоритмической-торговли/?lang=ru
- https://keldysh.ru/comma/html/ds/attractors.html
- https://habr.com/ru/articles/344674/
- https://www.ig.com/de/trading-strategien/pairs-trading-erklart-190520
- https://hudsonthames.org/an-introduction-to-cointegration/
- https://ru.wikipedia.org/wiki/Аттрактор
- https://www.mql5.com/ru/articles/15332
- https://utmagazine.ru/posts/6789-parnyy-treyding-para-akciy-korrelyaciya-kointegraciya-spreda-investicionnyy-portfel
- https://www.mql5.com/ru/forum/434802
- https://ru.wikipedia.org/wiki/Алгоритмическая_торговля
- https://ya.ru/neurum/c/nauka-i-obrazovanie/q/chto_takoe_attraktor_i_chem_on_otlichaetsya_41ce2642
- https://rusforexclub.com/articles/17-pair-trading/104-vvedenie-v-kointegratsiyu-vremennykh-ryadov
- https://en.wikipedia.org/wiki/Pairs_trade
- https://faculty.washington.edu/ezivot/econ584/notes/cointegration.pdf
- https://ya.ru/neurum/c/ekonomika-i-finansi/q/kak_attraktory_ispolzuyutsya_v_modelirovanii_d0a7f160
- https://smart-lab.ru/blog/1145333.php
- https://robotcraft.ru/Article/Details/skoring-s-kointegraciej
- https://perm.hse.ru/mirror/pubs/share/974309871.pdf
- https://utmagazine.ru/posts/6820-kointegracionnyy-podhod-k-parnomu-treydingu
Auteurs
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.