De nauwkeurigheid van je AI model testen met een 'Confusion Matrix'

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Machine Learning & AI in Trading · 2026-02-15 · 7 min leestijd

Een AI model dat je inzet voor daytrading voelt soms als een zwarte doos. Je gooit data naar binnen en krijgt een signaal: ‘Koop nu AAPL’ of ‘Short de EUR/USD’.

Maar hoe weet je of dat signaal echt goed is? Je winstpercentage zegt niet alles. Je kunt 9 op de 10 trades winnen, maar als die ene verliezende trade 500 pips wegtrekt en je stop-loss niet goed stond, ben je alsnog geld kwijt.

De echte kwaliteit van je model zit hem in de details. Hoe goed is het eigenlijk in het onderscheiden van een echte koopkans versus een ruis?

Daarvoor kijk je niet naar je P&L curve, maar naar een simpele, krachtige tool: de Confusion Matrix.

Wat is een Confusion Matrix eigenlijk?

Stel je voor dat je een bewaker bent bij de deur van een exclusieve trading-party. Je taak is om alleen de echte handelaren (de ‘positieve’ gevallen) binnen te laten en de oplichters (de ‘negatieve’ gevallen) buiten te houden.

Een Confusion Matrix is simpelweg een rapportje van die bewaker. Het laat precies zien wat hij goed deed en waar hij miste. Het bestaat uit vier vakjes.

Ten eerste de True Positives (TP): de bewaker liet iemand binnen en het was inderdaad een echte handelaar.

Dit is een goed koopsignaal dat je model correct had. Ten tweede de True Negatives (TN): de bewaker weigerde iemand en dat was terecht. Geen signaal, en inderdaad geen trade om te doen. Dat voorkomt dat je in een val loopt.

Maar er zijn ook fouten. False Positives (FP): de bewaker liet iemand binnen, maar het bleek een oplichter. In trading-taal: je model roept ‘Kopen!’, maar de prijs daakt direct.

Dit is een slechte trade die je eigenlijk niet had moeten nemen. Tot slot de False Negatives (FN): de bewaker weigerde een echte handelaar. Je model zei ‘Niks doen’, maar de markt schoot wel degelijk de goede kant op. Dit is een gemiste kans.

Waarom deze matrix onmisbaar is voor algoritmische traders

Veel beginnende quants kijken alleen naar de ‘accuracy’ van hun model. “Mijn AI heeft 85% accuraat gescoord!” klinkt geweldig. Maar wat als die 15% fouten precies de enorme drawdowns zijn?

In algorithmic trading gaat het niet om het aantal juiste voorspellingen, maar om de impact van de verkeerde.

Een Confusion Matrix geeft je die nuance. Je ziet direct hoe je model presteert onder druk. Stel je voor dat je een bot draait op de NASDAQ 100 met een API van Interactive Brokers.

Je model geeft 100 keer een ‘Short’ signaal. De matrix laat zien dat er 80 keer echt een daling volgde (TP), maar dat er 20 keer een short werd geopend terwijl de markt juist steeg (FP). Die 20 FP’s kunnen je account liquideren als je risicomanagement niet top is. Het helpt je om de juiste balans te vinden voor jouw strategie.

Ben je iemand die liever een aantal gemiste kansen (FN) accepteert om maar geen verliezende trades (FP) te nemen?

Of wil je elke mogelijke beweging meepakken, ook als dat betekent dat je af en toe op een valse alarm trapt? De matrix maakt deze trade-offs inzichtelijk, ver voor je ook maar één echte euro in de markt zet.

De kern: Precision, Recall en F1-Score

De matrix zelf is een start, maar de echte kracht zit in de getallen die je eruit trekt.

De belangrijkste zijn Precision en Recall. Laten we dit concreet maken voor een bot die op Binance of Kraken draait en probesert om de bodem van een Bitcoin rally te timen. Precision (Nauwkeurigheid) vraagt: “Van alle keren dat het model ‘Kopen!’ zei, hoe vaak had het gelijk?”
Formule: TP / (TP + FP).
Als je Precision laag is, betekent dat dat je model te snel ‘Kopen!’ roept.

Je zit vol met ‘fake-outs’ en verliest geld aan transactiekosten en verkeerde entries. Je wilt een hoge Precision als je elke verkeerde trade wilt minimaliseren.

Recall (Volledigheid) vraagt: “Van alle keren dat de markt echt steeg, hoe vaak heeft het model dat gezien?”
Formule: TP / (TP + FN).
Een lage Recall betekent dat je model te terughoudend is.

Je mist de grote bewegingen terwijl je veilig aan de kant blijft staan. Dit is frustrerend, maar vaak minder gevaarlijk voor je kapitaal dan een lage Precision. Er is ook nog de F1-Score. Dit is het gemiddelde van Precision en Recall.

