De correlatie van je portfolio monitoren om overlap te voorkomen
Je portfolio zit vol met veelbelovende strategieën. Je hebt een Python-bot die momentum volgt, een andere die mean reversion speelt, en misschien zelfs een derde die index-tracking doet. Maar als de markt ineens hard daalt, zakken ze allemaal tegelijkertijd weg.
Dat voelt niet goed, en dat is het ook niet. Dit is overlap, een verborgen correlatie die je risico onnodig opdrijft zonder dat je het door hebt.
Wat is correlatie eigenlijk?
Correlatie is simpelweg hoe twee dingen samen bewegen. In trading gaat het over hoe jouw posities reageren op dezelfde marktbewegingen.
Een correlatie van 1.0 betekent dat twee assets exact hetzelfde doen. Een correlatie van -1.0 betekent dat ze precies tegenovergesteld bewegen. Tussen die twee uitersten zit een grijs gebied van 0.0, waarbij geen verband bestaat.
Stel je voor: je hebt een bot die long gaat op de AEX-index via een ETF. Tegelijkertijd heb je een andere bot die long gaat op de AMX-index.
Die twee bewegen vaak bijna identiek. Je denkt dat je gespreid bent, maar in werkelijkheid heb je gewoon twee keer hetzelfde risico.
Als de AEX crasht, zakken beide bots tegelijkertijd. Je risico is verdubbeld, niet verlaagd. In de wereld van algoritmische trading is deze overlap een stille killer. Je backtest ziet er misschien mooi uit voor één strategie, maar als je ze combineert, ontstaat er een onzichtbare concentratie.
Je portfolio presteert plotseling heel anders dan je had verwacht. En dat komt omdat je niet alleen naar individuele resultaten hebt gekeken, maar naar hoe ze samenwerken.
Waarom monitoren echt nodig is
Veel traders denken dat spreiden automatisch veiligheid biedt. Ze kopen tien verschillende aandelen of zetten drie bots op drie verschillende markten.
Maar als die allemaal reageren op dezelfde macro-economische factoren – zoals renteveranderingen of olieprijzen – is het geen spreiding, het is concentratie. Je loopt het risico dat één gebeurtenis je hele portfolio raakt.
Stel je voor dat je een Python-bot hebt die long gaat op tech-aandelen via de NASDAQ-100. Je tweede bot shorted juist defensieve aandelen op de S&P 500. Op het eerste gezicht lijkt dit een mooie balans. Maar tijdens een rentestijging kunnen beide markten tegelijkertijd onder druk komen te staan.
Je risico is groter dan je denkt, zeker bij risicomanagement tijdens verkiezingen of grote geopolitieke events, en je weet het pas als het te laat is.
Monitoren is niet alleen voor professionele fondsen. Zelfs als je met €5.000 handelt, is het cruciaal. Een correlatie van 0.8 tussen twee posities betekent dat je bijna al je eieren in één mandje legt.
Door dit actief te meten, kun je tijdig bijsturen. Je voorkomt dat je onnodig veel risico loopt zonder dat je het door hebt.
Hoe meet je correlatie in de praktijk?
Gelukkig hoef je geen wiskundige te zijn om correlaties te meten. Met Python en een broker-API kun je dit eenvoudig automatiseren. Gebruik de Pandas-bibliotheek om historische prijsdata op te halen bij je broker, bijvoorbeeld via Interactive Brokers of Alpaca.
Bereken de correlatiematrix tussen je verschillende assets of strategieën. Monitor je risico-rendementsverhouding door de Sharpe ratio van je live portfolio in real-time te berekenen.
import pandas as pd
import yfinance as yf
# Download data voor twee assets
data = yf.download(['SPY', 'QQQ'], start='2023-01-01', end='2024-01-01')['Adj Close']
# Bereken de correlatie
correlation = data.pct_change().corr()
print(correlation)
Voor een portfolio van vijf tot tien strategieën kun je deze code uitbreiden. Sla de resultaten op in een dashboard, bijvoorbeeld met Streamlit of Grafana, zodat je het belang van diversificatie over verschillende strategieën dagelijks kunt inzien.
Als je ziet dat twee bots een correlatie van boven de 0.7 hebben, is het tijd om actie te ondernemen. Een praktische vuistregel: probeer de gemiddelde correlatie in je portfolio onder de 0.5 te houden. Dit betekent dat je posities niet te sterk samenhangen.
Gebruik tools zoals QuantConnect of Backtrader om dit tijdens het backtesten al te meten.
Zo voorkomt je dat je een portfolio bouwt die er in theorie goed uitziet, maar in de praktijk faalt.
Modellen en tools voor risicobeheer
Er zijn verschillende manieren om correlaties te monitoren en te beheren. Een populair model is de portefeuilletheorie van Markowitz, die de optimale verhouding tussen risico en rendement berekent. Je kunt een eenvoudige versie bouwen in Python met libraries zoals NumPy en SciPy.
import numpy as np
import pandas as pd
# Veronderstel een correlatiematrix en rendementen
returns = pd.DataFrame({
'Asset1': [0.05, 0.06, 0.04],
'Asset2': [0.04, 0.05, 0.03],
'Asset3': [0.03, 0.04, 0.02]
})
cov_matrix = returns.cov()
weights = np.array([0.4, 0.4, 0.2])
portfolio_variance = np.dot(weights.T, np.dot(cov_matrix, weights))
print(f"Portfolio variantie: {portfolio_variance:.4f}")
Hieronder een voorbeeld voor een portfolio van drie assets: Een andere aanpak is het gebruik van risicopariteit-modellen.
Hierbij wordt je portfolio zo verdeeld dat elke positie evenveel risico bijdraagt, ongeacht de grootte. Dit is populair in de quant-wereld en wordt vaak toegepast in combinatie met Python-bots.
Platforms zoals QuantConnect ondersteunen deze modellen standaard. Prijsindicaties voor tools: een basisabonnement voor QuantConnect kost ongeveer €20 per maand. Interactive Brokers rekent geen extra kosten voor API-toegang, maar je betaalt wel transactiekosten (bijvoorbeeld €0,005 per aandeel). Voor risicomanagement op maat kun je een Python-ontwikkelaar inschakelen voor €50-€100 per uur, afhankelijk van de complexiteit.
Praktische tips voor dagelijks gebruik
- Stel een limiet in: Zet een waarschuwing in je dashboard als de correlatie tussen twee posities boven de 0.7 komt. Handel direct door één van de posities te verkleinen of te sluiten.
- Gebruik een backtesting-tool: Test je portfolio op historische data met tools als Backtrader of Zipline. Kijk niet alleen naar rendement, maar ook naar de correlatie tijdens crashes.
- Diversifieer over tijdsframes: Als je bots verschillende timeframes gebruiken (bijvoorbeeld 5-minuten vs. dagelijkse data), verlaag je de correlatie automatisch. Pas dit toe in je Python-code door verschillende data-intervals te laden.
- Monitor externe factoren: Correlaties veranderen door macro-economische gebeurtenissen. Gebruik een nieuws-API (bijvoorbeeld van Alpha Vantage) om events zoals rentebesluiten te volgen en je portfolio aan te passen.
- Hou het simpel: Je hebt geen tien bots nodig. Drie tot vijf goed gediversifieerde strategieën met lage correlatie zijn beter dan tien die allemaal hetzelfde doen. Kwaliteit boven kwantiteit.
Met deze aanpak wordt je portfolio niet alleen robuuster, maar krijg je ook meer vertrouwen in je algoritmische trading. Je weet precies wat er speelt en kunt snel bijsturen als de markt verandert. En dat is precies wat je wilt: een portfolio dat werkt voor jou, niet tegen je.
