NumPy voor Quants: Snel rekenen met vectoren en matrices

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

Stel je voor: je zit achter je scherm, de markten gaan hard en je Python-script loopt vast. Je rekent met een for-loop over een lijst van 10.000 koersen en je CPU schreeuwt om adem. Dat is het moment waarop NumPy het roer overneemt.

Als quant werk je met vectoren en matrices, niet met losse getallen.

NumPy is de motor die al die rekeningen in één klap doet, zonder gezeur. Je bouwt er backtests sneller mee, je risico’s sneller mee en je trading bots slimmer mee.

Denk aan de werkelijkheid: een broker API levert prijzen per seconde, je script moet die data omzetten naar signalen, risico’s berekenen en orders genereren. Zonder NumPy verdrink je in loops. Met NumPy reken je in één keer over een hele matrix heen.

Dat voelt als een turbo op je algoritmische trading stack. Je wint tijd, je wint overzicht en je wint betrouwbaarheid.

Wat is NumPy eigenlijk?

NumPy is een Python-bibliotheek voor snelle wiskunde met arrays. Een array lijkt op een lijst, maar is veel compacter en sneller.

Je kunt er vectoren en matrices mee maken, en daar rekenen zonder dat je zelf een loop schrijft. Onder de motorkap draait NumPy in C, waardoor het veel sneller is dan pure Python. Een voorbeeld uit de praktijk: je hebt een lijst van 1000 koersen.

Met een Python-voor-loop tel je die één voor één op. Met NumPy tik je één regel en is het klaar.

Je kunt ook rekenen met hele matrices: prijzen, volumes, spreads. Je kunt het direct doorvoeren in je risicoberekeningen of je backtest. Voor quants is NumPy de basis. Zonder kun je nog wel functioneren, maar met voelt het alsof je een fatsoenlijke broker-API hebt: je krijgt sneller data, je kunt beter testen en je bouwt robuustere bots. Het is de motor onder je trading stack, net als een goede order-execution engine bij een broker.

Waarom NumPy onmisbaar is in algoritmische trading

Trading is veel data, veel berekeningen, veel herhaling. Je loopt over prijsreeksen, technische indicatoren, portefeuille-gewichten. Zonder vectorisatie blijf je bezig.

NumPy maakt je code sneller en makkelijker te onderhouden. Backtesting is een typisch voorbeeld.

Je wilt duizenden trades simuleren, risico’s berekenen en de Sharpe ratio checken. Als je per trade een loop draait, ben je uren bezig.

Met NumPy doe je het in seconden. Je kunt sneller variabelen tunen, sneller fouten vinden en sneller live gaan. En risicomanagement?

Daar is NumPy je beste vriend. Je berekent standaarddeviaties, covarianties, drawdowns en Value-at-Risk over een hele window heen.

Dat helpt je om posities te sizen en je exposure te bewaken. Als je met Interactive Brokers of een andere broker werkt, voed je die risico’s direct terug in je order-strategie. Denk ook aan integratie met andere tools. NumPy werkt naadloos samen met pandas voor data, met scikit-learn voor modellen en met TensorFlow of PyTorch voor deep learning.

Je bouwt een pipeline van data naar signalen naar orders. Dat is precies wat je nodig hebt voor een professionele trading bot.

De kern: vectoren, matrices en ufuncs

Een vector is een rij getallen. Een matrix is een tabel.

NumPy slaat ze efficiënt op en rekent erover heen. Je maakt ze met simpele functies, en je past operaties toe zonder loops. Dat heet vectorisatie. Stel: je hebt een lijst met sluitprijzen van 1000 candles.

Je wilt de returns berekenen. Zonder NumPy schrijf je een loop.

Met NumPy tik je: Voorbeeldcode: returns = prijzen[1:] / prijzen[:-1] - 1 Die ene regel doet alles in één keer.

Je kunt ook gemiddelden, standaarddeviaties en rollende windows berekenen. En je kunt element-wise rekenen: vermenigvuldig een vector met een getal, tel een vector bij een andere op.

Dat werkt voor prijzen, volumes, spreads, alles. Ufuncs zijn speciale functies die over arrays heen werken.

Denk aan np.log, np.exp, np.cumsum. Die zijn supersnel en makkelijk te combineren. Je kunt complexe transformaties bouwen voor je trading signalen. En je kunt maskers gebruiken: selecteer alleen data die voldoet aan een voorwaarde, bijvoorbeeld returns groter dan 0.

Indexeren is een ander krachtig stuk. Je kunt slices maken, conditionele selecties doen en indices aanwijzen.

Handig voor het uitsnijden van tijdframes, het filteren van trades of het plukken van specifieke candles. Dat helpt bij het bouwen van snelle backtests. Een voorbeeld uit de praktijk: je wilt een simpele moving-average crossover testen.

