Waarom 'Simplicity is Key': De kracht van minder parameters

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Strategie Optimalisatie & Tuning · 2026-02-15 · 6 min leestijd

Een algoritmische bot met 20 parameters is als een vliegtuig met 500 knoppen: de kans dat je je eigen crash programmeert is groter dan de kans op winst. Je zit uren te tunen in Python, je backtests op Interactive Brokers of MetaTrader knallen door het dak, en in de live markt? Niks. De bot faalt. Waarom? Omdat je een strategie hebt gebouwd die perfect is voor het verleden, maar waardeloos voor de toekomst.

De oplossing is simpel, letterlijk: minder parameters. Het is tijd om je bot op dieet te sturen.

De illusie van complexiteit: wat is 'Simplicity is Key'?

Stel je voor dat je een auto bouwt. Je kunt kiezen voor een basismodel met een motor, vier wielen en een stuur.

Of je bouwt een model met extra's: een turbo, vierwielaandrijving, een ingewikkeld differentieel, en een waarschuwingssysteem voor elke denkbare situatie. In de basis is die tweede auto misschien beter, maar hij is ook breekbaarder.

Er is meer dat kapot kan. In de wereld van algorithmic trading betekent 'Simplicity is Key' precies dit: je strategie bouwen met zo min mogelijke variabelen (parameters) om een markt-effect te vangen. In plaats van een woud van indicatoren te gebruiken, beperk je je tot de essentie. Een parameter is een getal dat je aanpast.

Denk aan de lengte van een moving average (de 'n' in SMA(n)) of de afwijking in een Bollinger Band (de 'k' in BB(k)).

Waarom is dit zo krachtig? Een simpele strategie is robuuster. De kans dat je 'per ongeluk' een setje parameters vindt die toevallig perfect passen op de data van 2022 (overfitting) is veel kleiner.

Je bot wordt beter in het herkennen van patronen die echt bestaan, in plaats van ruis te verwarren met signaal. Je bouwt een bot die werkt in de echte markt, niet alleen in Excel.

Waarom minder parameters echt geld besparen (en opleveren)

De meeste traders verliezen geld door 'curve fitting'. Dat is als een student die de antwoorden van een oude toets leert in plaats van de stof te begrijpen.

Hij haalt de volgende toets een onvoldoende. Zo werkt het ook met trading bots. Je backtest ziet er prachtig uit met parameters X, Y en Z, maar zodra de markt een beetje verandert, loopt de bot vast.

Een strategie met 10 parameters heeft een veel grotere kans op toevalstreffers dan een met 2 parameters. Stel je gebruikt een simpele trend-following bot: koop als de 50-day Moving Average boven de 200-day Moving Average komt.

Dat zijn 2 parameters (50 en 200). Simpel. Robuust. Je weet dat je de trend volgt.

Vergelijk dat met een bot die RSI, MACD, Stochastics, Bollinger Bands en Fibonacci niveaus combineert, allemaal met hun eigen settings. Je bot is nu een stuk kwetsbaarder. Verander je de RSI van 14 naar 15, en de MACD van (12,26,9) naar (13,25,8)? Je hele resultaat kan omslaan.

Dat is geen trading, dat is gokken op parameters. Met minder knoppen hou je focus op de markt.

De werking in Python: van chaos naar focus

Laten we concreet worden. Je zit in Python, je gebruikt een library als Backtrader, Lean (QuantConnect) of je eigen script met Pandas. Je wilt testen.

De verleiding is groot om een 'optimizer' te laten draaien. Je geeft de computer een range: test EMA's van 10 tot 100, in stappen van 5. Gebruik hiervoor Optuna voor hyperparameter tuning om je strategie robuust te optimaliseren.

De computer roept: "De WINNAAR is EMA 73 op de 1-uur grafiek van de DAX!" Dit is het gevaar. De computer vond toeval.

Om dit te voorkomen, beperk je je code. Schrijf een functie die slechts 1 of 2 variabelen accepteert. Bijvoorbeeld: Zie je het verschil? De logica is helder.

def initialize(context):
    context.fast_ma = 50  # Vaste waarde, niet geoptimaliseerd
    context.slow_ma = 200 # Vaste waarde, niet geoptimaliseerd

