De invloed van 'Gap Risk' bij overnight posities

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Risicomanagement & Portfolio Protectie · 2026-02-15 · 8 min leestijd

Je staat net met een mooie long positie in Tesla, je sluit je laptop en gaat slapen.

De volgende ochtend open je je broker app en je ziet een gat. Een gap. Je positie is direct €800 in de min. Geen waarschuwing, geen kans om te reageren.

Dit is gap risk, en het is de nachtmerrie van elke algoritmische trader die overnight posities aanhoudt. Gap risk is het gevaar dat de marktprijs van een asset abrupt verschuift tussen het sluiten van de markt en het openen de volgende dag.

Die beweging gebeurt zonder dat jij kunt handelen, want de beurs is dicht.

Je broker accepteert geen orders, je bot staat stil, en je exposure blijft volledig open.

Wat is gap risk precies?

Een gap is een sprong in de koers zonder handel tussen de slot- en openingsprijs. Je ziet het als de slotkoers op €150 ligt en de openingskoers de volgende ochtend op €142.

Die €8 verschil is je gap risk. Je verlies is direct gerealiseerd, ook al had je een stop-loss order klaarstaan.

Stel je gebruikt een Python bot die een stop-loss op €148 zet. In normale uren zou je positie bij €148 sluiten. Maar als de markt om 09:30 uur opent op €142, is je stop-loss ineffective.

Je broker voert hem uit bij de openingskoers, waarschijnlijk rond €142, en je verliest €8 per aandeel in plaats van €2. Gap risk speelt vooral bij overnight posities, weekenden en feestdagen. Het is groter bij aandelen met lage volumes, bij earnings releases en bij macro-cijfers zoals CPI of FED-besluiten. Bij indices en futures zie je het ook, vooral na nieuws dat de markt stillegt.

Waarom dit voor jouw bot en broker cruciaal is

Veel algoritmische strategieën zijn gebouwd voor intraday. Ze rekenen op constante liquiditeit en lage spread.

Overnight verandert dat plaatje. Je broker kan je positie niet meer beschermen met een dynamische stop.

De API blijft wel beschikbaar voor het ontvangen van prijzen, maar orders worden pas verwerkt bij de openingsauction. Dat betekent dat je risico op een grotere slip toeneemt. Brokerkeuze maakt uit.

Bij Interactive Brokers kun je wel nachtelijke limietorders instellen, maar die worden alleen uitgevoerd als de openingsprijs binnen je limiet valt. Bij DEGIRO of eToro heb je vaak minder flexibiliteit. Als je bot draait op een API van een broker met beperkte order types, is je bescherming beperkt. Bij futures via brokers zoals Tradovate of NinjaTrader kun je wel nachtelijke stops instellen, maar die zijn onderhevig aan de openingsauction en kunnen alsnog gappen.

Backtesting is waar je dit risico leert kennen. Een Python backtest zonder gaps toont vaak te mooie resultaten.

Je bot lijkt stabiel, maar in de echte markt gaat hij kapot bij de eerste overnight move. Simuleer daarom altijd met historische data die slot- en openingsprijzen meeneemt, inclusief de gaps van earnings en macro-uitkomsten.

Hoe gap risk werkt: de mechanismen achter de schermen

De markt is niet continu. In Europa sluit de beurs om 17:30 uur en opent om 09:00 uur.

In de VS sluit de markt om 22:00 uur Nederlandse tijd en opent om 15:30 uur. In die uren gebeurt er van alles: nieuws, orders in de wacht, en prijsaanpassingen in andere zones. De openingskoers is vaak een gewogen gemiddelde van orders die tijdens de nacht zijn binnengekomen.

Bij aandelen zie je de grootste gaps na earnings. Stel een aandeel sluit op €100 en rapporteert een winststijging van 15%.

De volgende ochtend opent het op €110. Je short positie wordt direct €10 per aandeel minder waard. Bij futures zie je dit ook na CPI-cijfers: een kleine verandering in inflatie kan een indexfuture met 30 punten doen gappen.

Dat is bij een E-mini S&P 500 futures contract van €50 per punt een direct verlies van €1.500 per contract. Een specifiek mechanisme is de opening auction.

Orders die ’s nachts zijn geplaatst worden gebundeld en de opening prijs wordt bepaald door vraag en aanbod.

Als er een groot imbalance is, beweegt de prijs ver. Je stop-loss order, als die al is uitgevoerd, krijgt deze openingskoers. Het verschil tussen je stop-niveau en de openingskoers is de slip door gap risk. Er is ook modelmatige impact.

Risicomanagementmodellen zoals VaR (Value at Risk) meten het risico op een dagbasis. Overnight gaps zitten vaak buiten de standaard verdeling die modellen gebruiken.

Een 99% VaR kan ’s nachts makkelijk 3% verlies tonen terwijl je model 1% verwacht. Backtests die geen gaps meenemen, onderschatten dit.

Modellen en prijsindicaties voor gap risk

Je kunt gap risk kwantificeren met een eenvoudig model. Pak historische slot- en openingsprijzen van de afgelopen 2 jaar.

