De 1% regel: Hoeveel van je kapitaal mag je bot riskeren per trade?
Stel je voor: je hebt een gave Python-bot gebouwd die op basis van Moving Averages handelt via de API van Interactive Brokers. Je backtest ziet er mooi uit, de curve stijgt gestaag.
Je bent er klaar voor om echt geld in te zetten. Maar hoeveel? Alles? De helft? Een vast bedrag?
Als je hier geen strak plan voor hebt, is de kans groot dat je bot je kapitaal langzaam opvreet. De 1% regel is je reddingsboei. Het is een simpel maar ijzersterk concept: risico nooit meer dan 1% van je totale handelskapitaal op één enkele trade. Laten we dit samen vertalen naar een concrete, werkbare strategie voor jouw algoritmische setup.
Stap 1: Je gereedschap klaarzetten
Voordat je überhaupt nadenkt over de 1% regel, moet je je trading-omgeving op orde hebben. Dit is de basis, de voorwaarde om het risico überhaupt te kunnen berekenen en beperken.
Zonder deze tools is de 1% regel slechts een leuk idee zonder praktische toepassing. Je hebt een broker nodig die een stabiele API biedt. Denk aan Interactive Brokers (IBKR) of een platform als Alpaca voor de beginfase.
Je broker moet je in staat stellen om via Python precies te bepalen hoeveel kapitaal aan een positie wordt toegewezen.
Materialenlijst: Een computer met Python 3.9+, een brokeraccount met API-toegang (bijv. IBKR), een backtesting-bibliotheek (bv. Backtrader), en een Excel-sheet of Python-script voor je risicologboek.
Daarnaast heb je een Python-omgeving nodig, bij voorkeur met bibliotheken als Pandas voor data-analyse en een library zoals IB-insync of ccxt voor de API-verbinding. Tot slot is een backtesting-tool essentieel. Gebruik Backtrader of een platform als QuantConnect om je strategie te testen op historische data voordat je één euro riskeert. Veel traders maken hier de fout door te beginnen met handelen voordat hun backtesting solide is.
Ze kopen een dure server, maar vergeten dat de data die ze gebruiken onbetrouwbaar is. Zorg dat je data van hoge kwaliteit hebt (minimaal 5 jaar historische data voor daghandel). Dit voorkomt overfitting en geeft je een realistisch beeld van je drawdown.
Stap 2: Bepaal je totale risicokapitaal
De 1% regel werkt alleen als je weet wat je totale kapitaal is. Dit is niet het bedrag op je bankrekening, maar het bedrag dat je specifiek voor trading hebt gereserveerd.
Laten we zeggen dat je €10.000 hebt vrijgemaakt voor je algoritmische bot. Dit is je 'equity'. Als je bot een trade verliest, daalt dit bedrag.
Je 1% is dus €100 per trade. Simpel, toch? Maar het wordt iets complexer als je meerdere bots draait of verschillende assets verhandelt.
De 1% regel geldt voor je totale portfolio, niet per bot. Als je bot A €5.000 beheert en bot B €5.000, en bot A een trade verliest van €100, dan daalt je totale equity naar €9.900. De volgende trade van bot B moet dan gebaseerd worden op dat nieuwe, lagere totaalbedrag. Een veelgemaakte fout is het vergeten van ongerealiseerde verliezen.
Als je open positie op dit moment €200 in de min staat, telt dit nog niet als een verlies voor je totale equity totdat je de positie sluit. Voor de berekening van je 1% per trade neem je echter wel het huidige beschikbare kapitaal als basis.
Houd hier rekening mee in je Python-script door je 'available equity' dynamisch te berekenen. Stel je voor dat je net een groot verlies hebt geleden. Je equity is gedaald naar €9.000.
Je 1% is nu €90, niet €100. Pas je bot dus direct aan.
Veel traders blijven handelen alsof hun equity nog €10.000 is, wat leidt tot een te groot risico per trade en een snelle ondergang.
Stap 3: De 1% berekening voor elke trade
Nu je weet wat 1% van je kapitaal is, moet je dit vertalen naar een concrete order. Dit is waar de magie van Python en API's samenkomen.
Je berekent niet alleen je positiegrootte, maar ook je stop-loss. Zonder stop-loss is de 1% regel waardeloos.
Stel, je bot signaleert een entry op een aandeel dat €50 kost. Je hebt €10.000 kapitaal, dus je maximale risico per trade is €100. Je moet bepalen hoe ver de stop-loss van de entry moet liggen, waarbij je ook kijkt naar een realistische risico-rendement verhouding.
Als je instapt op €50 en je stop-loss legt op €48, is je risico per aandeel €2. Hoeveel aandelen mag je dan kopen? De formule is simpel: €100 (max risico) / €2 (risico per aandeel) = 50 aandelen. Je totale investering is dan 50 aandelen * €50 = €2.500.
Je riskeert dus maar €100, terwijl je €2.500 in de markt hebt staan.
Dit is het hefboomeffect. In je Python-code moet je dit automatisch berekenen.
Gebruik een functie die de entry, stop-loss en je totale equity neemt en de juiste positiegrootte retourneert. Veel traders maken de fout om de positiegrootte te baseren op hun totale kapitaal in plaats van hun risico. Ze kopen voor €10.000 aan aandelen zonder een stop-loss, wat betekent dat ze 100% van hun kapitaal riskeren, niet 1%.
Een andere fout is het vergeten van transactiekosten. Een trade kost €2 aan commissie?
Dat verlaagt je werkelijke risico. Pas je 1% berekening aan door deze kosten mee te nemen.
Stap 4: De API en je Python-bot instellen
Je hebt je berekening gemaakt. Nu moet je bot deze uitvoeren.
In Python zorg je ervoor dat elke order die je bot plaatst, automatisch je stop-loss en take-profit bevat. Gebruik de API van je broker om een 'bracket order' te plaatsen. Dit is een order die bestaat uit een entry, een stop-loss en een take-profit in één keer, eventueel aangevuld met geavanceerde hedging strategieën met opties.
Stel je gebruikt de IBKR API. Je Python-script moet een functie hebben die de positiegrootte berekent en deze direct meestuurt bij het plaatsen van de order.
Zie het als een automatische piloot. Je bot scant de markt, vindt een signaal, berekent de juiste grootte op basis van de huidige equity en de stop-loss afstand, en plaatst de order.
Je hoeft niet handmatig in te grijpen. Een veelgemaakte fout is het handmatig aanpassen van orders. Je bot heeft een plan, maar je denkt "deze trade voelt goed" en schuift je stop-loss verder op. Dit is een garantie voor falen.
Als je bot een stop-loss op €48 plaatst, blijf daar vanaf. De 1% regel werkt alleen als je je eigen emoties uitschakelt.
Test je code grondig in een sandbox-omgeving. Gebruik een paper trading account bij je broker om te zien of de API-orders correct worden uitgevoerd. Controleer of je positiegrootte klopt en of de stop-loss daadwerkelijk op het juiste niveau wordt geplaatst. Dit voorkomt dure verrassingen als je met echt geld begint.
Stap 5: Risicomanagement op portfolio-niveau
De 1% regel gaat over individuele trades, maar als algoritmische trader moet je ook naar je totale portfolio kijken. Je bot kan tientallen trades per dag doen.
Je wilt niet dat al je trades tegelijkertijd in de min staan. Daarom hanteer je een tweede regel: maximum 5% totaal risico in de markt op een gegeven moment. Stel, je bot draait op 10 verschillende aandelen.
Je wilt nooit meer dan 5% van je kapitaal risico's open hebben staan.
Als je per trade 1% riskeert, betekent dit dat je maximaal 5 open posities kunt hebben. Als je bot een 6e signaal geeft, moet deze worden genegeerd totdat een van de andere posities is gesloten. Implementeer deze limiet in je Python-code.
Houd een teller bij van het aantal open posities en de totale exposure. Als de limiet is bereikt, blokkeer je de entry-signalen.
Dit voorkomt dat je in een 'drawdown-spiraal' terechtkomt waarbij één slechte dag al je kapitaal opslokt.
Veel traders negeren deze portfolio-benadering. Ze laten hun bot onbeperkt trades plaatsen, wat leidt tot over-trading en concentratierisico. Door te kiezen voor diversificatie in algo-trading, dwing je jezelf om selectiever te zijn en alleen de beste kansen te nemen.
Stap 6: Verificatie en continue monitoring
Je bot draait, maar je werk is niet klaar. Je moet regelmatig controleren of je risicomanagement nog klopt. Maak een wekelijks of maandelijks rapport waarin je je daadwerkelijke risico per trade vergelijkt met je 1% doel.
Gebruik Python om je trading-log te analyseren. Plot je equity curve en je drawdown.
Stel je voor dat je bot een trade plaatst die per ongeluk 2% risico's in plaats van 1%. Waarom? Was het een bug in de code? Een foutieve data-feed? Een onverwachte spread?
Analyseer elke afwijking en pas je code aan. Je risicomanagement is een levend systeem, niet een eenmalige setup. Een andere veelgemaakte fout is het negeren van 'black swan' events.
Je backtest laat misschien geen extreme crashes zien, maar de markt kan onvoorspelbaar zijn.
Zorg dat je bot een 'circuit breaker' heeft: als je totale portfolio meer dan 10% in één dag daalt, schakelt de bot zichzelf uit en neemt je de controle over. Gebruik tools zoals een dashboard in Excel of een Python-pakket zoals Streamlit om je risico's in real-time te monitoren. Zie het als je dashboard in de cockpit: je moet altijd weten hoeveel risico je loopt.
Checklist: Ben je klaar voor de 1% regel?
- Heb je een broker met een stabiele API? (Bijv. IBKR, Alpaca)
- Is je backtesting-data van hoge kwaliteit? Minimaal 5 jaar, schoongemaakt
- Ken je je totale risicokapitaal? Een vast bedrag, los van je persoonlijke financiën
- Is je Python-bot ingesteld om automatisch 1% risico te berekenen? inclusief stop-loss
- Heb je een portfolio-limiet? Max 5% totaal risico in de markt
- Test je regelmatig? Paper trading en wekelijkse analyse van je logs
- Schakel je emoties uit? Je past je stop-loss nooit handmatig aan
Als je deze checklist kunt afvinken, ben je klaar om de 1% regel toe te passen.
Het is geen garantie voor winst, maar het is de beste manier om te overleven in de wereld van algoritmische trading. Onthoud: de markt is er altijd morgen. Je kapitaal is je belangrijkste tool. Bescherm het.