Het kostenplaatje van je model keuze

Een hoge F1-Score betekent dat je model zowel geen onzin trades geeft (FP) als de grote bewegingen mist (FN). Voor de meeste trading bots wil je een F1-Score zo dicht mogelijk bij de 1, zonder dat je één van de twee componenten te ver opoffert.

Welk model gebruik je om deze matrix te vullen? Voor snelle scalping strategies op bijvoorbeeld de E-mini S&P 500 futures, kiezen veel traders voor een Random Forest of een XGBoost model. Deze zijn snel te trainen op een gemiddelde laptop (€1200 - €1500) en geven vaak direct bruikbare feature importance.

Wil je echter diepgaande patronen in prijsactie vinden, zoals bij het voorspellen van een trendomkeer op de 1-uur grafiek van ETH/USD?

Dan kom je al snel uit bij LSTM (Long Short-Term Memory) netwerken of Transformer modellen. Deze vereisen vaak krachtigere hardware (GPU nodig, prijzen starten rond de €800 voor een NVIDIA RTX 3060 of €1200+ voor een 4070) of cloud computing kosten (AWS/Google Cloud, €50-€200 per maand voor een fatsoenlijke instance). Omdat je bij deze modellen moet weten hoeveel data je minimaal nodig hebt, bepaalt de keuze voor het model de kwaliteit van je input voor de Confusion Matrix.

Een simpel lineair regressie model (vaak gratis in bibliotheken als Scikit-learn) zal sneller een hoge accuracy rapporteren, maar faalt vaak bij complexe marktcondities vergeleken met een diep neuraal netwerk.

De complexiteit van het model moet passen bij de complexiteit van de data die je van je broker via de API haalt.

Praktische stappen: Bouwen en interpreteren

Hoe bouw je dit nu in Python? Je hebt niet veel nodig.

Een simpele script met Pandas, Scikit-learn en Matplotlib is genoeg. Stel je hebt een CSV bestand met data van een backtest op MetaTrader 5 of TradingView. Voordat je begint, is het essentieel om je dataset correct voor te bereiden met Pandas. Je hebt kolommen voor je features (RSI, Moving Averages) en de daadwerkelijke uitkomst (Target).

Je splitst je data. Neem bijvoorbeeld de data van 2022 voor training en 2023 voor testen.

Train je model op 2022. Laat het voorspellen op 2023. Vervolgens gebruik je de functie confusion_matrix uit Scikit-learn: Waar je op moet letten?

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_true, y_pred)

Kijk naar de verhouding in de hoeken. Zie je veel False Positives?

Dan is je model te agressief. Misschien moet je de drempelwaarde (threshold) verhogen. Je model moet nu ‘zekerder’ zijn voordat het een signaal geeft.

Zie je veel False Negatives? Dan is je model te conservatief. Verlaag de drempel.

Een veelgemaakte fout is het negeren van de Confusion Matrix per klasse. Als je een model bouwt die ‘Kopen’, ‘Verkopen’ en ‘Niets doen’ voorspelt, kijk dan per klasse hoe het gaat. Misschien is je model perfect in ‘Niets doen’ (hoge Recall), maar compleet waardeloos in ‘Verkopen’ voorspellen.

Dat is een goudmijn aan informatie om je bot verder te optimaliseren. Onthoud goed: een Confusion Matrix is een momentopname.

Je backtest resultaten zijn geen garantie voor de toekomst. De markt verandert. Wat vandaag een hoge F1-score heeft, kan morgen door een rente-uitslag van de FED waardeloos worden. Gebruik de matrix dus niet alleen om je model te bouwen, maar ook om het te monitoren.

Conclusie: Stop met gokken, begin met meten

Een AI model bouwen is één ding, maar denk ook na over de ethiek van AI in de financiële markten. Een betrouwbare trading bot maken is immers iets anders.

De Confusion Matrix is je kompas in dit proces. Het haalt de emotie uit de evaluatie en geeft je keiharde data over de prestaties van je algoritme. Door scherp te kijken naar je True Positives, False Positives en de rest, voorkom je dat je een bot live zet die eigenlijk gewoon dobbelt met je zuurverdiende kapitaal.

Of je nu een simpel script draait op een Raspberry Pi of een server vol met GPU’s in de cloud; de principes blijven hetzelfde.

Dus, voordat je je API-sleutel aan je bot koppelt en de live markt in duikt: train je model, check de matrix. Pas als de Precision en Recall in lijn zijn met je risicoprofiel en strategie, is het tijd om de knop om te zetten. Succes met traden!

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 Machine Learning & AI in Trading
Ga naar overzicht →