Matplotlib gids: Financiële grafieken en candlesticks plotten in Python

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Python Libraries voor Algoritmische Trading · 2026-02-15 · 6 min leestijd

Stel je voor: je hebt een backtest gedraaid op je Python-algoritme, je API van Interactive Brokers of Alpaca geeft je duizenden dataregels, en nu wil je zien wat er écht gebeurde. Een tabel met getallen helpt je even, maar een candlestick-grafiek vertelt het verhaal in één oogopslag.

Matplotlib is je gereedschap om die verhalen helder te maken, zonder poespas.

Je ziet meteen waar je risicomanagement faalde of waar je entry perfect was. Matplotlib is de meest gebruikte Python-bibliotheek voor het plotten van data, en voor algoritmische trading bots is het onmisbaar. Je gebruikt het om prijsactie te visualiseren, indicatoren toe te voegen en je backtestresultaten te controleren. Het werkt naadloos samen met Pandas en je broker-API, waardoor je realtime grafieken kunt bouwen die je helpen bij het nemen van beslissingen.

Waarom financiële grafieken onmisbaar zijn in je trading workflow

Als je serieus bent met trading, wil je zien, niet alleen rekenen. Een grafiek maakt patronen zichtbaar die in spreadsheets verborgen blijven.

Je controleert of je bot zich gedraagt zoals je verwacht, en je spot snel afwijkingen in je data of executie.

Denk aan een backtest op een mean-reversion strategie op de AEX. Je hebt 500 trades gedraaid, met een gemiddelde winst van €12 per trade. Een grafiek laat zien of je winst vooral komt uit kleine snelle bewegingen of uit enkele grote uitschieters.

Dat bepaalt hoe je risicomanagement en position sizing aanpast. Een grafiek helpt ook bij het valideren van je API-data.

Soms levert je broker incomplete candles, of zit er een slippage in je fills. Matplotlib toont die afwijkingen direct, zodat je je datacleaning kunt verbeteren voordat je live gaat.

De kern: candlesticks plotten met Matplotlib

Je begint met je data in een Pandas DataFrame. Elke rij bevat open, high, low, close en volume, met een tijdindex.

Je broker-API (bijvoorbeeld Interactive Brokers via ib_insync of Alpaca via hun Python-client) levert deze data in seconden of minuten, afhankelijk van je strategie. Matplotlib biedt een financieel subplot via mplfinance.

Dat is een handige wrapper die candlesticks automatisch kleurt: groen voor een gesloten hogere candle, rood voor een lagere. Je kunt de kleuren aanpassen naar je eigen stijl, bijvoorbeeld blauw voor longs en oranje voor shorts, zodat je bot snel herkenbaar is. Een typische codestructuur ziet er zo uit: je laadt de data, maakt een figuur en as, en gebruikt mplfinance.plot met je DataFrame. Je kunt de stijl instellen op 'charles' of 'binance', afhankelijk van je voorkeur.

Voor een snelle check op je backtest zet je de volume-balken eronder, zodat je ziet of volume de prijsbeweging bevestigt.

Je wilt waarschijnlijk ook eigen parameters meegeven, zoals de candle-breedte in minuten, de tijdzone, en of je weekends wilt tonen. Als je scalpt op 1-minuut data, is een te strakke x-as rommelig; een daggrafiek met 5-minuut candles geeft juist te veel ruis. Kies de resolutie die bij je handelsstijl past.

Extra lagen: indicatoren en annotaties

Je candlestick-grafiek wordt pas echt krachtig als je indicatoren toevoegt. Een simpel voortschrijdend gemiddelde van 20 periods (SMA20) helpt je de trend te zien.

Een Exponentieel Voortschrijdend Gemiddelde (EMA9) reageert sneller en is handig voor snelle entries. Gebruik exponentiële smoothing in Python voor trenddetectie om je signalen te verfijnen. Je berekent deze in Pandas en plant ze als lijnen bovenop je candles. Voor momentum kijk je naar de RSI.

Een RSI boven 70 geeft overbought aan, onder 30 oversold. Je kunt een apart subfiguur maken onder de candlesticks, zodat je in één oogopslag ziet of je entry samenvalt met een RSI-signal.

