Kurze Zusammenfassung
Dieses Video bietet eine umfassende Anleitung zum Abrufen historischer Daten von Interactive Brokers (IBKR) mithilfe von Python. Es werden die notwendigen Schritte erläutert, von der Einrichtung eines IBKR-Kontos und dem Abonnieren von Marktdaten bis hin zur Installation der IBKR API und dem Schreiben von Python-Code zur Anforderung und Verarbeitung der Daten.
- Einrichtung eines Interactive Brokers-Kontos und Abonnieren von Marktdaten.
- Installation und Konfiguration der Trader Workstation (TWS).
- Implementierung der IBKR API in Python zur Anforderung und Verarbeitung historischer Daten.
- Speichern der abgerufenen Daten in einer CSV-Datei zur weiteren Analyse.
Historische Daten mit Interactive Brokers [0:00]
Der Sprecher erklärt, dass historische Daten für quantitative Modelle oder das Testen von Handelsstrategien unerlässlich sind und empfiehlt Interactive Brokers als Datenanbieter. Er betont seine über 10-jährige Erfahrung mit dem Unternehmen und verspricht eine detaillierte Schritt-für-Schritt-Anleitung, um sich mit IBKR vertraut zu machen, Marktdatenabonnements abzuschließen und historische Daten abzurufen. Außerdem wird auf die erforderlichen Python-Kenntnisse hingewiesen und auf Quonkill.com verwiesen, um quantitative Fähigkeiten zu verbessern.
Erste Schritte mit Interactive Brokers [1:15]
Zunächst wird die Eröffnung eines Interactive Brokers-Kontos empfohlen, wofür ein Link in der Beschreibung bereitgestellt wird. Nach der Registrierung muss man sich anmelden und die Marktdatenabonnements verwalten. Im Dashboard findet man über die Suchleiste die Option "Marktdatenabonnements", wo man die aktuellen Abonnements einsehen und konfigurieren kann. Es gibt verschiedene Datenpakete wie Kurspakete, Indizes und internationale Daten. Ein Mindestguthaben von 500 US-Dollar ist erforderlich, und es wird empfohlen, etwas mehr einzuzahlen, um einen Puffer zu haben. US-Aktiendaten werden als Beispiel für die Anforderung historischer Daten verwendet.
Einrichten der Trader Workstation [3:28]
Für die Anforderung historischer Daten benötigt man entweder das IB-Gateway oder die Trader Workstation (TWS). Im Video wird die Trader Workstation verwendet, da sie eine Benutzeroberfläche bietet. Man kann TWS von der Downloadseite herunterladen und für sein Betriebssystem installieren. Nach der Installation öffnet man die Trader Workstation-Anwendung, geht zum Paper-Trading-Bereich und meldet sich mit seinen Kontodaten an. Anschließend wird die Trader Workstation für die Datenanforderung von Python vorbereitet.
Erstellen einer historischen Datenanfrage in Python [4:28]
Die Schritte zur Anforderung historischer Marktdaten sind einfach: Zuerst müssen die benötigten Bibliotheken importiert werden, einschließlich der IB-API-Klasse. Dann wird eine Klasse für die IB-API erstellt, um Daten anzufordern und zu empfangen. Eine Funktion zum Abrufen der historischen Daten wird erstellt, und schließlich wird die Anwendung initialisiert und gestartet, um die Daten vom Server anzufordern. Der Server antwortet mit den historischen Daten, die in einer CSV-Datei gespeichert werden. Für die benötigten Bibliotheken müssen möglicherweise pip install-Befehle ausgeführt werden, z. B. pip install ibapi und pip install pandas.
IBKR API Implementierung (EWrapper und EClient) [7:08]
Es wird eine Klasse namens IBKR_App erstellt, die sowohl EWrapper als auch EClient als übergeordnete Klassen verwendet. Der EClient ermöglicht es, Anfragen an die Trader Workstation zu stellen, während der EWrapper der Ort ist, an den die Trader Workstation die Antwort sendet. Im Konstruktor der Klasse wird EClient initialisiert, und eine leere Liste self.data wird erstellt, um die historischen Daten zu speichern. Außerdem wird ein Flag self.finished hinzugefügt, um anzuzeigen, wann die historischen Daten vollständig abgerufen wurden. Die Methode historicalData wird verwendet, um die Balkendaten von der Trader Workstation zu empfangen und sie in einem Wörterbuch zu speichern, das dann der Liste self.data hinzugefügt wird. Die Methode historicalDataEnd setzt das Flag finished auf true, wenn die Anfrage abgeschlossen ist.
Anfordern und Verarbeiten historischer Daten [10:33]
Es wird eine Funktion namens get_equity_data erstellt, um die historischen Daten abzurufen. Diese Funktion benötigt einen Ticker als Eingabe, standardmäßig Nvidia. Zuerst wird eine Instanz der IBKR_App-Klasse erstellt und eine Verbindung zur Trader Workstation hergestellt. Dann wird ein Thread erstellt, um die Anwendung auszuführen, und eine Sekunde gewartet, bis die Initialisierung abgeschlossen ist. Ein Vertragsobjekt wird erstellt, um die Sicherheitseinstellungen für die Anforderung historischer Daten festzulegen. Anschließend wird die Methode reqHistoricalData verwendet, um die eigentliche Anfrage an die Trader Workstation zu stellen. Die Antwort wird in der Methode historicalData verarbeitet und in der Liste self.data gespeichert. Sobald die Anfrage abgeschlossen ist, wird die Verbindung zur Trader Workstation getrennt, die Daten werden in einen Pandas-DataFrame formatiert und als CSV-Datei gespeichert.
Debugging und Abfragen historischer Daten [19:47]
Im Video werden einige Fehler im Code behoben, z. B. die Verwendung von Klammern anstelle von eckigen Klammern beim Auswählen von Spalten aus dem DataFrame und ein Fehler bei der Angabe der Währung im Vertragsobjekt. Nach der Behebung dieser Fehler kann das Programm erfolgreich Apple-Daten abfragen und in einer CSV-Datei speichern. Abschließend bedankt sich der Sprecher bei den Zuschauern und fordert sie auf, das Video zu liken, zu kommentieren, zu abonnieren und zu teilen. Außerdem wird auf quangild.com verwiesen, um quantitative Fähigkeiten zu verbessern.