Het gebruik van niet-gecorrigeerde data voor dividenden in backtests

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Financiële Data & Kwaliteit · 2026-02-15 · 7 min leestijd

Stel je voor: je hebt een prachtige backtest gedraaid in Python met een bot die op de DAX index handelt. Je resultaten zien er spectaculair uit, met een winst van 15% in drie maanden. Maar dan kijk je naar de data die je hebt gebruikt en je beseft dat je dividenduitkeringen volledig hebt genegeerd.

Dat is een pijnlijke realiteit voor veel algoritmische traders. In de wereld van backtesting en risicomanagement is de kwaliteit van je data allesbepalend.

Het correct verwerken van dividendgegevens is niet alleen een technisch detail; het is het verschil tussen een realistische strategie en een illusie.

Wat betekent niet-gecorrigeerde data voor dividenden?

Wanneer we praten over niet-gecorrigeerde data, bedoelen we prijsgegevens die niet zijn aangepast voor dividenduitkeringen. Stel, een aandeel sluit op €50 en keert €1 dividend uit.

De volgende dag opent het aandeel theoretisch op €49. Bij niet-gecorrigeerde data zie je nog steeds de €50 als openingskoers, alsof er niets is gebeurd.

Deze data is handig voor analyse op de korte termijn, maar het kan je strategie flink vertekenen als je niet oppast. Waarom is dit relevant voor jouw backtests? Omdat je bot in een echte broker-omgeving wel degelijk met deze correcties te maken krijgt.

Als je een long-strategie test op een aandeel dat veel dividend betaalt, zoals Unilever of Shell, en je gebruikt niet-gecorrigeerde data, dan lijk je veel meer winst te maken dan in de praktijk mogelijk is. De bot denkt dat de koers stabiel blijft, terwijl de waarde in werkelijkheid daalt na een dividenduitkering. Denk aan de S&P 500 of de AEX. Deze indices bestaan uit aandelen met regelmatige dividendstromen.

Als je een Python-script bouwt voor een trading bot die op deze indices handelt, en je laadt data van een broker-API die niet is gecorrigeerd, dan mis je een cruciaal stuk van de puzzel.

Je backtest resultaten zullen er fantastisch uitzien, maar in de live trading omgeving loop je het risico op flinke teleurstellingen.

Waarom is dit zo belangrijk voor algoritmische trading?

Algoritmische trading draait om precisie. Je bot moet beslissingen nemen op basis van accurate data. Als je backtest data gebruikt die niet de werkelijke prijsbewegingen reflecteert, bouw je een strategie op een fundering van zand.

Stel je voor dat je een mean-reversion strategie test op een aandeel dat elk jaar 3% dividend uitkeert.

Zonder correctie lijkt de koers elke keer terug te keren naar het gemiddelde, maar in werkelijkheid daalt de koers structureel door de dividendbetalingen. Een ander groot risico is het verkeerd inschatten van je risicomanagement.

Als je een stop-loss instelt op basis van niet-gecorrigeerde data, kan deze in de live markt veel eerder worden getriggerd. Stel je bot koopt een aandeel op €100 en zet een stop-loss op €95. In de backtest lijkt dit veilig, maar na een dividenduitkering opent het aandeel op €97.

Je stop-loss wordt direct geraakt, terwijl je backtest dit scenario nooit heeft gezien.

Broker-APIs zoals die van Interactive Brokers of DEGIRO bieden vaak beide soorten data aan. Het is aan jou als trader om te kiezen welke je gebruikt. Voor het ontwikkelen van een realistische trading bot is gecorrigeerde data essentieel. Niet-gecorrigeerde data kan nuttig zijn voor analyse op de korte termijn, maar voor backtesting van een langetermijnstrategie is het een valkuil.

Hoe werkt dividendcorrectie in de praktijk?

Stel, je hebt een Python-script dat historische data ophaalt via de API van je broker.

Je wilt een backtest draaien op een aandeel zoals Philips. Je laadt de data en ziet dat de koers op 1 juni €40 is en op 2 juni €41. Zonder context lijkt het aandeel te zijn gestegen. Maar als je de dividendhistorie erbij pakt, zie je dat er op 2 juni een dividend van €0,50 is uitgekeerd.

De werkelijke koerscorrectie was dus van €40 naar €39,50, niet naar €41. Om dit op te lossen, moet je de data aanpassen.

In Python kun je libraries zoals yfinance gebruiken en missende data interpoleren met pandas om je datasets voor backtesting te optimaliseren.

Yfinance biedt bijvoorbeeld de optie om adjusted close prijzen op te halen, waarbij dividenden en splitsingen zijn verwerkt. Voor een broker-API zoals die van Interactive Brokers moet je soms handmatig de dividenddata toevoegen. Dit doe je door de ex-dividenddatum te vinden en de koers aan te passen met het dividendbedrag.

Er zijn ook specifieke tools voor algoritmische trading, zoals Backtrader of Zipline, die ingebouwde ondersteuning bieden voor dividendcorrectie. In Backtrader kun je een feed toevoegen die de dividenddata meeneemt in de berekening.

