Wat is 'Adjusted Close' en waarom is het essentieel voor aandelen?

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 · 8 min leestijd

Je kent het wel: je zit lekker te backtesten in Python met je eigen bot.

Je gebruikt historische data van een broker zoals Interactive Brokers of Alpaca. Je script loopt soepel, de resultaten zien er geweldig uit. Je hebt een strategie gevonden die consistent €500 per week lijkt te genereren op de S&P 500. Je bent enthousiast en wilt live gaan.

Maar dan... gebeurt er iets vervelends in de markt. De bot reageert niet zoals je had gehoopt. Waarom?

Omdat er in je data een klein, onzichtbaar monster schuilgaat: de dividenduitkering.

En jouw bot had geen idee. Veel beginnende quants en traders maken deze fout. Ze kijken naar de 'Close' prijs van een aandeel en denken dat dit de volledige waarde is.

Maar de markt is slimmer. Als een bedrijf zoals Unilever of Shell €0,50 dividend uitkeert, daalt de aandelenprijs met exact dat bedrag.

Zonder aanpassing lijkt het alsof je aandeel in één klap €0,50 minder waard is geworden. Een catastrofe voor je model, tenzij je de juiste data gebruikt. Hier komt de 'Adjusted Close' om de hoek kijken. Het is de geheime saus voor elke serieuze algoritmische trader.

Wat is 'Adjusted Close' eigenlijk?

Stel je voor dat je een aandeel koopt voor €100. Later keert het bedrijf €2 dividend uit.

De beurs reageert logisch: de aandelenprijs zakt naar €98. Als je naar de grafiek kijkt, zie je een gat. Een val.

Je historische data, als je die niet aanpast, laat een daling zien die niet het gevolg is van marktverlies, maar van een cash-uitbetaling. De 'Close' prijs is simpelweg de slotkoers op die dag, zonder rekening te houden met externe gebeurtenissen. De 'Adjusted Close' is de oplossing.

Het is een herberekende slotkoers. Deze prijs houdt rekening met alle corporate actions: dividenden, stock splits, en bonusaandelen.

De formule is in principe vrij simpel, maar de impact is enorm. De meeste data providers, zoals Yahoo Finance of Quandl, passen dit automatisch toe. Ze herberekenen de historische koers alsof het dividend nooit was uitgekeerd, maar het wel in de waarde van het aandeel is verwerkt. De formule ziet er ongeveer zo uit voor een dividenduitkering:
Nieuwe Adjusted Close = Oude Adjusted Close * (1 - (Dividend / Slotkoers))
Dit betekent dat alle prijzen vóór de dividenddatum naar beneden worden bijgesteld. Waarom?

Omdat je de totale return wilt meten. Je wilt weten: "Als ik dit aandeel had gekocht op dag X, hoeveel had ik dan nu totaal waargemaakt?" De Adjusted Close geeft antwoord op die vraag.

Waarom je bot de Adjusted Close keihard nodig heeft

Stel je voor dat je een 'Mean Reversion' bot schrijft. Je strategie zegt: "Als het aandeel 5% onder het 200-dagen gemiddelde zakt, koop ik." Je backtest dit over de afgelopen 5 jaar.

Je ziet een prachtige winstcurve. Je bot zegt: "Koop bij €95, verkoop bij €100." Maar in de echte wereld gebeurt er iets anders. Het aandeel zakt door een dividendbetaling van €2 plotseling van €100 naar €98.

Je bot ziet dit als een enorme daling van 2% en koopt in.

Echter, de volgende dag herstelt de koers (ex-dividend) naar €100. Je bot denkt: "Wow, 2% winst in één dag!" en verkoopt. In werkelijkheid heb je €98 betaald en €100 gekregen, maar je miste het dividend van €2. Je bot handelt op een illusie.

De echte winst was €2 (dividend) + €2 (koerswinst) = €4. Door te handelen op de Adjusted Close, ziet je bot de werkelijke trend.

De koersdaling door dividend verdwijnt uit de grafiek, zodat je strategie puur focust op koersbeweging en momentum, en niet op uitgekeerd cash. Als je handelt met hefboomproducten of short gaat, is dit nog kritischer. Stel je short een aandeel voor €100.

Er komt een dividend van €5. De aandelenprijs zakt naar €95.

Jij als short-seller moet dat dividend van €5 namelijk betalen aan de lender van het aandeel. Zonder Adjusted Close data zie je in je backtest een winst van €5. In de realiteit verlies je €5.

Je bot moet getraind zijn op data die deze kosten al impliciet verwerkt, of je risicomanagement systeem moet dit meenemen. Meestal is het slimmer om met Adjusted Close te werken, zodat je bot snapt wat 'echte' groei is.

De impact van Splits en Corporate Actions

Het gaat niet alleen om geld op je rekening. Kijk naar een bedrijf als Tesla of Apple. Ze doen vaak aan stock splits.

Stel: een aandeel kost €1000. Ze doen een 4-for-1 split.

Opeens kost het aandeel €250 en heb je er 4. Als je naar de normale grafiek kijkt, zie je een gigantische val van €1000 naar €250.

Je algoritme denkt dat de wereld vergaat. Het ziet een crash van 75%. De Adjusted Close past de historische data van vóór de split aan.

De €1000 wordt teruggerekend naar €250 (met een correctiefactor). Zo ontstaat er een vloeiende lijn.

