Je eerste marktorder plaatsen via Python bij een broker
Stel je voor: je hebt je strategie getest met een backtest in Python, je bot draait op een VPS, en nu is het tijd voor het echte werk. Je wilt een order de markt in sturen. Niet met de muis, maar via code. Het gevoel is anders. Dit is geen speeltuin meer. Echt geld ligt op het spel. Een verkeerde regel code en je portemonnee voelt het meteen. Laten we zorgen dat je eerste marktorder vliegt, zonder onnodige stress.Het verschil: van veilig spelen naar echt risico
Een backtest is een gesimuleerde omgeving. Je broker API geeft je een sandbox of testaccount.
Daar knoei je naar hartenlust. Je gooit met 10.000 euro nepgeld en ziet hoe je 'Golden Cross' strategie in 2022 had geprezen. Dat is veilig. Een live order via Python is direct contact met de beurs.
Je script vraagt om een aankoop en de broker voert het uit. Nu. Op de huidige prijs. Geen 'undo' knop.
De spanning die je voelt? Die is terecht. Het is hetzelfde verschil als een vluchtsimulator spelen versus daadwerkelijk een Boeing besturen.
Veel beginners draaien hun bot eerst een week op 'paper trading'. Dat is verstandig. Maar zelfs dan voelt een live order anders. Je moet je script vertrouwen. En je broker. Je risicomanagement is je enige veiligheidsnet.
Zorg dat je stop-loss en position sizing al in de code zitten verwerkt voordat je de eerste echte transactie aangaat. Anders ben je aan het gokken, niet aan het traden.
De juiste broker en API keuze voor Python traders
Niet elke broker is even Python-vriendelijk. Sommige zijn gebouwd voor handmatige handel via een platform als MetaTrader 5 (MT5).
Anderen bieden een native REST API aan. Voor algorithmic trading met Python werkt een native API vaak het soepelst. Je hebt minder rompslomp met wrappers die soms uit de lucht kunnen zijn.
Denk aan brokers als Interactive Brokers (IBKR) of DeGiro (hoewel DeGiro officieel geen volwaardige API heeft voor particulieren, zijn er community-gebaseerde oplossingen).
Een populaire keuze voor beginners en gevorderden is Trading 212 of een broker die compatibel is met de 'Alpaca' API structuur. Waarom? Omdat je bij deze brokers de beste documentatie voor Python vindt en je met een paar regels code al een order kunt plaatsen. Bij IBKR is het installeren van de TWS API gateway een vereiste. Dat voelt technisch, maar het is de standaard voor professionele setups.
Check de kosten. Een 'Market Order' via API kost vaak hetzelfde als handmatig, maar let op verborgen kosten.
Sommige brokers rekenen extra voor API-toegang of hebben minimum commissies van bijvoorbeeld €2 tot €4 per transactie. Voor een bot die veel kleine trades plaatst, is een lage commissie cruciaal. Kies een broker die transparant is over 'slippage' en uitvoeringssnelheid.
Stap voor stap: je eerste marktorder in Python
De basis van een API-call is simpel. Je hebt een 'endpoint' (een URL), een 'payload' (je ordergegevens) en een manier om jezelf te authenticeren (API key & secret). In Python gebruiken we meestal de `requests` library of een specifieke broker library zoals `ib_insync` voor IBKR.
Laten we een hypothetisch voorbeeld doen voor een broker die lijkt op Alpaca (makkelijk voor beginners).
Let op: Dit is pseudocode om het concept te tonen. De exacte syntax hangt af van je broker.
import requests
# Je API sleutels (nooit delen!)
API_KEY = 'jouw_sleutel_hier'
SECRET_KEY = 'jouw_geheim_hier'
BASE_URL = 'https://api.broker.com/v1'
# De payload: wat wil je kopen en hoe?
payload = {
"symbol": "AAPL",
"qty": 1,
"side": "buy",
"type": "market",
"time_in_force": "day"
}
# De request
response = requests.post(
f"{BASE_URL}/orders",
json=payload,
headers={"APCA-API-KEY-ID": API_KEY, "APCA-API-SECRET-KEY": SECRET_KEY}
)
print(response.json())
Je wilt 1 aandeel van Apple (AAPL) kopen. Als je dit draait en een '200 OK' terugkrijgt, ben je geslaagd.
Je order is de markt in gestuurd. De return geeft vaak een 'order_id'. Sla die op. Die heb je nodig als je de order later wilt annuleren of controleren. Voer dit eerst uit met een hoeveelheid van 0.01 aandelen of in je paper trading account om te zien of de verbinding werkt.
Veiligheid: Wat als het misgaat?
De grootste angst van elke beginner: een 'while True' loop die per ongeluk duizenden orders plaatst. Of een script dat een 'buy' order blijft herhalen terwijl de prijs blijft stijgen, waardoor je posities exponentieel groeien.
Dit heet een 'runaway bot' en het kan je account leegtrekken in minuten. Een absolute must-have in je code is een 'Order ID check'. Voordat je script een nieuwe order plaatst, moet het controleren of er al een openstaande order is voor dat specifieke aandeel.
Gebruik een status-check functie. Bijvoorbeeld: `get_open_orders()`. Als daar iets in staat, of als je je actuele portfolio balans wilt inzien, stop je de actie.
Gebruik ook een 'Kill Switch'. Dit is een simpele functie die bijvoorbeeld een bestand op je VPS scant. Als je 'STOP.txt' aanmaakt, moet je bot onmiddellijk al zijn posities sluiten en stoppen met traden. Zo heb je altijd de noodrem in de hand, zelfs als je niet achter je computer zit.
Jouw keuzekader: Welke broker kies jij?
Je bent er bijna. Voordat je codeert, moet je een broker kiezen en de juiste bridge instellen die bij je past.
Beantwoord deze vragen voor jezelf: Mijn advies? Start met een broker die een 'Paper Trading' omgeving biedt met dezelfde API als de live omgeving.
- Wat is mijn budget? Heb je €500 of €50.000 te beleggen? Sommige brokers vereisen een minimum saldo van $10.000 (zoals IBKR voor volledige API toegang), anderen starten bij €1.
- Wat wil ik traden? Alleen aandelen op de US markt? Of crypto, forex, of opties? Niet elke broker biedt alles aan via API.
- Hoe technisch ben ik? Wil je een simpele REST API (makkelijker) of de complexe TWS API van IBKR (meer mogelijkheden maar hogere leercurve)?
- Hoe belangrijk is snelheid? Voor scalping op de milliseconde is IBKR of een directe exchange connectie nodig. Voor 'swing trading' (trade die dagen duurt) maakt een vertraging van een seconde niet uit.
Probeer je script eerst 100 trades te laten draaien zonder echt geld.
Als je winstgevend bent en je voelt je comfortabel met de API calls, dan is het tijd voor de eerste live marktorder. Succes!
