Hoe bouw je een 'Multi-Factor Model' voor aandelen-selectie?

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Geavanceerde Quant Concepten · 2026-02-15 · 8 min leestijd

Stel je voor: je bouwt een systeem dat niet op emotie reageert, maar op data. Geen gerucht, geen hype, gewoon een strakke, op regels gebaseerde selectie van aandelen.

Dat is de kern van een multi-factor model. Je combineert verschillende academisch bewezen factoren – zoals waarde, grootte en momentum – tot een robuuste selectiemotor.

Dit is geen magie; het is een gestructureerd proces dat je in Python kunt bouwen, testen en draaien via broker-API’s. Laten we beginnen.

Wat je nodig hebt voor je multi-factor model

Voordat je code schrijft, zorg je voor de juiste gereedschappen. Denk aan een stabiele data-feed, een backtesting-omgeving en toegang tot een broker via API.

  • Data: Historische koersen, fundamentals (bv. winst per aandeel, boekwaarde) en factor-data (bv. Fama-French datasets). Voor Nederlandse aandelen kun je bronnen zoals Bloomberg, Refinitiv of betaalde data-providers als Quandl gebruiken. Reken op €50-€200 per maand voor kwalitatieve data.
  • Python-omgeving: Installeer Jupyter Notebook of VS Code. Gebruik bibliotheken als pandas, numpy, yfinance (voor gratis, beperkte data) en zipline of backtrader voor backtesting.
  • Broker-API: Kies een broker met een betrouwbare API, zoals Interactive Brokers (IBKR) of DEGIRO. Voor IBKR betaal je ongeveer €10 per maand voor API-toegang bij lage volumes.
  • Risicomanagement-layer: Een aparte module voor stop-losses, position sizing en portefeuille-allocatie. Gebruik bibliotheken als pyportfolioopt of eigen scripts.

Zonder deze basis bouw je op drijfzand. Reken op een initiële investering van 20-40 uur om deze setup te bouwen. Begin klein: test met 10 aandelen uit de AEX of AMX.

Stap-voor-stap: bouw je multi-factor model

Stap 1: Verzamel en schoon je data

Haal historische koersen op voor een brede set aandelen, bijvoorbeeld 50-100 Europese aandelen. Gebruik yfinance voor gratis data of een betaalde API voor meer diepgang.

Voeg fundamentals toe: boekwaarde per aandeel, winstgevendheid, kasstroom. Schoon je data: verwijder aandelen met te veel ontbrekende waarden (meer dan 10%).

Check voor splitsingen en dividendcorrecties. Dit duurt 2-4 uur, afhankelijk van je data-bron. Veelgemaakte fout: Te weinig aandelen in je dataset.

Stap 2: Definieer je factoren

Minstens 50 aandelen zijn nodig voor statistische betrouwbaarheid. Kies 3-5 factoren gebaseerd op academisch onderzoek.

Gebruik de Fama-French basis: size (kleine vs. grote aandelen), value (lage koers-boekwaarde), en momentum (prijsstijging de afgelopen 12 maanden). Voeg profitability (winstmarge) en investment (assets groei) toe voor de uitgebreide vijf-factor model. Bereken elke factor voor elk aandeel. Voor size: sorteer aandelen op marktkapitalisatie en deel in in quintielen. Voor value: boekwaarde/koers.

Voor momentum: rendement de afgelopen 12 maanden. Schrijf Python-functies om deze berekeningen te automatiseren.

Reken op 4-6 uur om de factorberekeningen te coderen en te testen. Veelgemaakte fout: Factoren verwarren met direct belegbare activa. Een factor is een concept; je implementeert het via long/short posities of ETFs.

Stap 3: Combineer factoren in een score

Geef elke factor een gewicht, bijvoorbeeld 20% per factor bij vijf factoren. Normaliseer elke factor-score (bv. z-score) zodat ze vergelijkbaar zijn.

Bereken een totaalscore per aandeel: score = (0.2 * size) + (0.2 * value) + ... + (0.2 * investment). Selecteer de top 20% van aandelen op basis van deze score. Dit is je kernportfolio.

Voor een long/short-strategie: ga long in de top 20%, short in de onderste 20%. Gebruik pandas DataFrames voor deze berekening.

Test met historische data van 5-10 jaar. Veelgemaakte fout: Te veel factoren combineren.