Je berekent de snelle en langzame gemiddelden over een prijsvector. Je genereert signalen: koop als snelle MA kruist boven langzame MA, verkoop anders.

Met NumPy is dat een paar regels code. Dankzij high-speed berekeningen in trading bots test je dit direct op een dataset van 50.000 candles zonder performance-problemen.

Modellen en varianten: van simpele MA tot portfolio-optimisatie

Je kunt met NumPy verschillende trading-modellen bouwen. Een simpele variant is een MA-crossover, een andere is een mean-reversion strategie.

Je kunt ook een portfolio-optimisatie draaien met covariantiematrices. Elk model heeft zijn eigen voor- en nadelen. MA-crossover is makkelijk te begrijpen.

Je kiest snelheid en langzaamheid: 20 en 50 candles. Je test op intraday of daily data.

De performance hangt af van de broker fees, de spread en de slippage. Reken die kosten expliciet mee in je backtest. Een snelle MA-crossover kan hoge winst laten zien, maar met €2 transactiekosten per trade en een spread van 0,01% kan de netto-winst flink dalen. Mean-reversion is een ander verhaal.

Je zoekt prijzen die afwijken van hun gemiddelde en gokt op terugkeer. Je kunt een Bollinger Band bouwen met NumPy: gemiddelde plus/minus een veelvoud van standaarddeviatie.

Je scant op uitschieters en plaatst trades. Pas op voor de kosten en voor langdurige drawdowns. Een verkeerde parameterkeuze kan je €500 tot €2.000 per trade extra laten verliezen, afhankelijk van je positiegrootte.

Portfolio-optimisatie is een stap verder. Je gebruikt een covariantiematrix van returns om de optimale gewichten te berekenen.

NumPy kan de matrix inverse en matrix vermenigvuldiging aan. Je kunt een minimum variance portfolio of een max Sharpe ratio portfolio bouwen. Denk aan een mix van 5 aandelen of 10 crypto’s.

Je kunt de weights testen op out-of-sample data en de transaction costs meenemen. Modellen zijn geen heilige graal.

Elk model heeft parameters en die moet je tunen. Gebruik walk-forward validation, niet alleen een simpele split.

Test op meerdere markten en timeframes. En hou rekening met de broker. Sommige brokers rekenen per order een vast bedrag, anderen een percentage.

Bijvoorbeeld €2 per order of 0,05% met een minimum van €4. Die kosten veranderen je resultaten drastisch.

Prijsindicaties voor data en infrastructuur: een market data feed van een broker is vaak gratis of low-cost voor retail, maar professionele feeds kosten €50-€200 per maand. Een VPS voor je bot kost €10-€30 per maand. Backtesting op een eigen laptop is gratis, maar voor grotere datasets kun je een cloud instance nemen vanaf €0,05 per uur. NumPy draait overal, zonder extra licentiekosten.

Praktische tips voor quants met NumPy

Begin klein. Pak een dataset van 10.000 candles en schrijf een simpele return-berekening. Meet de tijd.

Voeg daarna een MA-crossover toe. Zorg dat je resultaten reproduceerbaar zijn door een seed te zetten en je data consistent te houden.

Vectoriseer waar het kan. Vermijd loops over individuele trades of candles. Gebruik array-slicing en conditionele selecties. Je zult zien dat een backtest die eerst 10 minuten duurde nu in seconden klaar is.

Meet performance en kosten. Tel niet alleen winst, maar ook slippage, spread en fees.

Gebruik NumPy om die kosten als array toe te voegen aan je returns. Je zult merken dat sommige strategieën die er goed uitzien, onder de kosten doorzakken. Test op meerdere brokers en instruments.

Een strategie die werkt op EUR/USD kan falen op crypto. De spread en volatiliteit zijn anders.

Gebruik NumPy om de statistieken per instrument te vergelijken: gemiddelde return, standaarddeviatie, max drawdown, Sharpe ratio.

Bouw een risico-laag in je pipeline. Bereken dagelijkse exposure, positiegrootte en VaR. Gebruik NumPy voor covarianties en standaarddeviaties.

Leg drempels vast: bijvoorbeeld, geen positie nemen als de dagelijkse VaR boven €500 ligt. Zo blijft je bot beheersbaar.

Combineer NumPy met andere tools. Gebruik pandas voor data inladen en Xarray voor multidimensionale financiële data.

Gebruik scikit-learn voor simpele modellen, en TensorFlow of PyTorch voor deep learning in de financiële markten. NumPy is de taal die alles verbindt.

Je bouwt een pipeline van data naar signalen naar orders, met risicomanagement erin. En tot slot: hou het simpel. Een bot hoeft niet ingewikkeld om beter te zijn. Soms is een simpele MA-crossover met goede risicobeheersing en lage kosten een winnaar.

NumPy helpt je om dat snel te testen en te valideren. Zo blijf je gefocust op wat telt: robuuste strategieën, lage kosten, en beheersbare risico’s.

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 →