Dat voorkomt entries op zwakke momenten. Wil je je eigen handelssignalen visualiseren? Markeer long-entries met een groene pijl onder de candle, en short-entries met een rode pijl erboven. Je kunt ook stoploss en takeprofit lijnen toevoegen, bijvoorbeeld een stop op 1% onder je entry en een target op 2%.

Dat maakt je risicomanagement concreet en controleerbaar. Volume-profile is een extra optie.

Je toont een histogram naast je y-as dat laat zien waar veel handel plaatsvond. Dat helpt je niveaus te herkennen waar de markt reageert. Als je bot een breakout probeert op een weerstandsniveau, zie je direct of er voldoende volume achter de beweging zit.

Varianten en modellen met prijsindicaties

Je kunt verschillende grafiekstijlen kiezen, afhankelijk van je strategie. Voor daghandel op Europese aandelen werkt een candlestick-grafiek op 5-minuut data goed, met een EMA9 en SMA20 erop.

Voor swingtrading op US-tech aandelen gebruik je dagcandles en een 50-dagen SMA, plus een volume-oscillator. Je ziet dan of je trade past in de bredere trend.

Backtesting op een momentum-strategie op de DAX laat vaak zien dat winst vooral komt uit sterke trends. Voeg een ATR (Average True Range) indicator toe om de volatiliteit te meten. Als de ATR stijgt naar €80 op de DAX, weet je dat de beweging groter wordt en je stop breder moet of je positie kleiner, om je risico te beheren. Voor mean-reversion op de AEX kun je een Bollinger Bands-plots toevoegen.

Als de prijs de onderste band raakt en de RSI laag is, is dat een potentiële long.

Je markeert dit met een pijl en noteert je entry, stop en target. Een backtest met 200 trades op deze setup kan een winst van €2.500 laten zien bij een gemiddelde winst van €12,50 per trade, afhankelijk van je fees en slippage. Je kunt ook een model bouwen dat meerdere tijdframes combineert.

Plot een 1-uur grafiek als hoofdfiguur en voeg een 5-minuut subfiguur toe voor je entry-timing. Dat helpt je om de macro-trend en micro-entries op elkaar af te stemmen.

Je bot kan dan signalen filteren: alleen longs op de 5-minuut als de 1-uur trend omhoog is.

Voor risicomanagement kun je een equity-curve toevoegen naast je candlesticks. Plot je account-saldo over tijd, met drawdowns in rood. Als je equity-curve een dipje maakt tijdens een choppy markt, weet je dat je bot moet pauzeren of dat je position sizing moet verlagen. Je ziet het meteen, zonder spreadsheets.

Praktische tips voor dagelijks gebruik

Houd het simpel. Begin met een candlestick-grafiek, één gemiddelde en volume. Voeg pas extra indicatoren toe als je een duidelijke reden hebt.

Te veel lijnen geven ruis en vertragen je analyse, vooral als je meerdere markten tegelijk volgt.

Automatiseer je plotten. Schrijf een functie die je DataFrame, je indicators en je markers aanneemt en een figuur teruggeeft.

Sla je grafieken op als PNG of SVG voor je dagelijkse review, of toon ze live in Jupyter als je je bot monitort. Visualiseer je koersgrafieken in Python en combineer dit met alerts via je broker-API, zodat je alleen kijkt als er echt iets gebeurt. Test je visualisatie op verschillende devices.

Een grafiek die op je 27-inch monitor mooi is, kan op je laptop te vol zijn.

Pas de figuurgrootte en lettergrootte aan, en zorg dat je x-as tijdzones correct toont. Als je internationaal handelt, gebruik dan UTC en converteer naar lokale tijd voor je eigen leesbaarheid. Check je datakwaliteit voordat je plant. Plot een paar dagen van je API-feed en controleer op gaten of vreemde candles.

Als je broker €0,01 tick-size hanteert, zie je soms oneven prijzen; je kunt deze afronden voor scherpte in je grafiek, maar houd de ruwe data voor je backtest. Matplotlib helpt je afwijkingen snel te herkennen.

Tot slot: deel je grafieken met je community of mentor. Een heldere visualisatie maakt je ideeën bespreekbaar.

Of je nu een bot bouwt op Python, een backtest draait via QuantConnect, of je API koppelt aan Interactive Brokers, een goede grafiek is je gids. Kies voor interactieve trading charts om sneller te zien wat werkt, en verbeter je risicomanagement stap voor stap.

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 Python Libraries voor Algoritmische Trading
Ga naar overzicht →