Bevor auch nur eine Zeile Strategie-Logik läuft, braucht ein algorithmischer Trader einen zuverlässigen Weg, Marktdaten hereinzubekommen und Orders herauszuschicken. Diese Infrastruktur — die Datenpipeline und API-Integration — ist unglamourös, aber der Ort, an dem die Mehrheit der Live-Trading-Bugs und -Ausfälle tatsächlich entsteht.
REST vs. WebSocket
| REST | WebSocket | |
|---|---|---|
| Muster | Anfrage → Antwort, einmalig | Dauerhafte Verbindung, Server pusht Updates |
| Typische Nutzung | Orders platzieren, historische Kerzen abrufen, Kontostand | Live-Kurs-Ticks, Orderbuch-Updates, Order-Fill-Benachrichtigungen |
| Latenz | Höher — neuer Verbindungs-/Auth-Overhead pro Aufruf | Niedrig — Verbindung bleibt offen |
| Fehlerverhalten | Läuft sauber in Timeout, leicht wiederholbar | Stille Verbindungsabbrüche — braucht Heartbeat-/Reconnect-Logik |
Eine robuste Pipeline entwerfen
- 1.Ingest — ein WebSocket-Listener für Live-Kurse mit automatischem Reconnect und Lückenerkennung.
- 2.Normalisieren — anbieterspezifische Formate (Zeitstempel, Symbolnamen) in ein internes Schema umwandeln.
- 3.Speichern — an eine Zeitreihen-Datenbank oder partitionierte Dateien (z. B. Parquet) für spätere Backtests anhängen.
- 4.Validieren — fehlende Kerzen, doppelte Ticks und Zeitstempel außer Reihenfolge markieren, bevor sie die Strategie-Logik erreichen.
- 5.Bereitstellen — saubere, validierte Daten über eine konsistente Schnittstelle an Backtesting- und Live-Strategiemodule liefern.
Die meisten Broker- und Datenanbieter-APIs begrenzen Anfragen pro Sekunde oder Minute. Eine schlecht geschriebene Polling-Schleife, die einen REST-Endpunkt hämmert, kann deinen API-Key mitten in der Sitzung temporär sperren lassen — genau dann, wenn du Live-Daten am meisten brauchst. Implementiere immer exponentielles Backoff und respektiere dokumentierte Limits.
Order-API-Grundlagen
- ▸Idempotenz-Schlüssel — eine eindeutige Client-Order-ID anhängen, damit eine wiederholte Anfrage nie eine Order doppelt einreicht.
- ▸Immer abgleichen — nach jeder Order-Aktion den tatsächlichen Positions-/Orderstatus beim Broker abfragen, statt dem lokalen Cache zu vertrauen.
- ▸Zuerst Sandbox — jede seriöse Broker-API bietet einen Paper-Trading-Endpunkt; teste die gesamte Pipeline dort, bevor echtes Geld angefasst wird.
async function fetchMitBackoff(url, opts, versuch = 0) {
try {
const res = await fetch(url, opts);
if (res.status === 429) throw new Error('rate limitiert');
return res;
} catch (e) {
if (versuch >= 5) throw e;
await sleep(2 ** versuch * 500);
return fetchMitBackoff(url, opts, versuch + 1);
}
}Das Fazit
Datenpipelines und API-Integration bekommen selten Anerkennung, wenn sie funktionieren, und die gesamte Schuld, wenn nicht. Behandle sie mit derselben Sorgfalt wie die Handelslogik selbst — eine großartige Strategie, die mit veralteten oder fehlerhaften Daten gefüttert wird, handelt genauso schlecht wie eine schlechte Strategie.