Je bot kan nu patronen herkennen die normaal gesproken verbroken zouden worden door zo'n split. Je moving averages kloppen, je RSI-indicator blijft logisch werken. Zonder deze aanpassing moet je voor elke split je data handmatig 'plakken', wat een nachtmerrie is voor een automatische pipeline. Laten we even concreet kijken naar de datakwaliteit.

Veel gratis API's zijn hier berucht om. Gelukkig kun je ook de Alpha Vantage API gebruiken voor gratis aandelen en crypto data, wat vaak een betrouwbaarder alternatief is.

Een 'Adjusted Close' die per ongeluk €0,01 afwijkt door een afrondingsfout kan op de lange termijn je compound interest beïnvloeden.

Bij premium data providers zoals Bloomberg of Refinitiv betaal je voor perfectie. Als je een bot draait met €50.000 kapitaal, wil je geen data-rotzooi. De investering in schone data is altijd goedkoper dan een verlies door een verkeerde backtest.

Een specifiek voorbeeld: de 'Reverse Split'. Een bedrijf dat het moeilijk heeft doet een 1-op-10 reverse split. De prijs gaat van €1 naar €10.

Zonder Adjusted Close zie je een enorme piek. Je bot denkt dat het aandeel enorm is gestegen en short het misschien.

Maar het is slechts een technische aanpassing. De Adjusted Close laat zien dat de waarde van het bedrijf (de market cap) niet is veranderd. Je bot beschermt zich zo tegen het shorten van een 'opgeblazen' aandeel.

Hoe je dit toepast in je Python workflow

Oké, genoeg theorie. Hoe fix je dit in je code?

Als je met Python en Pandas werkt, is het vaak een kwestie van de juiste kolom selecteren. Als je data ophaalt via de 'yfinance' library, krijg je standaard de kolom Adj Close.

import yfinance as yf
data = yf.download('AAPL', start='2020-01-01', end='2023-01-01')
print(data['Adj Close'].head())

Gebruik deze, niet de normale Close. Zorg dat je dataframe er zo uitziet: Als je data haalt via de API van een broker zoals Interactive Brokers (via IB-insync of de TWS API), let dan extra goed op. Vaak leveren ze de 'raw' data.

Je moet zelf de correcties toepassen als je de historische data gebruikt voor backtesting, waarbij het belang van point-in-time data cruciaal is om bias te voorkomen.

De meeste moderne backtesting libraries (zoals Backtrader of Zipline) hebben ingebouwde logica om met deze data om te gaan, maar je moet ze wel de juiste dataset voeden of de correcties activeren. Een praktische tip voor risicomanagement: Voeg altijd een sanity check toe aan je script. Plot je data. Kijk je naar de 'Close' prijs en zie je rare pieken of dalen die niet overeenkomen met het nieuws?

Dan weet je dat je waarschijnlijk de Adjusted Close moet gebruiken. Of erger: je data bevat een fout die je kunt oplossen door uitschieters uit je dataset te verwijderen.

Een bot die op foute data draagt, is als een raceauto met een kapotte brandstofmeter.

Je weet niet wanneer je stilvalt. Denk ook na over 'Forward Adjusting'. Sommige traders passen de toekomstige data aan in plaats van de historische.

Dit is minder gangbaar in retail trading. De meeste platforms en brokers passen 'Back-Adjusting' toe.

Ze passen het verleden aan om het heden te matchen. Voor 99% van de Python bots die je bouwt, is de standaard 'Adj Close' van je broker of data provider voldoende.

Vertrouw daarop, tenzij je een eigen high-frequency trading engine bouwt die extreem gevoelig is voor micro-prijzen.

Praktische tips voor schone data

Om je bot veilig te houden en je backtests betrouwbaar, volgen hier een paar concrete actiepunten:

  • Check altijd de dividend data: Gebruik een aparte functie om dividenduitkeringen op te vragen (bijvoorbeeld via de API van je broker). Zorg dat je bot weet wanneer een 'ex-dividend' datum aankomt. Als je short gaat, weet je dat je dan cash moet reserveren.
  • Wees voorzichtig met penny stocks: Aandelen onder de €1 doen vaak vreemde splitses en reverse splits. De Adjusted Close is hier soms onbetrouwbaar omdat de volatiliteit te hoog is. Vermijd deze voor je bot, tenzij je een expert bent.
  • Test op 'Survivorship Bias': De Adjusted Close van een aandeel dat failliet is gegaan, ziet er vaak vreemd uit. Zorg dat je dataset ook de aandelen bevat die uit de index zijn verdwenen. Alleen kijken naar de overlevers geeft een te rooskleurig beeld van je bot.
  • Geloof je ogen niet: Als je een backtest draait en de resultaten zijn te mooi om waar te zijn (bijv. 500% rendement per jaar), controleer dan eerst of je de juiste prijskolom hebt gebruikt. Een foutje met de Adjusted Close is vaak de boosdoener.

Uiteindelijk is de Adjusted Close de basis van elke serieuze analyse. Het is het verschil tussen gokken op basis van verouderde kaarten en navigeren met een satellietkaart.

Zorg dat je bot altijd de meest accurate, bijgewerkte versie van de markt te zien krijgt. Dan kun je met een gerust hart je risicomanagement instellen en de markt verslaan.

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 →