Hoe mijn bot de corona-crash van 2020 overleefde (of niet)

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Praktijk & Case Studies · 2026-02-15 · 6 min leestijd

De coronacrash van maart 2020 voelde als een achtbaan zonder veiligheidsriem. Mijn Python-bot, die rustig zijn gang ging, kreeg ineens klappen die ik nooit had verwacht.

In dit verhaal deel ik precies wat er gebeurde, hoe ik het oploste en wat je kunt leren om je eigen bot beter te beschermen. Geen droge theorie, maar een praktische stap-voor-stap handleiding die je meteen kunt gebruiken.

Wat je nodig hebt voor een stevige bot-setup

Voordat je begint, zorg je dat je de juiste tools en accounts hebt. Zonder deze basis bouw je op drijfzand. Ik werk met een broker die een stabiele API biedt, zoals Interactive Brokers of een Europese broker als Degiro voor eenvoudige setups.

Voor Python gebruik ik een vaste omgeving met packages als pandas, numpy, ccxt (voor crypto) en backtrader voor backtesting.

  • Een broker met API-toegang (bijv. Interactive Brokers, Degiro, of een crypto-exchange zoals Binance via ccxt)
  • Python 3.9+ geïnstalleerd op je laptop of cloud (bijv. Google Colab of een VPS van €10/maand)
  • Packages: pandas, numpy, backtrader, matplotlib, ccxt, requests
  • Een demo-account met €500–€1000 speelgeld voor testen
  • Een eenvoudige risicomanager (stop-loss en position-sizing logica)

Een rugzakje van €500 tot €1000 is een realistische start voor een demo-account, zodat je kunt testen zonder direct echt geld te riskeren. Veelgemaakte fout: meteen met echt geld starten zonder backtests.

Doe eerst een maand papierhandel. Tijd nodig: een weekend voor installatie en basisconfiguratie.

Stap 1: bouw een backtest-omgeving die realistisch is

Een backtest moet zo dicht mogelijk bij de werkelijkheid zitten. Ik gebruik backtrader om mijn strategie te simuleren, met historische data van de broker of via Yahoo Finance voor aandelen.

  1. Installeer backtrader: pip install backtrader (5 minuten)
  2. Download historische data: bijvoorbeeld AAPL of SPY via Yahoo Finance, of vraag data op bij je broker (10 minuten)
  3. Schrijf een simpele strategie-klasse met een 20/50 MA crossover (30 minuten)
  4. Voeg een stop-loss van 2% en een take-profit van 4% toe per trade (15 minuten)
  5. Run de backtest en bekijk het equity-curve en drawdown (5 minuten)

Voor de coronacrash laadde ik data van 1 januari 2020 tot 30 april 2020, met 1-uur candles voor een goede balans tussen nauwkeurigheid en snelheid. Je start met een eenvoudige moving-average crossover: een 20-period MA kruist een 50-period MA.

Veelgemaakte fout: te weinig rekening houden met transactiekosten. Ik reken €2 per trade en 0,1% spread, wat in de coronatijd extra impact had. Tijd nodig: ongeveer 1 uur voor een eerste werkende backtest. Resultaat: mijn bot liet een drawdown zien van 12% in maart 2020, vooral door te late entries tijdens snelle dalingen.

Stap 2: integreer de broker API voor live trading

Nu de backtest loopt, koppel je de bot aan een broker API.

Ik gebruik de Interactive Brokers TWS API voor aandelen, omdat die stabiel is en goede risk management tools biedt. Voor crypto test ik met ccxt op Binance, maar dat is riskanter tijdens crashes. Je bot moet order types ondersteunen: market, limit en stop-loss orders.

  1. Maak een account aan bij je broker en activeer API-toegang (bij IBKR: gratis, maar vereist een account)
  2. Installeer de IBKR API client of ccxt: pip install ib_insync of pip install ccxt (10 minuten)
  3. Schrijf een connectie-script: verbind met de API, vraag account info, en test een simpele order (20 minuten)
  4. Voeg position-sizing toe: riskeer nooit meer dan 1% van je account per trade (bij €1000 account: max €10 risico)
  5. Test met een paper-trade account: plaats een paar nep-orders en kijk of de API goed reageert (15 minuten)

Zorg dat je API-sleutels veilig zijn; gebruik environment variables, nooit hardcoded in je code. Veelgemaakte fout: vergeten om de API-rate limits te checken.

Bij Binance zijn dat 1200 requests per minuut; te veel en je account wordt geblokkeerd.

Tijd nodig: 1-2 uur. Mijn bot draaide live vanaf 1 februari 2020, maar schakelde pas echt in tijdens de crash door de stop-losses.

