Je Python trading bot deployen op een Ubuntu VPS
Een trading bot die op je eigen server draait, geeft je rust en controle.
Geen gerommel meer met je laptop aanstaan of je internetverbinding die hapert. Je script draait 24/7 op een Ubuntu VPS, reageert direct op marktveranderingen en houdt je bot stabiel en veilig. Een VPS is een Virtual Private Server.
Je huurt een stukje computer ergens in een datacenter en krijgt er een IP-adres bij. Je logt erop in via SSH en installeert wat je nodig hebt: Python, je libraries, je bot-code en een procesbeheerder. Zo draait je strategie altijd, zonder dat je eigen laptop aan hoeft te staan.
Waarom een Ubuntu VPS voor je trading bot?
Trading bots zijn tijdgevoelig. Elke seconde vertraging kan een slechte fill betekenen.
Een VPS staat dichter bij de exchange servers en heeft een stabielere internetverbinding dan de meeste thuisnetwerken. Dat betekent snellere orders en minder downtime. Ubuntu is populair bij developers en goed gedocumenteerd. De installatie is eenvoudig, updates zijn betrouwbaar en je vindt snel hulp als je ergens vastloopt.
Voor Python bots is het een prettige omgeving met veel ondersteuning voor libraries als Pandas, NumPy en TA-Lib. Een VPS geeft je meer controle over beveiliging en toegang.
Je bepaalt wie inlogt, welke poorten open staan en hoe je logs en backups werken.
Zo bouw je een veilige, voorspelbare omgeving voor je bot. Je bent niet afhankelijk van je eigen modem, stroomuitval of Windows-updates midden in de sessie.
Stap-voor-stap: je bot installeren en draaien
Kies een VPS die bij je bot past. Voor een lichte bot met enkele strategieën en REST API calls naar exchanges als Binance of Interactive Brokers volstaat 1 vCPU en 2 GB RAM, bijvoorbeeld een DigitalOcean Droplet van €6 per maand of een Vultr instance vanaf €5.50.
Ga je grotere backtests draaien of meerdere symbolen tegelijk, pak dan 2-4 vCPU en 4-8 GB RAM, rond €20-€40 per maand. Log in via SSH en update je systeem. Op Ubuntu 22.04 of 24.04 doe je dit met sudo apt update && sudo apt upgrade -y. Maak een niet-root gebruiker aan en geef sudo rechten.
Dat is veiliger en werkt prettiger. Zet een firewall aan: sudo ufw allow OpenSSH && sudo ufw enable.
Installeer Python en pip. Gebruik bij voorkeur Python 3.11 of 3.12.
Op Ubuntu installeer je python3, python3-pip en python3-venv. Maak een virtual environment aan voor je project: python3 -m venv bot-env. Activeer het met source bot-env/bin/activate en installeer je dependencies met pip install -r requirements.txt.
Zo blijft je installatie schoon en herschrijfbaar. Haal je code op.
Clone je repository via Git, of kopieer je script handmatig naar de VPS. Zet je API keys in environment variables of in een .env-bestand. Gebruik nooit hardcoded keys in je script.
Zet de juiste permissies op je .env-bestand: chmod 600 .env, zodat alleen jij het kunt lezen.
Kies een procesbeheerder om je bot stabiel te houden. Systemd is robuust en start je bot automatisch op na een reboot.
Je maakt een servicebestand in /etc/systemd/system/trading-bot.service en start de service met sudo systemctl daemon-reload && sudo systemctl start trading-bot.
Gebruik supervisor of PM2 als je liever een lichtere tool gebruikt of meerdere bots naast elkaar draait. Zet logging op. Schrijf stdout en stderr naar een logbestand, bijvoorbeeld in /var/log/trading-bot.log. Gebruik Python logging met niveaus: INFO voor normale berichten, WARNING voor waarschuwingen en ERROR voor fouten. Wil je je trading code versnellen met JIT-compilatie? Dat kan eenvoudig met Numba.
Check je logs regelmatig met tail -f en bewaar ze lokaal voor analyse. Test je bot met een paper trading account of een testnet.
Bij Binance gebruik je de testnet, bij Interactive Brokers een paper account.
Zo voorkom je dat je per ongeluk echt geld inzet tijdens het testen. Pas je risicomanagement toe: limiet orders, maximale position sizes en een dagelijkse stop-loss.
Beveiliging, monitoring en risicomanagement
Beveilig je VPS alsof het je handelsrekening is. Zet SSH op een andere poort dan 22, gebruik key-based authentication en disable password login.
Voeg tweefactorauthenticatie toe waar mogelijk. Beperk toegang tot je IP-adres met ufw, bijvoorbeeld sudo ufw allow from 123.45.67.89 to any port 22.
Bewaar API keys veilig. Gebruik aparte keys voor productie en testen. Geef alleen de benodigde rechten: read-only voor data, trade voor orders.
Bij Binance kun je permissies beperken tot spot of futures, en IP-whitelisting inschakelen. Bij Interactive Brokers beperk je toegang tot een specifiek account en zet je de TWS API goed af. Monitor je bot proactief. Gebruik tools als htop voor CPU- en RAM-gebruik, df -h voor schijfruimte en ping voor netwerklatentie.
Stel eenvoudige alerts in: een e-mail of Telegram-bericht bij een crash, of als de bot 5 minuten geen heartbeat logt.
Zo grijp je snel in. Beheer risico’s met slimme voorzieningen.
Zet een dagelijkse stop-loss in je bot en een maximum aantal trades per uur. Gebruik een kill-switch die alle open posities sluit bij een kritieke fout. Test je back-ups en herstelprocedure, zodat je weet hoe snel je kunt herstarten na een storing.
Houd rekening met kosten. Naast je VPS (€5-€40 per maand) betaal je mogelijk voor data-abonnementen of extra API-toegang.
Bij brokers als Interactive Brokers zijn datafeeds niet gratis; een basis futures-pakket kost ongeveer €10-€30 per maand. Bij crypto-exchanges zijn data meestal gratis, maar betaal je transactiekosten per trade.
Varianten: licht, medium en zwaar
Een lichte bot draait op een 1 vCPU / 2 GB RAM VPS en is geschikt voor enkele symbolen en REST API calls. Denk aan een eenvoudige trendvolgende strategie op spot-markten, waarbij je eerst een virtuele omgeving (venv) opzet voor je trading project.
Kosten: ongeveer €5-€8 per maand. Voorbeeld: een VPS bij DigitalOcean of Vultr, Python 3.12, Pandas, CCXT voor exchange-connectie, en systemd als procesbeheerder.
Een medium bot gebruikt 2-4 vCPU en 4-8 GB RAM. Dit is passend voor meerdere symbolen, complexere indicatoren (TA-Lib), en lichte backtests. Kosten: €15-€30 per maand.
Voeg een snellere SSD toe voor grotere datasets, en overweeg een aparte database zoals PostgreSQL voor trade-logging en performance. Een zware bot draait op 4-8 vCPU en 16+ GB RAM, soms met een GPU voor machine learning-modellen. Geschikt voor grootschalige backtests, HPC-werk en orderboekanalyse. Kosten: €40-€100+ per maand.
Combineer dit met een aparte monitoring-server en een backup-VPS voor failover. Voor professionele setups kijk je naar dedicated cores en private netwerken.
Zorg dat je bot eerst stabiel draait voordat je opschaalt. Performance tuning is pas zinvol als je strategie en risicomanagement op orde zijn.
Praktische tips voor een soepele livegang
- Begin klein: kies een VPS van €5-€8 en test je bot een week op paper trading. Pas daarna live.
- Gebruik een virtual environment en houd dependencies bij in requirements.txt. Update alleen als het nodig is.
- Log alles wat je bot doet: orderaanvragen, fills, fouten en herstelacties. Bewaar logs minimaal 30 dagen.
- Stel een dagelijkse stop-loss in, bijvoorbeeld 2% van je kapitaal. Sluit posities automatisch bij overschrijding.
- Test je herstelplan: reboot de VPS, herstart de bot en controleer of je posities en logs kloppen.
- Houd rekening met tijdzones en market hours. Synchroniseer je klok met NTP en plan onderhoud buiten handelstijd.
- Gebruik een aparte API-key voor productie. Zet IP-whitelisting aan en beperk rechten tot wat nodig is.
- Monitor kosten: houd je VPS-gebruik bij, check data-abonnementen en pas je bot aan als je te veel betaalt.
Met een Ubuntu VPS bouw je een stabiele basis voor je Python trading bot. Gebruik 80+ technische indicatoren om je strategie te verfijnen; zo win je snelheid, betrouwbaarheid en controle.
Begin klein, monitor goed en schaal pas op als je bot bewezen stabiel is. Zo blijft je systeem rustig werken, ook als de markt onstuimig wordt.
