De rol van Docker in het schalen van trading infrastructuur

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Infrastructuur, VPS & Latency · 2026-02-15 · 7 min leestijd

Stel je voor: je hebt een perfecte trading bot geschreven in Python.

Hij draait op je laptop, je bent blij. Tot je een dagje weg wilt en de stroom uitvalt.

Of je broker API gooit een error omdat je vanaf één IP-adres te veel verbindingen maakt. Je bot ligt stil, je mist trades. Herkenbaar? Dit is waar Docker op het toneel verschijnt, niet als een hippe hype, maar als je onmisbare buddy voor serieuze trading infrastructuur. Docker is een manier om je code en alles wat die code nodig heeft in een afgesloten doosje te stoppen. Een 'container'.

Denk aan een tiny, zelfvoorzienend kamertje dat je overal naartoe kunt verhuizen.

Of het nu op je eigen laptop draait, op een krachtige VPS in Amsterdam of op een server in een datacenter vlakbij de beurs. Het werkt altijd hetzelfde. Geen gezeur met "maar op mijn computer doet ie het wel".

Wat is Docker eigenlijk?

Imagine dat je je trading bot bouwt. Je hebt Python nodig, misschien versie 3.9.

Je hebt libraries nodig: pandas voor data, numpy voor berekeningen, ccxt voor exchange connecties, misschien een specifieke broker API wrapper. Je wilt niet dat een update van je besturingssysteem dit allemaal kapot maakt. Docker maakt een snapshot van dit hele feestje.

Een container bevat je Python script, de libraries, de configuratiebestanden en zelfs het besturingssysteem-deel dat nodig is om het te draaien.

Het is een pakketje dat je overal op kunt starten. Je bent niet meer afhankelijk van de specifieke setup van één machine. Dit is cruciaal voor risicomanagement. Stel je server crasht.

Je zet een nieuwe VPS op, haalt je Docker image binnen en je bot draait binnen 5 minuten weer. Geen paniek, geen uren installeren.

Het werkt simpel. Je schrijft een 'Dockerfile'. Dat is een recept.

Daarin schrijf je: "Pak een basis Python image, kopieer mijn bot.py en requirements.txt, installeer de libraries, en start de bot bij opstarten".

Van dit recept maak je een image. Die image draai je als een container. Meerdere containers van dezelfde image? Geen probleem. Je draait dan bijvoorbeeld een container voor je testbot en een voor je productiebot, volledig gescheiden.

Waarom is dit een gamechanger voor traders?

De grootste winst is consistentie en snelheid. Je backtests op je lokale machine met een historische dataset.

Je resultaten zijn veelbelovend. Je uploadt je Docker image naar een snelle VPS bij de exchange (denk aan servers in LD4, NY4 of TY3).

De omgeving is identiek. Geen vreemde verassingen omdat je thuis Windows draait en de server Linux draait. Je bot gedraagt zich precies hetzelfde.

Dit maakt 'scalability' super makkelijk. Stel je strategie werkt goed op één markt.

Je wilt hem uitrollen naar 10 markten. In plaats van 10 keer een server te configureren, start je simpelweg 10 containers op. Of misschien wel 10 containers met ieder een specifieke parameter voor je grid trading bot. Beheer is eenvoudig. Als er een update is voor je bot, bouw je één nieuwe image en rolt die uit naar al je containers.

Denk ook aan latency. In de tradingwereld tellen milliseconden.

Je wilt je bot zo dicht mogelijk bij de broker hebben draaien. Docker stopt geen extra laag tussen je code en het netwerk. Het draait native. Je kunt je Python code die met de Interactive Brokers API praat, of die via WebSocket verbinding maakt met Binance, gewoon in een container stoppen zonder performance verlies. Het blijft snelle code.

De kern van je Dockerized trading setup

Laten we het concreet maken. Je hebt een paar basiscomponenten nodig.

Allereerst je eigen code. Je Python bestanden. Dan je 'requirements.txt' of 'Pipfile'. Dit zijn de ingrediëntenlijsten voor je Python libraries.

# Gebruik een lichte Python basis
FROM python:3.9-slim

# Zet een werkmap
WORKDIR /app

# Kopieer de benodigde bestanden
COPY requirements.txt .
COPY bot.py .

# Installeer alles
RUN pip install --no-cache-dir -r requirements.txt

# Start de bot
CMD ["python", "bot.py"]

Zorg dat deze up-to-date zijn. Vervolgens de Dockerfile zelf.

Hieronder een simpel voorbeeld van hoe dat eruitziet voor een bot die de IB API gebruikt: Je bouwt dit met een commando in je terminal: docker build -t mijn-trading-bot .. Nu heb je een image. Om hem te draaien, gebruik je docker run.