Dit zorgt ervoor dat je bot realistische resultaten ziet, inclusief de impact van dividend op je portefeuille. Stel je test een dividend-strategie op een aandeel dat €2 dividend per jaar betaalt; zonder correctie lijkt je rendement 10% hoger dan in de praktijk. Een praktisch voorbeeld: je bouwt een bot die short gaat op aandelen met een hoog dividendrendement, zoals vastgoedfondsen.

Met niet-gecorrigeerde data lijkt je bot winstgevend, omdat de koers na de dividenddatum niet direct daalt.

In de live markt verliest je bot juist geld door de correctie. Door gecorrigeerde data te gebruiken, voorkom je deze fout en bouw je een strategie die bestand is tegen marktvolatiliteit.

Verschillende benaderingen en hun impact op je resultaten

Er zijn verschillende manieren om met dividenddata om te gaan, afhankelijk van je strategie en doelen. De meest gebruikelijke benadering is het gebruiken van adjusted close data, waarbij alle historische prijzen zijn aangepast alsof het dividend opnieuw is geïnvesteerd.

Dit is ideaal voor langetermijnstrategieën, zoals buy-and-hold of trendvolgende bots. Voor kortetermijnstrategieën, zoals daghandel, is deze correctie minder relevant, omdat dividenduitkeringen zelden binnen een handelsdag vallen. Een andere benadering is het splitsen van je data in ex-dividend- en cum-dividend-prijzen.

Dit is handig voor strategieën die specifiek inspelen op dividendmomenten, zoals dividend capture.

Bij deze strategie koop je een aandeel net voor de ex-dividenddatum en verkoopt je direct erna, om het dividend te ontvangen. Zonder correctie lijkt deze strategie risicovrij, maar in de praktijk daalt de koers met het dividendbedrag. Door beide datasets te gebruiken, kun je de werkelijke opbrengst berekenen. Prijsindicaties zijn hierbij cruciaal.

Stel een aandeel noteert op €50 en keert €1 dividend uit. De ex-dividendkoers zou theoretisch €49 moeten zijn.

In de praktijk kan de markt reageren met een koersdaling van €0,90 of €1,10, afhankelijk van sentiment en liquiditeit. Als je een backtest draait met niet-gecorrigeerde data, neem je deze variatie niet mee. Je bot lijkt winst te maken op een correctie die nooit heeft plaatsgevonden.

Voor risicomanagement is het belangrijk om de impact van dividend op je hefboom en marge te begrijpen.

Bij brokers zoals Interactive Brokers worden dividenduitkeringen direct verrekend in je account saldo. Als je een hefboom gebruikt, kan een dividenduitkering je marge beïnvloeden. Een backtest met niet-gecorrigeerde data negeert dit en geeft een te rooskleurig beeld van je risicoprofiel.

Praktische tips voor het omgaan met dividenddata

Zorg dat je altijd weet welke data je gebruikt. Let bij het kopen van historische data goed op of je broker-API gecorrigeerde of niet-gecorrigeerde data levert.

Bij DEGIRO kun je historische data downloaden die is gecorrigeerd voor dividend, maar bij sommige Python-bibliotheken moet je dit handmatig instellen.

Gebruik functies zoals adjusted_close in yfinance of de dividendfeed in Backtrader om je data te verrijken. Test je strategie op zowel gecorrigeerde als niet-gecorrigeerde data. Dit geeft je inzicht in de gevoeligheid van je bot voor dividendcorrecties.

Stel je ziet dat je winst met 20% daalt wanneer je gecorrigeerde data gebruikt, dan weet je dat je strategie te optimistisch is. Pas je risicomanagement aan, bijvoorbeeld door je stop-loss breder te zetten of je positiegrootte te verkleinen.

Gebruik specifieke tools voor dividendhistorie. Websites zoals Dividend.com of de investor relations pagina van bedrijven bieden gedetailleerde data over uitkeringen. Voor Python-scripts kun je APIs zoals die van Alpha Vantage of Quandl gebruiken om dividenddata te integreren. Stel je bouwt een bot die handelt op de DAX; voeg dan de dividenddata van DAX-componenten toe aan je backtest.

Let op de timing van dividenduitkeringen. Sommige aandelen keren dividend uit op vaste data, andere onregelmatig.

Voor je bot is het cruciaal om deze data te kennen, vooral als je een strategie test die afhankelijk is van ex-dividenddatums. Gebruik een kalender in je Python-script om belangrijke data te markeren en je backtest aan te passen. Test je bot altijd in een paper trading omgeving voordat je live gaat.

Brokers zoals Interactive Brokers bieden een demo-account aan waar je kunt handelen met virtueel geld. Dit is de perfecte manier om te zien hoe je bot reageert op dividendcorrecties zonder echt geld te riskeren.

Stel je bot presteert slechter dan verwacht, dan weet je dat je backtestdata niet realistisch was. Onthoud dat geen enkele data perfect is. Markten veranderen, en soms biedt het integreren van alternatieve databronnen een voorsprong wanneer dividendbeleid van bedrijven wijzigt.

Zorg dat je je backtest regelmatig updatet met nieuwe data. Gebruik een versioneringssysteem voor je Python-scripts, zodat je altijd kunt terugvallen op een eerdere versie als een update niet werkt zoals verwacht.

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 Financiële Data & Kwaliteit
Ga naar overzicht →