def handle_data(context, data):
    prices = data.history(context.spy, 'close', context.slow_ma + 5, '1d')
    fast_ma = prices.rolling(window=context.fast_ma).mean().iloc[-1]
    slow_ma = prices.rolling(window=context.slow_ma).mean().iloc[-1]
    
    if fast_ma > slow_ma:
        order_target(context.spy, 100) # Long
    else:
        order_target(context.spy, 0) # Short of Exit

Je kunt deze parameters handmatig veranderen en een sensitivity analysis uitvoeren om te kijken hoe de markt reageert, in plaats van een brute-force optimalisatie te draaien die overfit.

Je API van je broker (zoals Interactive Brokers of LMAX) krijgt simpelweg een helder bevel: kopen of verkopen. De complexiteit zit 'm niet in de code, maar in het begrip van de markt.

De varianten: van 'Blind Grid' tot 'Geen Parameters'

Er zijn gradaties van eenvoud. De meest extreme vorm is de 'No-Parameter Strategy', waarbij je parameter sniffing voorkomt door variabelen volledig te elimineren.

Dit is een strategie die werkt met vaste, onveranderlijke regels. Denk aan: "Koop Bitcoin als de prijs sluit boven het hoogste punt van de afgelopen 52 weken." Geen getallen om te tunen, alleen de marktprijs.

Een andere variant is de 'Fixed Ratio' aanpak. Je neemt een basisstrategie en voegt er één parameter aan toe die je zelden aanpast. Stel je handelt in futures. Je risicomanagement is vast: je riskeert nooit meer dan 1% van je kapitaal per trade.

De positiegrootte wordt berekend op basis van de stop-loss afstand en je account equity.

Dat is een parameter (de 1%), maar die is er om je te beschermen, niet om de winst te maximaliseren. Prijsindicaties voor complexiteit zie je vaak terug in dure 'black box' systemen. Een cursus die je leert handelen met 12 indicatoren kost vaak €1000,- of meer.

De belofte is dat de complexiteit "de markt vangt". De realiteit is dat de verkoper je een product verkoopt dat werkt onder zeer specifieke omstandigheden. Een simpele, transparante Python-bot bouwen kost je misschien een weekend tijd, maar levert je een systeem op dat je echt begrijpt en dat je gratis draait.

Praktische tips om je bot op dieet te doen

Wil je deze principes toepassen op je eigen setups? Hier is hoe je begint, zonder dat je meteen je hele strategie hoeft om te gooien.

  1. Start met een core-idee: Wat is het enige idee dat je wilt testen? Bijvoorbeeld: "De markt herstelt vaak te ver na een grote beweging." Bouw daar een bot omheen met maximaal 3 parameters. Gebruik je de 'Average True Range' (ATR) voor de afmeting van die beweging? Prima. Gebruik er niet ook nog een RSI bij om te bevestigen.
  2. Gebruik 'Walk-Forward' Analysis: Test je simpele strategie op data van 2020-2022. Kijk of de resultaten stabiel zijn. Test hem daarna op 2023. Als de resultaten enorm verslechteren, is je strategie te complex of heb je nog steeds te veel parameters geoptimaliseerd. Je broker API (zoals die van Bitvavo of Kraken voor crypto) kan hierbij helpen met data downloads.
  3. Kijk naar de 'Sharpe Ratio' en 'Max Drawdown': Een simpele strategie met een lagere winst maar een veel betere Sharpe Ratio (winst per eenheid risico) is vaak superieur. Je wilt slapen zonder stress. Een bot die met 10 parameters 50% rendement maakt met 40% drawdown is waardeloos. Een bot die met 2 parameters 20% rendement maakt met 10% drawdown is goud waard.
  4. Doe de 'Blind Spot' test: Verander je parameters met 10% (bijvoorbeeld EMA 50 naar 55). Als je resultaat met 50% verandert, ben je te gevoelig. Je bot is dan een 'parameter-junkie'. Je wilt dat de strategie werkt zolang de marktgedragingen hetzelfde blijven, zelfs als je de getallen een beetje verschuift.

Onthoud dit: de beste traders ter wereld gebruiken vaak simpele wiskunde. Ze weten dat de markt chaotisch is. Waarom zou je dan je eigen regels zo complex maken dat je ze niet meer snapt? Hou het simpel. Hou het leesbaar. En laat je bot doen waar hij voor gemaakt is: consistentie.

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 Strategie Optimalisatie & Tuning
Ga naar overzicht →