QuantLib Python: Complexe derivaten en opties prijzen met code

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 bouwt een trading bot in Python, je backtest hem grondig, en dan kom je een optie tegen die je echt wilt verhandelen. Hoe bepaal je nu eerlijk wat die optie waard is?

QuantLib is hier je beste vriend. Het is een open-source bibliotheek die precies doet wat de grote banken doen, maar dan op jouw laptop. Je kunt complexe derivaten en opties prijzen zonder een wiskundig genie te zijn.

Het werkt naadloos samen met je bestaande Python setup voor algoritmische trading.

Waarom is dit zo’n gamechanger? Omdat risicomanagement draait om begrijpen wat je koopt. Een optie is niet zomaar een getal.

Het hangt af van de onderliggende prijs, tijd, volatiliteit en rentes. QuantLib rekent dit allemaal voor je uit.

Je kunt de exacte Black-Scholes prijs berekenen of een Monte Carlo simulatie draaien.

Dit geeft je een harde basis voor je bot. Je weet precies wat je risico is en wat je potentiële winst kan zijn.

Wat is QuantLib eigenlijk?

QuantLib is een bibliotheek voor financiële rekenmodellen. Denk eraan als een complete gereedschapskist voor optieprijzen.

Het bevat alle wiskundige formules die je nodig hebt, van simpele Europese opties tot complexe Amerikaanse of exotische derivaten. Je installeert het met een simpele pip install QuantLib in je terminal. Het is gratis en open-source, dus je betaalt geen dure licenties voor een Bloomberg terminal.

Je gebruikt het gewoon in je eigen Python scripts. De kern van QuantLib draait om drie dingen: tijd, volatiliteit en prijsmodellen.

Stel je voor dat je een call optie wilt kopen op de AEX index.

Je geeft de huidige indexstand door (bijvoorbeeld 800 punten), de uitoefenprijs (820), de tijd tot expiratie (bijvoorbeeld 3 maanden) en de verwachte volatiliteit (20%). QuantLib berekent dan de eerlijke premie. Dit is essentieel voor je backtesting. Je wilt niet handelen op een verkeerde prijs, want dan faalt je bot in de live markt.

De basis: een Europese optie prijzen met Black-Scholes

Laten we beginnen met de meest gangbare optie: een Europese call of put. Hiervoor gebruiken we het Black-Scholes model.

Het is een standaardformule die door bijna elke broker wordt gebruikt. In QuantLib schrijf je dit in een paar regels code.

Je definieert de datum, de optie, het onderliggende aandeel en het model zelf. Hieronder zie je hoe simpel het is. Stel je voor dat je een call optie wilt berekenen voor een aandeel dat €50 waard is.

De uitoefenprijs is €55, de rente is 1% en de volatiliteit is 25%. De optie vervalt over 6 maanden.

import QuantLib as ql

# Instellingen
today = ql.Date.todaysDate()
ql.Settings.instance().evaluationDate = today

# Onderliggende en optie parameters
spot_price = 50.0
strike_price = 55.0
risk_free_rate = 0.01
volatility = 0.25
maturity = today + ql.Period(6, ql.Months)

# Maak de optie aan
option = ql.EuropeanOption(ql.PlainVanillaPayoff(ql.Option.Call, strike_price),
ql.EuropeanExercise(maturity))

# Definieer het proces en het model
process = ql.BlackScholesProcess(ql.QuoteHandle(spot_price),
ql.YieldTermStructureHandle(risk_free_rate),
ql.BlackVolTermStructureHandle(volatility))
model = ql.BlackScholesModel(process)
engine = ql.AnalyticEuropeanEngine(model)
option.setPricingEngine(engine)

# Bereken de prijs
price = option.NPV() # Net Present Value
print(f"De premie van de optie is €{price:.2f}")

Je code ziet er zo uit: Dit script draait direct op je computer. Je krijgt een uitkomst, bijvoorbeeld €2,45. Dit is de eerlijke premie volgens Black-Scholes.

Als je bot deze optie wilt kopen via een broker API, weet je nu dat je niet te veel betaalt.

Je kunt dit makkelijk integreren in je algoritmische trading bot. Je haalt de live data op via een API van je broker, voedt die cijfers in QuantLib, en door technische indicatoren te optimaliseren met Optuna, beslist je bot of de prijs gunstig is.

Exotische opties en Monte Carlo

Niet alle opties zijn standaard. Sommige zijn "exotisch". Bijvoorbeeld een 'Asian option', waarvan de uitoefenprijs afhangt van de gemiddelde prijs over een periode.

Of een 'Barrier option', die pas actief wordt als de prijs een bepaald niveau raakt.

