Wat is de Interactive Brokers TWS API?

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Brokers & API Integraties · 2026-02-15 · 6 min leestijd

Stel je voor: je hebt een handelsstrategie gebouwd in Python, je backtests draaien soepel en je risicomanagement staat als een huis.

Dan wil je die bot live laten draaien bij een broker. Interactive Brokers (IBKR) is een populaire keuze, en hun TWS API is de brug tussen jouw code en de markt. In dit stuk leg ik precies uit wat die API is, hoe hij werkt en wat je ermee kunt.

Wat is de Interactive Brokers TWS API?

De Interactive Brokers TWS API is een programmeerinterface waarmee je applicaties kunt bouwen die rechtstreeks communiceren met het Trader Workstation (TWS) platform of de IBKR Gateway. In gewoon Nederlands: je schrijft code die orders kan plaatsen, posities uitleest en marktdata ontvangt, zonder dat je handmatig in TWS klikt.

Het is een client-server model. Jij draait een script op je eigen machine, dat verbinding maakt met de lokale TWS- of Gateway-installatie. Die stuurt vervolgens je verzoeken door naar de IBKR-servers.

Dat is veilig en snel, want alles blijft binnen je eigen netwerk tot het echt de markt in gaat.

De API bestaat al jaren en wordt breed gebruikt door algoritmische traders. Je kunt hem integreren in Python, Java, C++ en meer. Voor ons doel draait het om Python: met libraries als ib_insync of de officiële ibapi-module bouw je bots die realtime reageren.

Belangrijk: de API is gratis beschikbaar voor klanten van IBKR. Je betaalt alleen de normale handelskosten en eventuele data-afname. Dat maakt het erg toegankelijk voor retail traders die met Python willen automatiseren.

Waarom de TWS API belangrijk is voor algoritmische traders

Als je serieus bent over algoritmische trading, wil je controle, snelheid en betrouwbaarheid. De TWS API geeft je die.

Je kunt orders precies zo uitvoeren als je strategie voorschrijft, zonder menselijke vertraging of fouten.

Denk aan risicomanagement: je kunt limieten instellen per strategie, per dag of per instrument. De API laat je posities monitoren en automatisch stop-losses of take-profits aanpassen. Dat is essentieel als je meerdere bots draait op verschillende markten.

Backtesting en live trading lopen soepel in elkaar over als je dezelfde data- en orderbronnen gebruikt. IBKR levert historische data en realtime quotes.

Je Python-bot kan die data consumeren, je strategie testen en daarna direct live gaan zonder wisselen van broker. Praktisch voordeel: breed marktaanbod. Aandelen, opties, futures, forex en CFD’s, allemaal via dezelfde API. Voor Python-gebruikers betekent dit één codebase voor meerdere asset classes, wat je onderhoud flink vereenvoudigt.

Hoe de API werkt: kern en praktische details

Je installeert TWS of IBKR Gateway op je computer. TWS is het volledige platform met grafieken en een interface; Gateway is de lichtgewicht versie zonder extra graphics, ideaal voor servers en headless omgevingen. Beide ondersteunen de API.

Je verbindt je Python-script met localhost op poort 7496 (TWS live) of 7497 (Gateway live).

In de papertrading-omgeving gebruik je 7496 en 7497 meestal niet; die werken via andere poorten. Check altijd de instellingen in TWS: je moet “Enable ActiveX and Socket Clients” aanzetten en je IP toevoegen.

Veiligheid gaat voorop. IBKR ondersteunt IP-whitelisting en tweefactorauthenticatie. Je API-sleutels en inloggegevens deel je niet.

Gebruik sterke wachtwoorden en bewaar credentials in environment variables, niet hardcoded in je code.

De API zelf is request-response en event-driven. Je stuurt een verzoek (bijvoorbeeld een order) en krijgt acknowledgements en updates terug: “Order geplaatst”, “Order gevuld”, “Positie gewijzigd”. In Python kun je met ib_insync eenvoudig callbacks registreren zodat je bot direct reageert. Marktdata is een apart verhaal.

IBKR biedt realtime data tegen kosten, afhankelijk van je abonnement. Voor Europese aandelen betaal je vaak €4–€12 per maand per exchange, plus eventuele toeslagen voor diepe data.

Voor US-markten zijn er bundels rond €10–€30 per maand. Check altijd de actuele tarieven op de IBKR-site.

Orders kun je diversificeren: market, limit, stop, trailing stop, bracket orders en meer. Voor risicomanagement zijn compliance- en throttling-regels ingesteld. De API limiteert het aantal verzoeken per seconde; dat voorkomt overload en zorgt voor eerlijke verdeling.