Bereken voor elk aandeel of future het gemiddelde gap in procenten en de standaardafwijking. Voor een populair aandeel zoals ASML zie je soms gaps van 2% tot 4% na earnings. Voor small-caps kan dat oplopen tot 8% of meer.

Voorbeeld: je houdt 100 aandelen ASML. De slotkoers is €750.

Historisch gemiddelde gap na earnings is 2,5% met een standaardafwijking van 1,2%. Je verwacht dus een opening tussen €731 en €769. Als je een stop-loss op €740 zet, is de kans reëel dat je openingskoers lager is. Je risico per aandeel is dan €11 in plaats van €10.

Over 100 aandelen is dat €1.100 extra risico op één night. Bij futures werkt het anders.

Neem een DAX future met een notering van €18.000. Een typische overnight gap na ECB-nieuws is 0,5% tot 1%. Een 1% gap is 180 punten.

Bij een tick-size van €1 per punt is dat €180 per contract.

Als je met 5 contracts trade, is je gap risico €900. Je kunt dit afdekken met een optie of een bredere stop, maar dat kost premie en performance. Er zijn modellen die rekening houden met de kans op een extreme gap.

Gebruik een historisch percentiel: de 95e percentiel gap. Voor ASML is dat bijvoorbeeld 5%.

Je kunt je position sizing hierop baseren. Als je risicobudget per trade €2.000 is, en de 95e percentiel gap is €37,50 per aandeel (5% van €750), dan beperk je je grootte tot 53 aandelen. Zo blijft je risico binnen de perken, ook bij een extreme move.

Praktische tips voor algoritmische traders

  • Meet gap risk voor elke asset in je portefeuille. Exporteer de historische slot- en openingskoersen via je broker API en bereken gemiddelde en percentielen. Gebruik Python libraries zoals pandas voor deze berekening.
  • Pas je position sizing aan op overnight exposure. Verminder je grootte met 30% tot 50% voor posities die je overnight houdt. Als je normaal 200 aandelen trade, hou er dan 100 tot 140 overnacht.
  • Gebruik brede stops voor overnight posities. Een stop op 3% onder de slotkoers is realistischer dan 1%. Je betaalt met extra slip, maar je voorkomt een complete wipeout bij een gap.
  • Overweeg opties als hedge. Een put met een delta van 0,30 beschermt je deels tegen een gap. Voor ASML kost een week-put met een strike op €720 circa €5 tot €10 per aandeel. Dat is een premie van 0,7% tot 1,3%. Je betaalt dit voor bescherming, niet voor rendement.
  • Kies je broker zorgvuldig. Interactive Brokers biedt nachtelijke limietorders en brede order types. DEGIRO en eToro zijn beperkter. Voor futures zijn Tradovate en NinjaTrader geschikt, maar test je stops tijdens de openingsauction.
  • Backtest met gaps. Gebruik Python code die historische gaps toevoegt aan je data. Simuleer earnings-dagen en macro-cijfers. Vergelijk de resultaten met en zonder gaps om je echte drawdown te zien.
  • Monitor nieuws en kalender. Plan je overnight posities rond earnings, CPI, FED-besluiten en ECB-vergaderingen. Soms is het slimmer om voor het nieuws te sluiten en na de opening opnieuw in te stappen.
  • Test je bot op de openingsauction. Laat je bot een paar keer live draaien met een kleine size en kijk hoe de opening uitpakt. Pas de parameters aan op basis van de slip die je ziet.
Gap risk is de onzichtbare val voor elke algoritmische trader die denkt dat een stop-loss alles oplost. Overnight moet je anders denken: smaller positioneren, bredere stops en soms een hedge.

Een concrete aanpak: als je bot een trendvolgende strategie draait op aandelen, voeg dan een overnight filter toe. Sluit posities die meer dan 2% in de plus staan voor het sluiten van de markt, of verklein ze tot een derde.

Zo pak je winst en beperk je gap exposure. Als je een mean-reversion bot draait, zorg dan dat je geen overnight posities houdt op assets met een hoog earnings-risico. Bescherm je bot tegen extreme marktbewegingen en denk ook aan je broker fees en spread.

Een bredere stop betekent meer slip, en dat telt op. Als je spread gemiddeld €0,05 is en je handelt 1.000 aandelen, is dat €50 per trade, waarbij je via de juiste position sizing je risico per trade beheert.

Voeg daar een gap slip van €0,20 per aandeel aan toe en je zit op €250 extra. Je bot moet deze kosten meenemen in de backtest. Als je met Python werkt, bouw een eenvoudig dashboard dat je gap risico per positie toont.

Laat zien: slotkoers, verwachte openingsrange, stop-niveau en verwachte slip. Gebruik matplotlib of streamlit voor een visueel overzicht.

Zo beslis je elke avond met feiten, niet met gevoel. Sluit je nacht rustig af.

Check je kalender, verklein je grootte als er nieuws aankomt, en zet je stops breder. De volgende ochtend open je je broker app en zie je misschien een gap, maar jij bent voorbereid. Je verlies is kleiner, je rust groter, en je bot blijft langer in de race.

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.