Maar hier komt het handige gedeelte voor persistentie. Je bot maakt logbestanden of slaat state op.

Die data wil je niet verliezen als je de container stopt. Je kunt 'volumes' koppelen. Dat is een map op je host-server die je in de container hangt.

Bijvoorbeeld: docker run -v /home/user/logs:/app/logs mijn-trading-bot. Nu schrijft je bot naar /app/logs, maar die map bestaat echt op de server in /home/user/logs.

Je logs zijn veilig. Je kunt ook environment variables injecteren voor je API keys. Zo hoef je geen gevoelige data in je image te stoppen.

Wil je meerdere bots draaien? Gebruik dan Docker Compose om een database en bot samen te draaien.

Dat is een YAML bestand waarin je beschrijft: "Ik wil 3 containers draaien. Eén voor de US-markt, één voor Europa, en één die de risico's in de gaten houdt". Je typt 'docker-compose up' en alles start tegelijk op, netjes gescheiden maar met de juiste connecties als je dat wilt.

Kostenplaatje en infrastructuur keuzes

De kosten hangen af van je ambities. Je kunt lokaal beginnen, dat kost niets extra. Voor productie draai je op een VPS.

Een degelijke VPS voor een of enkele bots (4 cores, 8GB RAM) bij een provider als Hetzner, DigitalOcean of Vultr kost tussen de €10 en €25 per maand.

Dit is vaak voldoende voor meerdere containers met Python bots die REST API calls maken. Als je echt laag wilt zitten qua latency, kies je voor een 'bare metal' server of de perfecte infrastructuur voor je trading bot in een datacenter naast je broker.

Denk aan Beeks of McKay in de LD4 (Londen) datacenters. Dit is duurder. Denk aan €200 - €500 per maand voor dedicated hardware. Maar de latency winst is hier vaak de moeite waard voor HFT (High Frequency Trading) strategieën.

Je betaalt voor locatie. Managed Kubernetes is de volgende stap.

Als je 50+ bots draait, is handmatig beheer niet te doen. Platforms zoals AWS EKS of DigitalOcean Kubernetes kosten ongeveer €50 - €100 per maand voor de basis, exclusief de compute kosten voor je nodes. Dit is complexer, maar je kunt er zeer schaalbare systemen mee bouwen die automatisch op- en afschalen op basis van marktactiviteit. Vergeet de broker kosten niet.

Sommige brokers rekenen extra voor het gebruik van API's of voor het draaien van scripts op hun eigen servers (bijv. QuantConnect of MetaTrader). Docker lost dat niet op, maar het maakt het makkelijker om te wisselen van broker mocht dat nodig zijn. Je draait je container gewoon ergens anders.

Praktische tips voor je eerste container

Begin klein. Pak je eenvoudigste script.

Een bot die gewoon de koers van Bitcoin uitleest en in een logbestand schrijft. Zorg dat je requirements.txt perfect is. Test dit lokaal in een virtuele omgeving en bepaal hoeveel RAM je trading bot nodig heeft.

Als het daar werkt, maak je de Dockerfile. Bouw de image en draai hem lokaal in Docker. Check de logs. Is alles zichtbaar?

Leer de basics van 'docker-compose'. Het maakt je leven zo veel makkelijker.

Je kunt er een database (zoals InfluxDB voor market data) en je bot in één keer mee opstarten. Geen gepruts met aparte terminals. Beveilig je containers. Gebruik nooit de 'root' user in je container als het niet nodig is.

Zorg dat je API keys via environment variables inleest, niet hardcode in je Python bestanden. Vergeet niet om je Docker images up-to-date te houden.

Updates voor Python libraries bevatten soms cruciale security patches. Monitor je boel. Zet je bot in de container, maar zorg dat je weet wat er gebeurt.

Gebruik simpele logging naar een volume, of beter, een tooltje als Prometheus of Grafana om te zien hoeveel geheugen je bot gebruikt.

Als je bot crasht, wil je niet dat de container eindeloos herstart zonder dat je het doorhebt. Een simpele 'healthcheck' in je Dockerfile helpt hierbij. Tot slot: vergeet je 'entrypoint' niet.

Soms wil je een scriptje draaien voordat je bot start, bijvoorbeeld om de nieuwste data te pullen.

Zorg dat je Dockerfile dit soort logica bevat. Zo bouw je een echte productie-ready infrastructuur voor je algoritmische trading.

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.

Volgende stap
Bekijk alle artikelen over Infrastructuur, VPS & Latency
Ga naar overzicht →