Varianten, modellen en kostenindicaties

Er zijn twee hoofdvarianten: TWS API en IBKR Mobile API. De Mobile API is voor apps op telefoons, maar voor ons is het essentieel om te kijken naar Interactive Brokers vs Alpaca om te bepalen welke API voor jouw bot superieur is.

Binnen TWS API kun je kiezen tussen de officiële ibapi-library (meer controle, meer complexiteit) en ib_insync (makkelijker voor Python, gebaseerd op asyncio). Voor algoritmische bots is verbinding maken met de Interactive Brokers API via ib_insync vaak de aanbevolen keuze.

Het voelt als normaal Python-code schrijven, met heldere methoden voor orders, data en posities. Je kunt het combineren met libraries als pandas voor analyse en numpy voor rekenwerk, en met backtesting-kaders zoals backtrader of vectorbt. Kostenindicaties op hoofdlijnen (check altijd de site voor actuele tarieven): Qua infrastructuur: een kleine VPS (€5–€15 per maand) is vaak voldoende om een Gateway-instantie te draaien.

  • API-gebruik zelf is gratis bij een IBKR-rekening.
  • Handelskosten: variabel per asset class. Voor aandelen bijvoorbeeld enkele cents per aandeel, met een minimum van €1–€2 per transactie in Europa. Opties en futures hebben eigen tariefstructuren.
  • Marktdata: Europese exchanges rond €4–€12 per maand per exchange; US-bundels vaak €10–€30 per maand. Sommige data is gratis als je voldoende handelt, maar reken daar niet blind op.
  • Margin: IBKR rekent scherpe tarieven, vaak benchmark + een kleine opslag. Voor daghandel of hefboomproducten check je de margin-requirements in de API.

Zorg voor stabiele internetverbinding en monitoring. Gebruik tools als Docker voor herhaalbare setups en logbestanden voor foutopsporing.

Praktische tips voor Python-gebruikers

Begin met papertrading. Maak een aparte Gateway-instantie aan voor de demo-omgeving en test je bot zonder echt geld.

Zo leer je de API kennen, de orderstroom en de data-events zonder risico.

Structureer je code rond drie lagen: data, strategie en uitvoering. Data haal je via de API (realtime en historisch). De strategie berekent signalen en risico.

  1. Per positie: stop-loss, take-profit en maximum grootte.
  2. Per dag: totaal risico per strategie en per account.
  3. Systeemfouten: time-out handling, herstellogica en een kill-switch.

De uitvoering stuurt orders en ontvangt updates. Scheiding houdt je bot overzichtelijk en onderhoudbaar.

Beheer risico op meerdere niveaus: Een kill-switch is cruciaal. Als je bot onverwacht gedrag vertoont, moet je met één commando alle open posities sluiten en nieuwe orders blokkeren. Test dit regelmatig in papertrading.

Monitor je datakosten en prestaties. Soms is een lichter data-abonnement voldoende voor je strategie.

  • Verbinding beheren: start de Gateway, verbind vanuit Python, controleer of je verbonden bent.
  • Marktdata abonneren: vraag tick-data of historische kandelaars aan voor je instrumenten.
  • Orders plaatsen: maak een Order-object, koppel het aan een Contract en verstuur via placeOrder.
  • Posities uitlezen: vraag posities op en koppel ze aan je risicoregels.

Gebruik caching voor historische data om API-limieten en kosten te beperken. Log elke order, elk antwoord en elke fout; zo vind je snel problemen terug. Gebruik ib_insync voor een vlotte Python-ervaring. Voorbeeldpatronen:

Test je bot op scenario’s: extreme volatiliteit, plotselinge spread-toename, incomplete data en netwerkonderbrekingen. Simuleer een crash op een indexfuture en kijk of je stop-loss goed uitvoert en of je risicobudget niet wordt overschreden.

Tot slot: hou het simpel. Een bot die stabiel draait met een beperkte set instrumenten is waardevoller dan een complex systeem dat constant faalt. Bouw stap voor stap, documenteer je keuzes en deel je learnings met een community van Python-traders.

De Interactive Brokers TWS API is je sleutel tot automatiseren met Python. Kies een broker met uitstekende documentatie, gebruik hem met aandacht voor risicomanagement, kosten en kwaliteit van data, en je hebt een krachtig gereedschap in handen voor 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 Brokers & API Integraties
Ga naar overzicht →