Deze opties zijn populair in risicomanagement omdat ze beter passen bij bepaalde handelsstrategieën. QuantLib kan deze ook prijzen, maar niet met een simpele formule. Hier komt Monte Carlo simulatie om de hoek kijken.

Monte Carlo simuleert duizenden mogelijke toekomstige paden van de aandelenprijs. Het is een krachtige backtesting tool voor complexe derivaten.

Stel je een 'Lookback option' voor: je mag de optie uitoefenen tegen de beste prijs die het aandeel had tijdens de looptijd. Dit is super interessant voor een bot die wil inspelen op extreme bewegingen. QuantLib bouwt hiervoor een padafhankelijk model. Je definieert een 'PathGenerator' en gebruikt Scipy voor finance optimalisatie om 10.000 of 100.000 scenario's door te rekenen.

De uitkomst is een prijs met een foutmarge. Bijvoorbeeld €5,10 met een standaardafwijking van €0,05.

Dit zegt iets over het risico. Als je bot deze optie verhandelt, weet je dat de prijs kan schommelen. Je kunt je risicomanagement hierop afstemmen, bijvoorbeeld door de positiegrootte te verkleinen.

QuantLib geeft je deze diepgaande inzichten zonder dat je zelf de wiskunde hoeft te programmeren. Je gebruikt gewoon de ingebouwde klassen.

Integratie met je trading bot en brokers

Hoe pas je dit toe in de praktijk? Je begint met een backtest.

Je haalt historische data op van je broker, bijvoorbeeld via de API van Interactive Brokers of Degiro. Je laadt deze data in Python en berekent voor elke dag de eerlijke optieprijs met QuantLib. Vervolgens vergelijk je dit met de daadwerkelijke marktprijs.

Als de marktprijs lager is dan jouw berekening, is het een koopkans voor je bot.

Dit is een 'mispricing' strategie. Je kunt QuantLib ook gebruiken voor 'Greeks' berekeningen. Dit zijn risicometers zoals Delta, Gamma en Vega. Delta laat zien hoe gevoelig de optieprijs is voor een verandering van €1 in de onderliggende aandelenprijs.

Als je bot een optieportefeuille beheert, is dit cruciaal voor risicomanagement. Stel je hebt een delta van 0.5.

Dan beweegt de optieprijs €0,50 voor elke €1 beweging in het aandeel. Je kunt hiermee je portefeuille 'delta-neutraal' maken door ook aandelen te kopen of verkopen. Dit verlaagt je marktrisico enorm.

Sluit je QuantLib aan op een broker API? Dat kan makkelijk. Je schrijft een wrapper in Python die de berekende prijs van QuantLib vergelijkt met de live data van de broker.

Als het verschil groter is dan een bepaalde drempel (bijvoorbeeld €0,10), stuurt je bot een order. Je kunt dit ook automatiseren voor meerdere opties tegelijk. Zorg wel dat je rekening houdt met transactiekosten.

Een optie kost bijvoorbeeld €1,50 per contract. Als je bot te veel trades maakt, vreten de kosten je winst op. QuantLib helpt je om de eerlijke prijs te vinden, maar de executie is aan jou.

Praktische tips voor optie trading met Python

Begin klein en test alles. Gebruik een demo account bij je broker om je bot te testen zonder echt geld.

QuantLib is snel, maar Monte Carlo simulaties kunnen tijd kosten op een simpele laptop. Voor 10.000 paden duurt het een paar seconden. Voor 1 miljoen paden kan het minuten duren. Gebruik een cloud server als je dit vaak moet doen, bijvoorbeeld een AWS instance van €50 per maand.

Let op de inputs van je modellen. QuantLib is zo goed als de data die je erin stopt.

Een verkeerde volatiliteit levert een verkeerde prijs op. Gebruik historische volatiliteit of implied volatiliteit van de markt.

Je kunt deze data ophalen via een API van een data provider zoals Refinitiv of een betaalde Python library. Test je modellen altijd op out-of-sample data. Doe alsof je in het verleden leeft en kijk of je bot winst had gemaakt.

Combineer QuantLib met andere bibliotheken. Gebruik Pandas voor data verwerking en Matplotlib voor visualisaties.

Plot bijvoorbeeld de 'volatility smile' – de relatie tussen uitoefenprijs en volatiliteit. Dit helpt je om marktverwachtingen te begrijpen. Tot slot, hou het simpel.

Je hoeft geen PhD in wiskunde te hebben om winstgevend te zijn.

Met QuantLib, een goede broker API en een strakke risicomanagement strategie bouw je een sterke basis voor je algoritmische trading bot in Python.

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 →