Backtesten tijdens periodes van hoge volatiliteit (zoals 2020)

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Backtesting & Validatie · 2026-02-15 · 5 min leestijd

Stel je voor: het is maart 2020. De markten exploderen. De VIX schiet omhoog naar 80, de S&P 500 zakt in één week 30% en je algoritmische bot draait op volle toeren.

Je backtest-resultaten zien er prachtig uit op rustige data, maar nu? Het voelt alsof je met een stuur zonder feedback rijdt.

Dit is het moment waarop backtesting niet alleen een exercitie is, maar een noodzaak. Je moet weten of je Python-bot het overleeft zonder je account leeg te trekken.

Wat is backtesting tijdens hoge volatiliteit?

Backtesting tijdens hoge volatiliteit betekent dat je je handelsstrategie test op marktperiodes waarin prijzen wild bewegen.

Denk aan de coronacrash van 2020, de flash crash van 2010 of de crypto-uitverkoop in 2022. Je simuleert hoe je bot zou hebben gepresteerd met echte data uit die periodes.

Je gebruikt historische data van brokers zoals Interactive Brokers of LMAX, waarbij je let op slippage, spread en uitvoeringssnelheid. Een backtest die alleen maar stabiele markten ziet, is als een autorijexamen op een lege parkeerplaats: leuk, maar nutteloos voor de echte wereld. Het doel is simpel: ontdekken of je risicomanagement en entry/exit-logica overeind blijven als de markt ineens 5% per uur beweegt in plaats van 0,5%.

Waarom dit cruciaal is voor je bot

Veel traders denken: “Mijn bot werkt prima, want hij draait al drie maanden.” Maar zonder testen op extreme data, loop je het risico dat je bot faalt zodra de markt een onverwachte wending maakt.

Tijdens de coronacrash zagen we dat market-making bots die niet waren ingesteld op hoge spreads, opeens enorme verliezen leden omdat hun orderboek leeg werd getrokken. Je broker API (bijvoorbeeld die van Binance of Alpaca) stuurt in periodes van hoge volatiliteit trager af, of je krijgt “rate limits” te zien. Een backtest moet deze vertragingen simuleren, anders denkt je bot dat hij altijd perfect kan instappen. Een voorbeeld: tijdens de crash van 2020 zagen we dat een eenvoudige moving-average crossover-strategie op de S&P 500 een drawdown van 40% had, terwijl die in rustige jaren maar 10% was. Als je dat niet had getest, had je je bot in januari 2020 uitgeschakeld uit angst, of erger: had hij je account leeggetrokken.

Hoe je een backtest opzet voor hoge volatiliteit

Begin met de juiste data. Download tick-data of 1-minuut candles voor de periode maart-april 2020.

Gebruik een Python-omgeving met libraries als pandas, backtrader of zipline. Zorg dat je data van een broker haalt die de werkelijke volatiliteit weerspiegelt, niet een gladgestreken dataset.

Voeg realistische kosten toe. In normale tijden is een spread van 0,1% normaal; in 2020 kon die oplopen naar 0,5% of meer. Je bot moet deze extra kosten meenemen in elke simulatie.

Gebruik een script dat de spread dynamisch berekent op basis van de marktvolatiliteit. Simuleer vertragingen. In je backtest kun je duizenden parameters razendsnel doorrekenen; voeg daarnaast een willekeurige vertraging van 50-200 ms toe aan elke order om de werkelijke API-latentie te benaderen. Voeg ook slippage toe: bij een marktorder in een volatiele markt kan je uitvoeringsprijs 0,2% afwijken van je verwachte prijs.

Test verschillende tijdsframes en valideer je strategie met de permutation test. Een strategie die goed werkt op 1-uur candles, kan falen op 5-minuut candles tijdens een crash.

Draai je backtest op meerdere timeframes om te zien waar de strategie het beste presteert onder druk, en begrijp waarom live resultaten soms afwijken.

Modellen en prijsindicaties voor volatiele markten

Er zijn verschillende modellen die je kunt gebruiken om je bot aan te passen aan hoge volatiliteit. Een populaire aanpak is het gebruik van een volatiliteitsfilter: je schakelt handel uit als de VIX boven een bepaalde drempel komt, bijvoorbeeld 30. Dit voorkomt dat je bot blijft traden in een markt die te onvoorspelbaar is.

Een andere optie is een dynamische stop-loss. In plaats van een vaste stop van 1%, kun je de stop baseren op de ATR (Average True Range).

Als de ATR stijgt naar 2% (zoals in 2020), pas je je stop aan naar 3% om uit de markt te worden gestopt voordat het verlies te groot wordt. Prijsindicaties kun je afleiden uit optiepremies.

De VIX is een directe maatstaf voor verwachte volatiliteit. Als je toegang hebt tot optiedata via een broker zoals Interactive Brokers, kun je de implied volatility gebruiken om je handelsfrequentie aan te passen. Een hoge implied volatility betekent dat je beter kleinere posities kunt nemen.

Een concreet voorbeeld: tijdens de crash van 2020 zagen we dat de implied volatility op S&P 500 opties steeg naar 80.

Een bot die was ingesteld om 10% van het account per trade te riskeren, zou een drawdown van 50% hebben gezien. Door het risico per trade te verlagen naar 2%, bleef de drawdown beperkt tot 15%.

Een backtest zonder slippage en spreads is als een racewagen testen op een simulator: leuk, maar je weet niet hoe hij rijdt op een echte baan.

Praktische tips voor je backtest

  1. Gebruik meerdere dataleveranciers. Vergelijk data van je broker met een onafhankelijke bron zoals Tiingo of Polygon om zeker te zijn dat je geen outliers mist.
  2. Test op extreme dagen. Voeg specifieke data toe van dagen zoals 16 maart 2020, toen de S&P 500 12% daalde. Bekijk hoe je bot reageert op een enkele extreme beweging.
  3. Voeg een risicomanagement-laag toe. Implementeer een maximum dagelijks verlies (bijvoorbeeld 5%) en stop de handel als dit wordt bereikt. Test of dit je bot beschermt tijdens een crash.
  4. Monitor de API-limieten. Sommige brokers beperken het aantal requests per minuut. Test of je bot niet te veel orders plaatst tijdens volatiele periodes, wat kan leiden tot blokkades.
  5. Gebruik Python voor flexibiliteit. Met libraries als backtrader of vectorbt kun je eenvoudig scenario’s toevoegen, zoals een plotselinge spread-vergroting of een vertraagde orderuitvoering.

Als je deze stappen volgt, bouw je een bot die niet alleen in rustige tijden werkt, maar ook het hoofd biedt aan de chaos van een marktcrash. Je backtest wordt een betrouwbare weerspiegeling van de echte wereld, en je krijgt meer vertrouwen in je strategie.

Onthoud: hoge volatiliteit is niet je vijand, het is een test. Een bot die alleen in stabiele markten overleeft, is geen bot die je wilt vertrouwen met je geld.

Test hem op de extreme data, pas je risicomanagement aan en je zult klaar zijn voor de volgende crash.

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Over Alex de Vries

Alex is een ervaren quantitatief analist en Python-ontwikkelaar die complexe trading concepten vertaalt naar begrijpelijke, praktische handleidingen voor zowel beginners als gevorderden.