Stap 4: Backtest je model

Houd het bij 3-5; er zijn wel 450 voorgestelde factoren, maar de meeste zijn niet praktisch. Bouw een backtesting-script in Python met zipline of backtrader. Simuleer je portfolio vanaf 2010 tot nu.

Reken transaction costs (bv. €5 per trade bij DEGIRO) en slippage mee. Meet prestaties: totaalrendement, Sharpe-ratio (risicogecorrigeerd rendement), en max drawdown.

Streef naar een Sharpe-ratio boven 0.5 en drawdown onder 20%. Duur: 6-8 uur voor een eerste backtest. Loop meerdere keren om parameters te optimaliseren. Veelgemaakte fout: Overfitting aan historische data.

Gebruik out-of-sample testing (bv. 2010-2018 voor training, 2019-2024 voor test).

Stap 5: Implementeer met risicomanagement

Sluit je model aan op een broker-API. Automatisch herbalanceren: elke maand opnieuw score berekenen en posities aanpassen. Voeg risicoregels toe: max 5% per aandeel, stop-loss van 10%.

Test live met een klein bedrag (€1.000-€5.000) om fouten op te sporen. Monitor elke week. Reken op 4 uur voor integratie en 2 uur per week voor monitoring.

Veelgemaakte fout: Emotie laten binnensluipen. Houd je aan de regels; geen uitzonderingen op basis van nieuws. Gebruik deze checklist om je model te valideren: Optimaliseer alleen op basis van langetermijndata; vermijd aanpassingen op kortetermijnprestaties.

Stap 6: Verifieer en optimaliseer

  • Is de dataset compleet en schoon? (minstens 50 aandelen, geen gaten)
  • Zijn de factoren academisch onderbouwd? (gebaseerd op Fama-French of vergelijkbaar)
  • Is de backtest robuust? (in-sample en out-of-sample tests)
  • Is risicomanagement geïmplementeerd? (position sizing, stop-losses)
  • Is de API-integratie stabiel? (test met paper trading)

Hoe Multifactorstrategieën Helpen om Betere Beleggingsresultaten te Behalen

Multifactorstrategieën bieden diversificatie door niet op één factor te vertrouwen. Als value het slecht doet, kan momentum compenseren.

Dit verlaagt de volatiliteit en verhoogt de consistentie. Denk aan Dimensional Fund Advisors, die €584bn beheren met factorstrategieën – een bewijs dat het werkt. Academisch onderzoek, zoals het Fama-French model uit de jaren negentig, toont aan dat meerdere factoren beter renderen dan de markt alleen, mits je de juiste position sizing en money management toepast.

In Nederland gebruiken pensioenfondsen deze aanpak voor allocatie, met toegang tot factor-ETFs via brokers zoals IBKR. Door op regels te bouwen, vermijd je emotie.

Een Academische Benadering

Je systeem reageert op data, niet op angst of hebzucht. Begin met de basis: het CAPM-model uit de jaren zeventig, dat de marktrende verklaart.

Bouw daarop voort met de Fama-French three-factor model: size, value, en market risk. Voeg later profitability en investment toe voor een vijf-factor model. Gebruik deze academische fundamenten om je factoren te selecteren. Vermijd nieuwe, onbewezen factoren – er zijn er veel, maar slechts een handvol is implementeerbaar.

Gedisciplineerd Blijven

Het grootste gevaar is factorwisseling op basis van kortetermijnprestaties. Houd vast aan je gekozen factoren voor minstens 5 jaar.

Monitor, maar verander niet zomaar. Stel een schema op: maandelijkse herbalancering, jaarlijkse evaluatie. Dit houdt je systeem stabiel en betrouwbaar.

In finance, a multi-factor model employs a set of different factors in its computations in order to analyze and explain market phenomena, as well as equilibrium prices of an asset. A multi-factor model can be used to analyze the returns of individual securities but also of entire portfolios.

Denk aan een multi-factor model als een lens die meerdere dimensies van een aandeel tegelijk bekijkt. In plaats van alleen naar de markt te kijken, meet je grootte, waarde, momentum en meer.

Dit verklaart waarom sommige aandelen beter presteren dan andere, en helpt bij het bouwen van evenwichtige portefeuilles.

