Hoe je bot moet reageren op extreme marktvolatiliteit (VIX)
Stel je voor: de markt schiet als een achtbaan omhoog en omlaag, en jij zit achter je scherm met een bak koffie en een bot die je hebt gebouwd in Python.
Je wilt niet dat je bot in paniek raakt zodra de VIX (de angstindex) door het dak gaat. Je wilt een bot die kalm blijft, slim schakelt en jouw risico beheerst. In dit stuk lees je hoe je dat doet, zonder poespas, met concrete stappen die je vandaag nog kunt uitvoeren.
Wat je nodig hebt voordat je begint
Je bot is pas sterk als je infrastructuur en data op orde zijn. Zonder goede data en snelle uitvoering loop je achter de feiten aan, zeker bij extreme volatiliteit.
- Python-omgeving: werk met Python 3.11, minimaal 8 GB RAM, SSD-schijf voor snelle data-loading. Gebruik poetry of conda voor dependencies.
- Backtesting-stack: Backtrader of Lean (QuantConnect) voor Python-backtesting. Backtrader is lichtgewicht en goed voor snelle iteraties.
- Broker-API: Interactive Brokers (TWS API), of als je in crypto zit: Binance Futures API. Bij IBKR betaal je ongeveer €0–€10 per maand voor data, afhankelijk van je accounttype.
- Marktdata: VIX-index data via CBOE (gratis CSV) of via je broker. Voor aandelen: tickdata van je broker of een dienst als Polygon.io (vanaf ongeveer $20–$50 per maand voor basale plannen).
- Risicomanagement: Een aparte risico-module in je bot, met limieten per dag en per positie. Bijvoorbeeld max 2% risico per trade en max 10% totaal per dag.
- Monitoring: Een dashboard met Grafana of een eenvoudige Telegram-bot die je waarschuwt. Kost je niets extra, maar levert gouden inzichten op.
Hieronder vind je wat je echt nodig hebt, inclusief concrete opties en prijzen. Zorg dat je een aparte account bij je broker gebruikt voor live-tests. Begin met een klein kapitaal, bijvoorbeeld €500–€2000, en schaal pas op als je bot stabiel loopt.
Stap 1: Monitor de VIX in real-time
Je bot moet weten wanneer de markt nerveus wordt. De VIX is je kompas: boven de 20 is het onrustig, boven de 30 is het echt heet, en boven de 40 is het extreem.
- Haal elke minuut de VIX-waarde op via de CBOE-CSV of via je broker-API. Sla de laatste 10 waarden op voor een korte trend.
- Bereken een eenvoudige moving average (10 minuten) en kijk of de VIX > 20, > 30, of > 40 ligt.
- Sla de VIX-status op in je state-object: “normaal”, “verhoogd”, “hoog”, “extreem”.
- Log elke statuswijziging met een timestamp, zodat je later kunt backtesten wat er gebeurde.
Je bot moet deze niveaus continu uitlezen en daarop reageren. Maatvoering: gebruik een polling-interval van 60 seconden.
Zet een timeout van 5 seconden per request, zodat je bot niet blokkeert bij een haperende API.
Tijdsindicatie: deze stap zet je in 30–60 minuten op, inclusief testen van je API-toegang.
Veelgemaakte fout: te vaak pollen (elke seconde) leidt tot rate-limits en onnodige kosten. Te weinig pollen (elke 5 minuten) geeft vertraging bij snelle VIX-sprongen.
Stap 2: Schaal posities en stoplosses dynamisch bij hoge VIX
In rustige markten neem je grotere posities en smallere stops. Pas je strategieën voor een bull markt vs een bear markt toe: bij hoge VIX moet je bot automatisch kleiner instappen en wijder stoppen, om ‘noise’ te weren.
- Definieer een basispositie-grootte, bijvoorbeeld 100 aandelen bij VIX < 20. Bij VIX 20–30: 50 aandelen, bij VIX 30–40: 30 aandelen, bij VIX > 40: 15 aandelen.
- Verbreed je stoploss proportioneel: basisstop 0,5% bij VIX < 20, 1,0% bij VIX 20–30, 1,5% bij VIX 30–40, 2,0% bij VIX > 40.
- Pas je take-profit aan: bij hogere VIX pak je sneller winst. Basis TP 1,0% bij VIX < 20, 0,8% bij VIX 20–30, 0,6% bij VIX 30–40, 0,4% bij VIX > 40.
- Voeg een ‘max open posities’ toe: 5 posities bij VIX < 20, 3 bij VIX 20–30, 2 bij VIX 30–40, 1 bij VIX > 40.
Zo voorkom je dat je bot wordt uitgestopt voordat de trend echt begint. Maatvoering: risico per trade max 1% van je account, maar bij VIX > 40 verlaag je naar 0,5%.
Tijdsindicatie: implementatie duurt 1–2 uur, inclusief unit-tests voor elke VIX-band.
Veelgemaakte fout: stoplosses te strak zetten bij hoge VIX leidt tot valse uitstopten door spread en slippage. Zorg dat je stop rekening houdt met de gemiddelde spread van je instrument.
Stap 3: Beperk orderuitvoering en handel op veilige momenten
Extreme volatiliteit betekent wijdere spreads, hogere slippage en soms orderrejects. Je bot moet slimmer orderen en niet klakkeloos marketorders blijven sturen.
- Gebruik limietorders in plaats van marketorders, met een limietprijs die 0,1–0,3% gunstiger is dan de laatste bid/ask.
- Splits grote orders op in kleinere slices (bijvoorbeeld 3–5 slices) met 2–5 seconden tussen elke slice, om de markt niet te overspoelen.
- Voeg een ‘quiet hours’-regel toe: vermijd de eerste 5 minuten na grote macro-cijfers (CPI, FOMC) en de laatste 10 minuten van de sessie.
- Sluit posities automatisch als de spread boven een drempel komt, bijvoorbeeld 0,3% voor aandelen en 0,1% voor grote crypto-pairs.
Maatvoering: zet een order-timeout van 2 seconden; annuleer en probeer opnieuw als een order niet wordt uitgevoerd.
Tijdsindicatie: 1 uur voor het aanpassen van je orderlogica en het testen met historische slippage-data.
Veelgemaakte fout: vergeten om je broker-kosten mee te nemen bij het berekenen van je limiet. Bij IBKR of Binance tellen fees snel op, vooral bij daghandel.
Stap 4: Risicomanagement: daglimieten en emergency-shutdown
Je bot moet een noodrem hebben. Bij extreme bewegingen wil je dat hij automatisch sluit en niet door blijft handelen terwijl jij even niet kijkt.
- Stel een max dagverlies in: 5% van je account. Bij overschrijding stopt de bot volledig en worden open posities gesloten.
- Voeg een drawdown-limiet toe: na 3% verlies op een dag schakel je over naar ‘paper trading’ voor de rest van de dag.
- Bouw een emergency-shutdown knop in je bot, bijvoorbeeld via Telegram-commando’s of een API-call. Zorg dat deze direct alle posities sluit en de bot pauzeert.
- Houd een cash-buffer aan van minimaal 20% van je account. Gebruik deze buffer om te voorkomen dat je bij margin calls onder druk komt te staan.
Zet harde limieten die niet te omzeilen zijn. Maatvoering: risicopercentage per trade max 1–2%, totaal risico per dag max 5–10%.
Tijdsindicatie: 1–2 uur om limieten in te bouwen en te testen met een simulator.
Veelgemaakte fout: een emergency-shutdown vergeten testen, waardoor je in een live-situatie niet snel genoeg kunt reageren.
Stap 5: Backtesten en live-forwardtesten
Je bot moet getest zijn op extreme VIX-momenten. Gebruik historische data van 2008, 2010 Flash Crash, 2018, en 2020.
- Download VIX- en aandelendata voor de genoemde periodes. Gebruik je broker-data of een dienst als Polygon.io.
- Simuleer je bot in Backtrader of Lean met de VIX-banden en dynamische stops. Leg de resultaten per VIX-band vast.
- Voer een walk-forward test uit: train op de eerste 70% van de data, test op de laatste 30%.
- Start een live-forwardtest met een klein bedrag (€500–€1000) en vergelijk de resultaten met je backtest. Pas je parameters bij waar nodig.
Zo zie je hoe je bot reageert onder druk. Maatvoering: test minimaal 10.000 trades per strategie, met een focus op VIX > 30.
Tijdsindicatie: backtesten duurt 2–4 uur, forwardtesten minimaal 1–2 weken voor bruikbare resultaten.
Veelgemaakte fout: te optimistische backtests zonder rekening te houden met slippage en fees. Zorg dat je deze kosten expliciet modelleert.
Stap 6: Monitoring en aanpassingen na livegang
Een bot is geen set-and-forget systeem. Zeker bij extreme volatiliteit moet je blijven monitoren en bijsturen.
- Check elke ochtend je dashboard: VIX-standen, winst/verlies, open posities, en eventuele waarschuwingen.
- Bekijk wekelijks je performancemetrics: winrate, gemiddelde winst/verlies, drawdown, en slippage per order.
- Pas je parameters bij als de markt structureel verandert, bijvoorbeeld als de VIX langer boven de 25 blijft hangen.
- Houd een logboek bij van elke wijziging, inclusief reden en resultaat. Dit helpt je bij het verfijnen van je strategie.
Zet een routine op die je dagelijks of wekelijks volgt. Maatvoering: stel een wekelijkse review in van 30–60 minuten, met een vaste checklist.
Tijdsindicatie: 1 uur om je dashboard in te richten en de eerste checks uit te voeren.
Veelgemaakte fout: te snel overschakelen naar een nieuwe strategie zonder voldoende data te verzamelen. Geef je aanpassingen tijd om te bewijzen.
Verificatie-checklist
Gebruik deze lijst om te controleren of je bot klaar is voor extreme marktvolatiliteit. Een grid bot instellen voor een zijwaartse markt is een slimme eerste stap voordat je live gaat.
- VIX-monitoring actief met minuutpolling en status ‘normaal/verhoogd/hoog/extreem’.
- Dynamische positiegrootte en stoploss per VIX-band geïmplementeerd.
- Limietorders en order-slicing ingeschakeld; quiet hours gedefinieerd.
- Daglimieten en emergency-shutdown getest en werkend via API of Telegram.
- Backtests uitgevoerd op 2008, 2010, 2018 en 2020; resultaten per VIX-band vastgelegd.
- Live-forwardtest draait minimaal 1–2 weken met klein kapitaal.
- Dashboard en monitoring actief; wekelijkse review gepland.
- Logboek bijgehouden met wijzigingen en resultaten.
Met deze stappen bouw je een bot die niet alleen meepakt in rustige markten, maar ook koel blijft als de VIX explodeert. Je houdt controle, beperkt verliezen en blijft leren. Blijf kritisch kijken naar je strategie en dat is precies wat je wilt als je serieus aan de slag gaat met algoritmische trading.
