Position Sizing: Waarom je nooit een vast bedrag per trade moet inzetten

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Risicomanagement & Portfolio Protectie · 2026-02-15 · 6 min leestijd

Een trade die 2% van je account wegneemt voelt kut. Een trade die 20% sloopt betekent dat je bijna klaar bent. Het verschil?

Meestal niet het idee, maar de grootte van de inzet. Veel traders, zeker als ze net beginnen met Python bots of hun eerste API calls naar een broker zoals Interactive Brokers of Bybit, denken in vaste bedragen. Ze kopen voor €1000 per trade, ongeacht of de koers op het punt staat om te exploderen of in te storten. Dat is geen strategie; dat is Russische roulette met je zuurverdiende capital.

Stel je voor: je hebt een bot die een eenvoudige SMA crossover draait op BTC/USDT. Je zet in met €500 per trade.

De bot pakt een winnaar, leuk. Dan volgt een verliezer. En nog een.

Je account staat op -€1500. Wat nu? Ga je door met €500 inzetten totdat je account leeg is? Of probeer je het verlies terug te winnen door ineens €1000 in te zetten?

Dit is de val van de gokker. Position sizing is het antwoord. Het is het mechanisme dat ervoor zorgt dat je emoties uit het spel haalt en je overleeft, zelfs als je strategie even tegen zit.

Waarom vaste bedragen je account vernietigen

De markt is geen lineaire weg omhoog. Het is een willekeurige wandeling met pieken en dalen.

Een vaste inzet, bijvoorbeeld €1000, betekent dat je risico per trade varieert als een gek. Als je account €10.000 is, is €1000 risico 10% van je totale vermogen. Als je account door verliezen daalt naar €5000, is diezelfde €1000 plotseling 20% risico.

Je blootstelling wordt groter naarmate je verliest. Dat is precies het tegenovergestelde van wat je wilt.

Goede traders doen het omgekeerd. Ze passen hun inzet aan op basis van hun huidige accountgrootte en de volatiliteit van het instrument.

Als je account groeit, neemt je positie toe. Als je account krimpt, verkleint je positie automatisch. Dit heet position sizing. Het is de ruggengraat van elk serieuze trading systeem, of je nu handelt via de API van Kraken of een custom Python script draait op een futures exchange. Het gaat niet om winst maximaliseren op één trade; het gaat om capital preservation op de lange termijn.

De Kern: Risico per Trade vs. Inleg

Stop met denken in "ik koop voor X bedrag". Begin met denken in "ik riskeer X procent".

De meest gangbare regel onder professionele traders is het risico van 1% tot 2% per trade.

Dit betekent niet dat je 2% van je account kwijt bent als de stop-loss raakt. Het betekent dat je, op basis van de stop-loss plaatsing, precies berekent hoeveel je mag kopen zodat het verlies beperkt blijft tot 2% van je totale equity. Laten we een voorbeeld doen met een Python bot die handelt op de E-mini S&P 500 (ES).

Je hebt een account van €50.000. Als je de 1% regel hanteert, mag je maximaal €500 risico nemen. Je entry is op 4500 punten. Je stop-loss zet je op 4490 punten.

Het verschil is 10 punten. Elke punt is €50 waard.

Dus je risico per contract is €500 (10 punten x €50). Je kunt dus precies 1 contract kopen.

Koop je er 2, dan riskeer je €1000 (2%). Koop je er 5, dan riskeer je €2500 (5%). De inleg (margin) doet er even niet toe; het gaat erom wat er gebeurt als je stop getriggerd wordt.

Modellen voor Sizing: Van Simple tot Volatiliteit-gebaseerd

Er zijn verschillende manieren om je positie te berekenen. De klassieker is de Risk Percentage Model.

Formule: (Account Equity x Risico Percentage) / (Entry Prijs - Stop Loss Prijs).

Simpel, effectief, en zorgt ervoor dat elke trade even "pijn" doet. Of je nu wint of verliest, de impact op je psychologie en je account is consistent. Dit is de basis voor elke Python backtest die je serieus neemt.

