De 'Carry Trade' strategie geautomatiseerd in Forex
Stel je voor: je slaapt en terwijl je droomt, verdient je computer geld voor je. Geen magie, maar een strategie die al decennia lang bestaat: de Carry Trade. Het idee is simpel: leen geld in een land met een lage rente en investeer het in een land met een hoge rente.
Het verschil in rente (de 'carry') is jouw winst. In de moderne Forex-markt hoef je dit niet meer handmatig te doen.
Je kunt een trading bot bouwen die dit 24/7 voor je regelt, met de juiste backtesting en risicomanagement. Dit is geen rijk-worden-snel-schema, maar een manier om slim gebruik te maken van economische verschillen.
Wat is Carry Trade precies?
De kern van Carry Trade draait om de renteverschillen tussen valuta's. Landen zoals Japan hebben historisch gezien extreem lage rentetarieven, soms onder de 0,1%.
Tegelijkertijd hebben landen zoals Mexico of Turkije (in goede perioden) rentes van 5% tot zelfs 10%. Jij leent Japanse Yen (JPY) en wisselt die om naar Mexicaanse Pesos (MXN). Door het renteverschil betaalt de broker jou elke dag een kleine vergoeding, de 'swap'.
Je hoeft zelf geen miljonair te zijn om dit te doen. Bij brokers zoals OANDA of Interactive Brokers kun je met hefboomwerking (bijvoorbeeld 1:30) een groter bedrag verhandelen.
Stel je leent het equivalent van €10.000 in JPY en koopt MXN. Het renteverschil kan makkelijk 4% per jaar zijn. Dat is €400 per jaar op een positie van €10.000, zonder dat de wisselkoers zich een meter hoeft te bewegen.
Dat is de magie van de strategie: je wordt betaald om te wachten. Maar er zit een addertje onder het gras.
De wisselkoers kan tegen je bewegen. Als de MXN plotseling 10% in waarde daalt ten opzichte van de JPY, ben je je winst (en meer) kwijt.
Daarom is de volledige strategie: ontvang de rente (swap) en probeer het valutarisico te beperken of te verzekeren. Je bot moet dit continu in de gaten houden.
De bouwstenen: Python, API's en Backtesting
Om dit geautomatiseerd te doen, heb je een ijzersterke technische basis nodig. Je kunt niet zomaar blind een bot aanzetten.
Eerst moet je historische data gebruiken om te zien of je strategie werkt. In de Python-wereld zijn hiervoor bibliotheken zoals Backtrader of Zipline ideaal. Je laadt hiermee jarenlang aan data van je broker en simuleert je trades.
Je script moet hierbij de 'swap rates' meenemen die je broker hanteert, want die veranderen dagelijks.
Je broker is je venster naar de markt. Grote namen zoals IG Markets, Pepperstone of XTB bieden allemaal API's aan. Voor Python is de library CCXT een goudmijn; hij ondersteunt tientallen brokers en exchanges. Met een paar regel code verbind je je account en kun je data ophalen of orders plaatsen.
Je script moet inloggen via je API-sleutel (die je uiteraard nooit in je code zet, maar in een .env bestand). Een typische backtest voor een Carry Trade op EUR/JPY ziet er zo uit: je script haalt de data op van de afgelopen 5 jaar.
Je definieert een regel: "Als de rente op EUR hoger is dan die op JPY met minimaal 2%, en de 200-dagen moving average omhoog gaat, koop dan EUR/JPY". Je laat de simulatie draaien en krijgt een rapport met je totale rendement, je 'maximum drawdown' (hoeveel je maximaal verloren hebt) en je winst/verlies ratio. Pas als die cijfers er goed uitzien, ga je live.
De Risicomanagement-modellen: Meer dan alleen rente
Een Carry Trade-strategie die alleen naar rente kijkt, is gedoemd te mislukken. De markt is gevaarlijk.
Daarom bouwen we 'modellen' in onze bot om het risico te managen.
Een veelgebruikte variant is de Volatility Filter. Je bot checkt elke candle voordat hij een trade plaatst: is de ATR (Average True Range) hoger dan normaal? Bijvoorbeeld, als de ATR meer dan 150 pips is op een dag, is de markt te onrustig. Dit is een van de meest succesvolle algoritmische trading strategieën om je kapitaal te beschermen.
De bot slaat die dag over. Je wilt geen Carry Trade starten vlak voor een crash. Een ander model is Correlation Filtering. Je wilt niet al je geld in één soort valuta stoppen.
Stel, je loopt long op AUD/JPY (Australische Dollar tegenover Japanse Yen). Dan is het riskant om ook long te gaan op NZD/JPY (Nieuw-Zeelandse Dollar).
Die bewegen vaak hetzelfde. Je script kan een correlatiematrix berekenen en zorgen dat je maximaal bijvoorbeeld 3 posities open hebt die niet teveel op elkaar lijken.
Dit spreidt je risico enorm. De meest cruciale prijsindicatie is de Carry-to-Volatility Ratio. Dit is een getal dat je berekent: (Jaarlijkse Swap Winst) / (Gemiddelde Jaarlijkse Volatiliteit).
Als deze ratio lager is dan 0,5, is de potentiële rente niet genoeg om het risico van de schommelingen te dekken.
Je bot kan dan automatisch besluiten: "Deze trade is het niet waard, ik blijf aan de zijlijn." Dit voorkomt dat je rente opbouwt terwijl je de hoofdsom kwijtraakt.
Praktische tips voor je Carry Trading Bot
Als je je bot live zet, begin dan klein. Gebruik een broker die 'Micro Lots' aanbiedt (0.01 lot).
Zo kun je risico's spreiden en leer je hoe de swap-kosten en -baten in je rekening worden verwerkt.
Let goed op: veel brokers rekenen niet de exacte centrale bank rente, maar voegen een 'markup' toe. Test dit eerst met een kleine positie van €100 om te zien hoeveel je precies ontvangt of betaalt. Zorg dat je bot 'Slippage' en 'Spread' meeneemt in de backtest.
In de echte wereld betaal je bij een trade altijd een beetje extra. Als je bot in de backtest €100 winst maakt, maar in de realiteit €20 moet betalen door hoe market making werkt en de spread, wordt het een verliessessie.
Pas je winstdoel dus iets hoger aan. Automatiseer ook je 'Stop Loss'. Een Carry Trade kan jaren goed gaan, en dan in één week instorten (denk aan de Zwitserse Frank in 2015). Zet in je Python-script een harde stop-loss in, bijvoorbeeld op 10% van je inleg.
En nog beter: een 'Trailing Stop'. Als de trend gunstig is, beweegt je stop-loss mee omhoog, zodat je winst beschermd wordt terwijl je nog rente blijft oppotten.
Als laatste: blijf de macro-economie in de gaten houden. Centrale banken veranderen rentetarieven niet zomaar. Als de Federal Reserve aankondigt de rente te verhogen, verandert het speelveld voor alle paren met de USD.
Je bot moet hiervan op de hoogte zijn, bijvoorbeeld door een RSS-feed van financieel nieuws te lezen en de trading stil te leggen tot de storm is overgewaaid. Zo blijf je veilig handelen, zeker als je ook order flow data en de tape analyseert.