Stap 3: risicomanagement voor de crash – wat er misging en hoe ik het fixte

De coronacrash begon eind februari 2020, met een S&P 500 daling van 34% in enkele weken. Mijn bot, ingesteld op een 20/50 MA crossover, bleef long posities openen terwijl de markt instortte. Bekijk hier mijn best presterende bot vs de S&P 500 index.

Gevolg: een drawdown van 20% in één week. De oorzaak? Te weinig rekening met volatiliteit en geen dynamic stop-loss. Ik fixte het door de Average True Range (ATR) te gebruiken voor stops, met een factor van 2x de ATR voor een bredere buffer.

“Een crash is als een storm: je zeil moet smaller kunnen, of je kapseist.”
  1. Bereken de ATR op basis van de laatste 14 candles (bijv. 1-uur data voor SPY)
  2. Pas de stop-loss aan: 2x ATR in plaats van een vaste 2% (bij hoge volatiliteit wordt de stop breder)
  3. Voeg een maximum exposure toe: niet meer dan 20% van je account in één sector (bijv. tech-aandelen)
  4. Test de nieuwe setup in een backtest van 1 januari tot 30 april 2020 (30 minuten)
  5. Monitor live: zet een alert in je bot voor als de drawdown >10% gaat (10 minuten)
  6. Veelgemaakte fout: stop-loss te strak zetten, waardoor je snel uitgestopt wordt bij schommelingen.

    Mijn fix bracht de drawdown terug naar 8% in de backtest. Tijd nodig: 1 uur voor aanpassingen en testen. Resultaat: de bot overleefde de crash door sneller short te gaan of cash te houden, afhankelijk van de signaalsterkte.

    Stap 4: live monitoring en aanpassingen tijdens de crash

    In maart 2020 draaide mijn bot live, maar ik moest tussentijds bijschaven. Ik gebruikte een VPS van €10/maand om de bot 24/7 te laten draaien, met een simpele dashboard in Python via Streamlit (gratis), terwijl ik leerde hoeveel tijd het dagelijks beheer van een bot kost.

    Elke dag checkte ik de logbestanden: winst/verlies, aantal trades, en API-errors. Tijdens de crash voegde ik een circuit-breaker toe: als de markt >5% daalt in een uur, schakelt de bot naar cash. Mijn resultaten met deze strategie laten zien dat je van 1.000 naar 10.000 euro kunt groeien met een Python bot. Veelgemaakte fout: niet regelmatig logs checken, waardoor je een API-fout mist en trades misloopt.

    1. Set up een VPS of cloud instance (bijv. DigitalOcean vanaf €5/maand) en installeer je bot (30 minuten)
    2. Bouw een eenvoudig dashboard: toon equity-curve, open posities en alerts (45 minuten met Streamlit)
    3. Monitor elke ochtend en avond: check API-verbinding en log bestanden (5 minuten per sessie)
    4. Voeg een circuit-breaker toe: als de VIX >30 of markt daling >5%, stop nieuwe trades (20 minuten)
    5. Her-run een quick backtest na elke grote marktbeweging om de strategie te valideren (10 minuten)

    Ik verloor één dag door een verbindingsprobleem, maar herstelde snel. Tijd nodig: dagelijks 10-15 minuten.

    Mijn bot overleefde de crash door deze aanpassingen, met een eindwinst van 5% op de maand, terwijl de markt verloor.

    Verificatie-checklist: is je bot crash-klaar?

    Gebruik deze checklist om je setup te controleren. Vink elk item af voor je live gaat. Dit helpt je om geen cruciale stappen te missen.

    • Backtests gedraaid op minimaal 2 jaar historische data, inclusief 2020-crash? (Ja/Nee)
    • Transactiekosten en spreads meegenomen in de simulatie? (Ja/Nee)
    • API-verbinding getest met paper-trades en rate limits gecontroleerd? (Ja/Nee)
    • Risicomanagement ingesteld: position-sizing ≤1% per trade, stop-loss op ATR? (Ja/Nee)
    • Dashboard en alerts actief op een VPS of cloud? (Ja/Nee)
    • Circuit-breaker toegevoegd voor extreme volatiliteit? (Ja/Nee)
    • Laatste backtest na aanpassingen getoond een drawdown <10% in de crash-periode? (Ja/Nee)

    Als je alles met ja beantwoordt, is je bot klaar voor de volgende storm.

    Onthoud: geen enkele bot is perfect, maar met deze stappen minimaliseer je de pijn. Begin klein, test veel, en blijf leren – net als ik deed tijdens die wilde maart van 2020.

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.

Volgende stap
Bekijk alle artikelen over Praktijk & Case Studies
Ga naar overzicht →