DCA (Dollar Cost Averaging) bots: De logica achter automatisch bijkopen
Je kent dat gevoel wel: de markt daalt, je portefeuille krimpt, en je hoofd zegt: “Ik moet nu kopen, want het is goedkoop.” Maar je emoties zeggen: “Wacht nog even, misschien zakt het nog verder.” Het resultaat?
Je doet niets en mist de boot. DCA-bots lossen dit op door gewoon elke dag, week of maand een vast bedrag te kopen, zonder dat jij erover na hoeft te denken.
Het is de financiële versie van een wekker die je koffiezetapparaat aanzet: gestaag, betrouwbaar en zonder gezeur. Dollar Cost Averaging (DCA) is simpelweg een strategie waarbij je regelmatig een vaste som geld investeert in een asset, ongeacht de prijs. Je koopt meer als de prijs laag is en minder als de prijs hoog is, waardoor je gemiddelde aankoopprijs geleidelijk daalt. Een DCA-bot automatiseert dit proces via de API van je broker, zodat je nooit meer vergeet te kopen en nooit te veel betaalt door paniek.
Wat is een DCA-bot en waarom bestaat hij?
Een DCA-bot is een stukje Python-code of een geautomatiseerd script dat via de API van een broker zoals Binance, Kraken of Bitvavo periodiek een vaste hoeveelheid crypto of aandelen koopt. Je stelt in hoe vaak en hoeveel, en de bot doet de rest.
Geen emotie, geen uitstel, geen FOMO. De bot bestaat omdat mensen slechte timing hebben. Statistisch gezien lukt het maar weinigen om consequent de bodem te vinden.
DCA is een bewezen strategie die het timing-risico verlaagt door simpelweg consistent te kopen.
Je vermijdt de valkuil van “ik wacht nog even” en bouwt geleidelijk een positie op. Stel je voor: je wilt €500 per maand in Bitcoin investeren. Je DCA-bot koopt elke 1e van de maand voor €500 BTC, tegen de dan geldende koers. In januari is de koers €40.000, in februari €35.000, in maart €38.000. Je gemiddelde aankoopprijs ligt lager dan als je alles in januari had gekocht.
Hoe werkt een DCA-bot in de praktijk?
De kern van een DCA-bot is een eenvoudig script dat draait op een server of je eigen computer. Je schrijft bijvoorbeeld in Python een script dat gebruikmaakt van de CCXT-bibliotheek om verbinding te maken met de API van je broker.
Je definieert een endpoint, een API-sleutel en een secret, en stelt een cronjob in die het script dagelijks, wekelijks of maandelijks uitvoert.
Stap 1: kies je broker en activeer API-toegang. Bij Bitvavo of Binance kun je een API-key aanmaken met alleen lees- en handelsrechten. Stap 2: bepaal je frequentie en bedrag.
Bijvoorbeeld: €100 per week in Ethereum. Stap 3: je script haalt de huidige prijs op via de API, berekent hoeveel ETH je kunt kopen en plaatst een order. Stap 4: de bot logt elke transactie voor later gebruik in risicomanagement en belastingen. Stel je script draait op een Raspberry Pi thuis.
Je cronjob voert het elke dinsdag om 10:00 uur uit. De bot vraagt via de API naar de actuele ETH-prijs, zeg €2.200, en berekent: €100 / €2.200 = 0,04545 ETH.
De order wordt geplaatst en je krijgt een notificatie via Telegram. Simpel, transparant en reproduceerbaar.
Varianten en modellen: van simpel tot slim
De basis-DCA-bot is eenvoudig: vaste bedragen op vaste tijdstippen. Maar je kunt varianten bouwen die beter passen bij je risicoprofiel. Een populaire variant is de “geografische DCA”: je koopt meer als de prijs ver onder het voortschrijdend gemiddelde ligt, en minder als die erboven ligt.
Dit verlaagt je gemiddelde aankoopprijs nog verder zonder emotionele beslissingen. Een andere variant is de “tranche-DCA”: je verdeelt je maandbedrag in kleinere stukken en koopt vaker.
Bijvoorbeeld: €500 per maand wordt €125 per week. Dit vermindert het risico op een enkele slechte aankoopdag.
Je kunt ook een “dynamische DCA” bouwen die het bedrag aanpast op basis van volatiliteit: bij een hoge volatiliteit koop je minder, bij lage volatiliteit meer. Dit vereist een extra API-call naar een volatiliteitsindicator, zoals de ATR (Average True Range). Prijsindicaties voor een basis-DCA-bot: een Raspberry Pi 4 (4 GB) kost ongeveer €60, een SD-kaart van 32 GB €10.
Als je liever in de cloud draait, kost een kleine VPS bij DigitalOcean of Hetzner ongeveer €5-€10 per maand.
DCA is geen magische formule, maar een discipline. De bot is je stok achter de deur.
Python is gratis, de CCXT-bibliotheek is open-source. Je broker rekent handelskosten, bijvoorbeeld 0,25% per transactie bij Bitvavo. Een DCA-bot van €500 per maand kost dus ongeveer €1,25 aan transactiekosten per maand. Je kunt ook een “multi-asset DCA” bouwen die tegelijkertijd in BTC, ETH en een stablecoin zoals USDT koopt.
Dit spreidt je risico verder. Een script met een lijst van assets en wegingsfactoren doet dit automatisch: bijvoorbeeld 50% BTC, 30% ETH, 20% USDT. Je stelt de wegingen in en de bot berekent elke ronde de juiste bedragen.
Risicomanagement en backtesting: voorkom verrassingen
Een DCA-bot is geen excuus om risicomanagement te skippen. Zorg altijd voor een stop-loss of een emergency-stop als je bot een fout maakt.
Bijvoorbeeld: als de API een foutmelding geeft, stopt de bot en krijg je een alert. Je kunt ook een maximum aankoopprijs instellen: de bot koopt niet als de prijs boven een bepaalde drempel ligt, bijvoorbeeld €45.000 voor BTC. Backtesting en machine learning zijn essentieel voordat je echt geld inzet.
Gebruik Python met libraries als backtrader of vectorbt om je DCA-strategie te simuleren op historische data. Je kunt data downloaden via de API van je broker of via services als CoinGecko.
Test verschillende frequenties: dagelijks, wekelijks, maandelijks. Kijk naar je gemiddelde aankoopprijs, je totale rendement en je drawdown.
Stel je backtest toont aan dat een wekelijkse DCA in BTC over de afgelopen drie jaar een gemiddelde aankoopprijs van €28.000 oplevert, terwijl een maandelijkse DCA €30.000 is. Het verschil is klein, maar de wekelijkse variant verlaagt je risico op een enkele slechte dag. Je kunt ook testen wat er gebeurt als je een dynamische DCA gebruikt die meer koopt bij een daling van 10% ten opzichte van het voortschrijdend gemiddelde. Vergeet niet om je bot te monitoren.
Gebruik een Telegram- of Discord-bot om meldingen te krijgen over elke transactie. Log elke order in een CSV of database, zodat je later kunt analyseren wat er gebeurt, ook als je handelt in dark pools. En zorg voor een goede API-key-beveiliging: gebruik alleen de benodigde rechten, bewaar je secret niet in je code, en rotateer je keys regelmatig.
Praktische tips voor je eigen DCA-bot
Begin klein. Kies één asset en een bedrag dat je comfortabel verliest, bijvoorbeeld €50 per maand.
Schrijf een eenvoudig Python-script dat via CCXT verbinding maakt met je broker en een vaste order plaatst. Test het eerst met een demo-account of met een nep-API-sleutel. Pas als het soepel loopt, schakel je over op echt geld.
Kies een broker met lage kosten en een betrouwbare API. Bitvavo is populair in Nederland en heeft lage handelskosten en een goede API.
Binance heeft meer assets maar complexere regels. Kraken is stabiel en heeft een duidelijke API-documentatie. Zorg dat je broker twee-factor-authenticatie biedt voor je account en API-keys.
Automatiseer je monitoring en onderhoud. Gebruik een cronjob of systemd-service om je bot regelmatig te laten draaien.
Zet een simpel dashboard op met Streamlit of Flask, zodat je in één oogopslag ziet wat je bot heeft gekocht en wat je gemiddelde aankoopprijs is.
En vergeet niet: je bot is geen set-and-forget. Controleer maandelijks of de strategie nog bij je past en houd rekening met de invloed van economische kalenders. Sluit af met discipline. DCA werkt omdat het consistent is, niet omdat het spectaculair is.
Je bouwt een positie op zonder je gek te laten maken door marktgeluid. En onthoud: de beste DCA-bot is degene die je daadwerkelijk gebruikt.
Dus schrijf je code, zet hem op een Raspberry Pi of VPS, en laat hem zijn werk doen. Je portefeuille zal je dankbaar zijn.
