Je actuele portfolio balans opvragen via een Python script
Je portfolio balans checken zonder je broker te openen? Dat kan gewoon met een Python scriptje.
Handig voor algoritmische traders die hun risico’s in de gaten houden of snel willen weten hoeveel cash er nog beschikbaar is voor een nieuwe trade. Je script haalt de data direct uit de API van je broker. Dat werkt sneller, foutloos en je kunt het automatiseren. Geen gezoek meer in dashboards, gewoon een regel code en je weet het.
Wat is een portfolio balans script en waarom wil je dit?
Een portfolio balans script is een klein Python programma dat via de API van je broker je actuele vermogen ophaalt.
Je ziet direct je cash, je posities en de totale waarde van je account. Je kunt het script handmatig draaien of inplannen, bijvoorbeeld elke 5 minuten. Waarom zou je dit doen? Omdat je als algoritmische trader snelle beslissingen moet kunnen nemen.
Je wilt weten hoeveel ruimte je nog hebt voor nieuwe trades. Je wilt ook je risicomanagement op orde hebben: geen overbesteding, geen onverwachte margin calls.
Een script geeft je controle. Je ziet meteen of je portefeuille nog in balans is.
Je kunt een alert instellen als je cash onder een bepaalde drempel komt. Zo voorkom je dat je ongemerkt te ver gaat.
De kern: hoe werkt zo’n script?
Je script praat via een API met je broker. API staat voor Application Programming Interface.
Het is een soort menukaart waarmee je broker data aanbiedt. Jij vraagt de balans op en krijgt een antwoord terug, meestal in JSON-formaat. Stap 1: je hebt een API-sleutel nodig.
Die krijg je bij je broker. Bij Interactive Brokers gebruik je TWS of Gateway, bij Degiro heb je een aparte API-toegang, en bij Binance of andere crypto-brokers krijg je een key en secret.
Zorg dat je deze sleutels veilig opslaat, bijvoorbeeld in environment variables. Stap 2: je schrijft een Python script met een bibliotheek die bij je broker hoort.
Voor IBKR (Interactive Brokers) is dat bijvoorbeeld ib_insync of de officiële IB API. Voor Degiro gebruik je de Degiro API wrapper. Voor Binance is python-binance een populaire optie. Je importeert de library, je logt in met je credentials, en je vraagt de account-informatie op.
Stap 3: je verwerkt de data. Je haalt de cash-balans op, de waarde van je posities en eventueel de totale portfolio-waarde.
Je kunt deze data opslaan in een CSV, een database, of direct tonen in een dashboard. Je script kan ook een check doen op margin. Als je met hefboom werkt, wil je weten hoeveel marge je nog over hebt.
Een portfolio balans script is een directe lijn naar je broker. Geen menu’s, geen muis, gewoon code.
Je kunt een waarschuwing krijgen als je onder de veilige marge komt.
Dat helpt bij risicomanagement.
Prijzen, brokers en API’s: wat kost het en welke kies je?
De kosten hangen af van je broker. Bij IBKR betaal je geen extra kosten voor API-toegang, maar wel voor transacties.
Een standaard account bij IBKR kost niets per maand als je voldoende handelt. De API is gratis beschikbaar. Degiro vraagt geen aparte API-fee, maar je moet wel een account hebben.
De Degiro API is niet officieel ondersteund, maar er zijn wrappers beschikbaar. Die zijn gratis, maar je moet wel je login delen, wat risico’s met zich meebrengt.
Bij crypto-brokers zoals Binance of Kraken is de API gratis. Je betaalt alleen handelskosten.
Binance rekent circa 0,1% per trade, Kraken ongeveer hetzelfde. Voor een script dat alleen de balans opvraagt, betaal je niets extra. Wil je een professionele oplossing? Kijk dan naar platforms als Alpaca (voor aandelen) of QuantConnect.
Alpaca heeft een gratis API voor paper trading, een betaalde versie voor live trading. QuantConnect biedt een cloud-omgeving voor backtesting en live trading, vanaf ongeveer €20 per maand.
Je script zelf bouwen kost tijd, maar de bibliotheken zijn vaak gratis. Een eenvoudig script laat je in een uur bouwen als je Python kent. Een complexer script met dashboards en alerts kost een paar dagen.
Praktijkvoorbeeld: een script voor IBKR
Hieronder vind je een eenvoudig voorbeeld voor Interactive Brokers met ib_insync. Je installeert de bibliotheek met pip install ib_insync.
from ib_insync import IB, Stock
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)
account = ib.accountValues()
for item in account:
if item.tag == 'TotalCashValue':
print(f'Cash: {item.value} {item.currency}')
if item.tag == 'NetLiquidation':
print(f'Total portfolio value: {item.value} {item.currency}')
ib.disconnect()
Zorg dat TWS of Gateway draait en dat de API ingeschakeld is.
Dit script vraagt de cash en de netto liquidatiewaarde op. Je kunt het uitbreiden met posities: ib.positions() geeft je een lijst met aandelen, opties of futures. Je kunt de data opslaan in een CSV-bestand of een database zoals SQLite.
Voor Binance werkt het vergelijkbaar. Je installeert python-binance en gebruikt je API-key en secret.
Je roept client.get_account() aan en haalt de balans op. Je kunt ook de totale waarde in euro’s berekenen via de prijs van BTC of USDT. Voor Degiro kun je de degiro-api wrapper gebruiken. Je logt in met je gebruikersnaam en wachtwoord.
De wrapper geeft je een lijst met posities en de cash-balans. Let op: de API is niet officieel, dus test altijd eerst met een demo-account.
Praktische tips voor een soepel script
- Sla je API-sleutels veilig op. Gebruik environment variables of een .env-bestand. Deel ze nooit in je code.
- Test altijd eerst met een paper account. Zo voorkom je echte trades terwijl je aan het ontwikkelen bent.
- Plan je script in. Gebruik cron (Linux/Mac) of Task Scheduler (Windows) om elke 5 of 10 minuten de balans op te halen.
- Log je data. Sla de balans op in een CSV of database. Zo kun je trends zien en je risicomanagement verbeteren.
- Stel alerts in. Gebruik een library als smtplib om een e-mail te sturen als je cash onder een drempel komt, bijvoorbeeld onder €1000.
- Let op rate limits. Brokers beperken het aantal API-aanroepen. Bij Binance is het limiet 1200 requests per minuut, bij IBKR is er een limiet op basis van je accounttype.
- Hou rekening met tijdzones. De markt sluit om 22:00 uur Nederlandse tijd voor aandelen. Voor crypto is de markt 24/7 open.
- Gebruik een virtual private server (VPS) als je 24/7 wilt draaien. Een VPS kost ongeveer €5-10 per maand.
Fouten die je wilt voorkomen
Een veelgemaakte fout is het niet afsluiten van de verbinding. Laat je script altijd netjes afsluiten met ib.disconnect() of een soortgelijke functie.
Anders blokkeer je je eigen verbinding. Een andere fout is het verkeerd interpreteren van de data. Waar moet een goede algo-broker aan voldoen als het gaat om data-output? Niet alle brokers geven de balans in euro’s.
Check de currency-code en reken indien nodig om. Gebruik een koers-API voor EUR/USD of EUR/GBP als dat nodig is.
Vergeet niet je script te monitoren. Een script dat crasht zonder dat je het merkt, levert geen data op. Gebruik logging en stel een e-mailalert in bij een crash.
Integratie met algoritmische trading en backtesting
Een portfolio balans script is een bouwsteen voor je algoritmische trading setup. Je kunt je script koppelen aan je trading bot. Als je bot je eerste marktorder wil plaatsen, checkt hij eerst de beschikbare cash en de marge.
Je kunt de balans ook gebruiken voor backtesting. Als je historische data combineert met je portfolio-waarde, zie je hoe je strategie had gepresteerd.
Gebruik libraries als backtrader of Zipline voor Python backtesting. Kies een broker met goede Python-documentatie en gebruik je portfolio-waarde als input voor je backtest.
Voor risicomanagement kun je je script uitbreiden met stop-loss en position-sizing. Je berekent per trade het maximale risico op basis van je huidige balans. Zo voorkom je dat je te veel inzet op één trade.
Wil je een professionele oplossing? Kijk dan naar platforms die al deze elementen combineren.
QuantConnect en Alpaca bieden integratie van data, backtesting en live trading. De kosten variëren van €20 tot €100 per maand, afhankelijk van je behoeften. Als je net begint, hou het simpel. Bouw eerst een script dat je balans ophaalt en opslaat.
Daarna voeg je alerts toe. Pas daarna koppel je het aan een trading bot.
Zo bouw je stap voor stap een robuuste setup. Met een portfolio balans script heb je altijd inzicht in je vermogen.
Je beslist sneller, je beheerst je risico’s en je bouwt een stevige basis voor algoritmische trading. Begin vandaag nog, en je zult merken hoeveel rust dit geeft.