Een geavanceerdere variant is Volatility-Based Sizing (ATR). Hierbij pas je je positie aan op hoe stom de markt zich gedraagt. Gebruik je de Average True Range (ATR) indicator? Dan zet je je stop-loss vaak op 2x of 3x de ATR afstand van je entry.

Als de markt rustig is (lage ATR), is je stop dichtbij en kun je meer contracten kopen voor hetzelfde risicobedrag.

Als de markt wild is (hoge ATR), wordt je stop verder weg en koop je minder contracten. Dit voorkomt dat je uitgestopt wordt door ruis terwijl je positie nog goed is.

Als je stop-loss verder weg is, moet je inleg kleiner worden om hetzelfde risico te behouden. Simpel wiskunde, vaak vergeten door traders.

In Python kun je dit eenvoudig berekenen met libraries als Pandas en TA-Lib. Er is ook de Fixed Fractional Sizing, waarbij je de grootte van je positie koppelt aan een fractie van je equity. Dit is wat de meeste trading bots standaard implementeren.

Het zorgt voor exponentiële groei bij winst en bescherming bij verlies. Je kunt in je backtesting script (bijvoorbeeld met Backtrader of Zipline) deze logica vastleggen om te zien hoe je equity curve eruit zou zien met deze methoden.

Vaak zie je dat een 2% risico model de equity curve veel stabieler houdt dan een vaste inzet van €1000. Vergeet de broker niet. Als je bijvoorbeeld handelt via de API van BitMEX of Binance Futures, betaal je maker/taker fees.

De impact van brokers en fees

Bij een hefboom van 10x of 20x kan een kleine prijsbeweging je positie al liquideren. Als je een vast bedrag inzet zonder rekening te houden met de hefboom en de fees, loop je het risico dat je liquidatieprijs veel sneller wordt bereikt.

Een goed position sizing model houdt rekening met de hefboom (leverage) en de kosten om in en uit te stappen, inclusief een strategie voor position rebalancing.

Zorg dat je kostenposten bekend zijn, zodat je winstgevende trade niet wordt opgegeten door commissies.

Praktische Tips voor je Python Bots

Het implementeren van goed position sizing is essentieel voor je algoritmische trading setup. Hier zijn een paar concrete tips die je meteen kunt toepassen in je code of je manuele handel: Onthoud dat diversificatie in je portfolio cruciaal is, want het doel van trading is niet om rijk te worden van één trade.

Het doel is om de markt te overleven tot je strategie zijn randje laat zien.

  • Hardcode de limieten: Zorg dat je bot nooit meer dan 2% risico neemt, ongeacht wat de API teruggeeft. Gebruik een absolute limiet in je Python functies.
  • Gebruik de 'Equity' en niet de 'Balance': Bereken je inzet op basis van je huidige totale waarde (inclusief open P&L), niet alleen het geld dat je gestort hebt. Dit voorkomt over-exposure.
  • Check de Minimum Contract Size: Sommige futures of crypto paren hebben een minimum ordergrootte. Je kunt niet altijd 0.01 contract kopen. Zorg dat je sizing-logica rekening houdt met de 'step size' van het instrument.
  • Test met 'Stress Tests': Draai je backtests niet alleen op normale data. Voeg extreme volatiliteit toe. Wat doet je bot als de markt in 1 minuut 10% daalt? Als je sizing te hoog is, ben je dan al lang geliquideerd.
  • Voeg een 'Kill Switch' toe: Als je account met X% daalt (bijv. 10% op een dag), stop de bot dan volledig. Dit is risicomanagement op portfolio niveau, de volgende stap na position sizing.

Door je inzet te baseren op risico in plaats van een vast bedrag, geef je jezelf de tijd en de ruimte om die rand te vinden. Je vermijdt de gokkersval en gedraagt je als een professional.

Dus, open je broker app of je Python IDE, en pas je sizing aan. Je toekomstige zelf zal je dankbaar zijn.

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.