Voor algoritmische trading bots betekent dit: je codeert deze factoren in je Python-script, waardoor je automatisch aandelen selecteert die voldoen aan je criteria. Door genetic programming in te zetten voor het ontdekken van nieuwe factoren en dit te combineren met backtesting via brokers zoals Interactive Brokers, heb je een systeem dat zowel analyseert als uitvoert.

Invisible layers surface to deliver attractive returns

Factoren werken als onzichtbare lagen onder de oppervlakte van de markt. Small-firm effect, ontdekt door Rolf Banz in de jaren tachtig, toont aan dat kleine aandelen vaak beter renderen.

Low-volatility, ontdekt door Bob Haugen in 1972, laat zien dat stabiele aandelen minder risico lopen. Momentum, begin jaren negentig door Jegadeesh en Titman onderzocht, vangt trends in prijsbewegingen. Deze lagen combineren leidt tot aantrekkelijke returns, zolang je gedisciplineerd blijft.

In Nederland bieden aanbieders zoals Robeco factorfondsen aan, maar je kunt ze ook zelf implementeren via Python en API's.

Vanaf 2010 tot 2019 verviervoudigde het beheerde vermogen in factorstrategieën, volgens Morningstar. Dit toont de groeiende acceptatie – en de kans voor jou om mee te doen.

Factorbeleggen | Waarom, wanneer, hoe en (uiteraard) met wat

Waarom factorbeleggen? Omdat het een systematische, op regels gebaseerde aanpak biedt die emotie uitsluit. Wanneer?

Nu, met de beschikbaarheid van data en API's. Hoe? Door een multi-factor model te bouwen zoals hier beschreven. Met wat? Python, backtesting-tools, en een broker zoals DEGIRO of IBKR.

Wat is factorbeleggen?

De Nederlandse markt is ideaal: Robeco en Dimensional zijn actief, en er zijn factor-ETFs beschikbaar.

Regulering zoals MiFID II vereist duidelijke uitleg, dus zorg dat je strategie transparant is. Factorbeleggen is het selecteren van aandelen op basis van academisch bewezen kenmerken, zoals value of momentum. Het is geen passieve indexvolging; het is een actieve, kwantitatieve aanpak. In Nederland kun je dit toepassen via specifieke fondsen of zelfgebouwde systemen.

Gerelateerde artikelen

Smallcaps, verbeterde signalen: Onze nieuwe NextGen ETF

Deze ETF focust op kleine aandelen met verbeterde factor-signalen, ideaal voor wie small-caps in zijn multi-factor model wil opnemen. Een visuele analyse van kwantitatieve trends in de reële economie, relevant voor factorselectie.

Quant chart: The RenAIssance of the tangible economy

Ontdek hoe je factorbeleggen kunt toepassen op bedrijfsobligaties voor extra diversificatie. Een aanpak die factorbeleggen combineert met duurzaamheid, perfect voor ESG-georiënteerde beleggers.

Data sets – factor investing in corporate bonds

Uitbreiding van factor-ETFs met hoogrenderende credits voor meer rendementspotentieel. Hoe je buiten de grote tech-aandelen kunt kijken met factorstrategieën voor een langere staart van kansen. Vragen om te stellen aan je asset manager over AI-gestuurde factorstrategieën.

3D-beleggen voor duurzame portefeuilles

Een analyse van onderpresterende aandelen en hoe factoren deze kunnen identificeren. Hoe factor-ETFs een liquide alternatief bieden voor illiquide private equity. Een kijkje in de keuken van actieve kwantitatieve strategieën, inclusief factormodellen. Een gids voor het navigeren door de wereld van kwantitatief beleggen in Nederland.

High yield en credits toegevoegd aan actieve ETF-aanbod

Hoe je opkomende markten kunt opnemen in je multi-factor model voor groei.

Who needs the Mag 7: A long tail of opportunity

AI-toepassingen voor het verbeteren van factor-signalen in small-caps.

Five critical conversations to test whether your asset manager’s AI adds value

Quant chart: The Walking Dead of the equity market

A liquid alternative to private equity investments

Active Quant unboxed: Inside the engine of quantitative investing

Active Quant: Wegwijs in Quant Street

The strategic rise of emerging markets

Using artificial intelligence for selecting small-cap stocks

Six must-knows about active ETFs

Belangrijke punten voor het kiezen van actieve ETFs voor factorbeleggen.

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 Geavanceerde Quant Concepten
Ga naar overzicht →