Verwenden von IBridgePy zur Implementierung von Python in Interactive Brokers API Im vorherigen Artikel über IBPy Tutorial zur Implementierung von Python in Interactive Brokers API. Ich sprach über Interactive Brokers, seine API und Umsetzung Python-Codes mit IBPy. In diesem Artikel werde ich über die Umsetzung Python in IB8217s C API mit einem Wrapper, geschrieben von Dr. Hui Liu sprechen. Über Dr. Hui Liu Dr. Hui Liu ist der Gründer von Running River Investment LLC, einem privaten Hedgefonds, der auf die Entwicklung automatisierter Handelsstrategien mit Python spezialisiert ist. Hui ist der Autor von IBridgePy, einer berühmten Python-Handelsplattform, die es Tradern erlaubt, ihre Handelsstrategien schnell umzusetzen. Dr. Hui Liu erhielt seinen Bachelor-Abschluss und Master-Abschluss in Materialwissenschaften und Ingenieurwesen von der Tsinghua Universität, China und Ph. D. von der Universität von Virginia, USA. Sein MBA war von der Indiana University, U. S.A und seine Studie Interesse an Indiana war quantitative Analyse. Dr. Lius IBridgePy ist die Wrapper, die Ihnen helfen, Handel mit Interactive Brokers API mit Python, anstelle von IBPy oder Quantopian. QuantInsti veranstaltete ein sehr erfolgreiches Webinar zu diesem Thema und wir hatten eine Rekordzahl von Registranten (1000) an dem Webinar, das von Dr. Liu selbst durchgeführt wurde. Ich werde den Link zum Webinar am Ende dieses Artikels teilen. IBridgePy ist eines der flexibelsten und freundlichsten Python-Pakete, die zur Implementierung von Python auf Interactive Brokers API verwendet werden können. Es ist ganz anders als IBPy. Nun, ist eine Drittanbieter-Implementierung der Application Programming Interface, die für den Zugriff auf IBs Trader Workstation verwendet wird. Während IBridgePy arbeitet anders, es nicht Re-Umsetzung Interactive Broker API. Stattdessen hilft es Python, IBs C API direkt aufrufen, da es als ein Wrapper fungiert. Da IBridgePy IBs C API direkt aufruft, können wir daher weniger Fehler und Ausnahmen im Programm erwarten. Aus einem einfachen Grund: Interactive Brokers C API wird offiziell von Interactive Brokers verwaltet. In der Tat, wenn Interactive Brokers haben eine neue Version ihrer Plattform, dann wird die API auch aktualisiert werden. Was sind die Vorteile der Verwendung von IBridgePy IbridgePy hat einige Schlüsseleigenschaften, die es vorteilhafter für Benutzer bilden und ich werde sie auflisten als: Flexibilität Das Beste an IBridgePy ist die Tatsache, dass Sie es verwenden können, um irgendeine Art von Wertpapieren zu handeln. Sie können Aktien, Futures, Optionen, Forex etc. handeln. Einer von Dr. Lius Motivationen zu entwickeln IBridgePy war, um die Anwendung flexibel zu machen. Quantopian können Sie nur in Aktien handeln und die Zeit Häufigkeit für den Handel ist nur zwei Minuten. Auf IBridgePy können Sie jedes beliebige Python-Paket und Zugriffsdatenquelle verwenden. Einfache Handhabung Die Komplexität der Interactive Brokers API wurde durch die benutzerfreundliche Oberfläche von IBridgePy komplett erschöpft. Sie müssen keine zusätzlichen Anstrengungen unternehmen, um Ihre Aufträge zu verwalten, die anstehen oder Codes schreiben, um historische Daten oder Zitate vom Server zu erhalten, da der Wrapper darauf achtet. Privatsphäre ist sehr wichtig und einer der übersehenen Faktoren zu Zeiten, wenn Sie Ihre Anmeldeinformationen an ein Drittanbieterprogramm ausgeben, das auf einem anderen Server ausgeführt wird. Allerdings ist IBridgePy auf Ihrem Computer ausgeführt, so dass Ihre Privatsphäre ist völlig unter Ihrer Kontrolle. Wer sollte IBridgePy verwenden Die Leute, die in Automatisierte Handel Diejenigen, die es als Markt oder Lager Screener verwenden möchten Wie installieren Sie IBridgePy Zunächst einmal müssen Sie eine E-Mail an ibridgepygmail fordern für die Standalone-Anwendung senden. Sie erhalten den Download-Link per E-Mail. Laden Sie die komprimierte Datei (.zip) und extrahieren Sie sie in Ihrem lokalen Ordner. Voraussetzungen Sie sollten folgende Programme auf Ihrem System installiert haben: Interactive Brokers TWS. Wir haben im Detail, wie die Installation von Interactive Brokers TWS im vorherigen Artikel diskutiert. Alternativ können Sie auch IB Gateway (die zusammen mit TWS kommt) Sie sollten auch ein Python-Paket auf Ihrem System installiert haben. Ich bin mit Anaconda, aber Dr. Liu hat mit Python (XY), die eine wissenschaftliche IDE für Python, die nur auf Windows läuft empfohlen. Sie sollten IbridgePy (und die Menge der Beispielprogramme) haben, die Sie erhalten können, indem Sie eine Anforderung an IbridgePy8217s email schreiben, die oben erwähnt wird. TWS oder IB Gateway Sowohl TWS als auch Gateway können verwendet werden, um zu handeln. Wenn Sie relativ neu in den Handel sind, dann würde ich TWS empfehlen, da es benutzerfreundlicher ist. Wenn Sie jedoch Zeit sparen und IB-Neustarts vermeiden wollen, dann gehen Sie für das IB Gateway. Wir folgen den gleichen Schritten wie im vorherigen Artikel. Wenn der Anmeldebildschirm angezeigt wird, auf IB Gateway überprüfen und fortfahren. Wenn das IB Gateway geöffnet wird, gehen wir zu seiner Konfiguration, genau wie wir mit TWS. Darauf folgt die manuelle Konfiguration des IB Gateway. Klicken Sie anschließend auf Einstellungen. Obwohl hier nichts zu ändern ist, können wir den Port wie pro Ihre Notwendigkeit einstellen, obgleich es nicht empfohlen wird. Wir werden auch TWS setzen, wie wir es im vorherigen Artikel getan haben. Starten Sie TWS nach der Konfiguration neu. Vorbereitung der IDE Der nächste wichtige Schritt in diesem Tutorial ist, die Pythons IDE vorzubereiten. Wenn Sie Python (XY) verwenden, müssen Sie die ausführbare Datei starten und dann Spyder ausführen: Sobald Spyder gestartet wird, gehen Sie wie folgt vor: Ausführen des Beispielprogramms Klicken Sie in Spyder IDE auf RUNME. py, indem Sie auf Datei und dann auf Öffnen klicken. RUNME. py ist das Programm, das Sie dies als Eingang, aber examplemovingaveragecross. py laufen können, ist die Datei, wo die Handelsstrategie gehalten wird. Stellen Sie danach sicher, dass Sie sich bei IB TWS oder IB Gateway anmelden. Drücken Sie auf das grüne Dreieck oder drücken Sie F5. Decodierung der Codestruktur Genau wie ich über die Struktur des Programms in meinem vorherigen Artikel diskutiert hatte, werde ich auch hier über die Codestruktur sprechen. Wir definieren initialize (), bei dem es sich um eine eingebaute Methode handelt, die Variablen aufruft, die nur einmal ausgeführt werden. Als nächstes definieren wir handledata (). Die auch eine eingebaute Methode ist, in der die Handelsentscheidung getroffen wird. Hier werden zwei Eingaben (Kontext, Daten) gegeben. Context enthält die in initialize () beanspruchten Variablen. Während die Daten die Live-Feed erhalten entweder täglich oder minutiös. Zeile 19: Sie können einen Algorithmus auswählen, den Sie ausführen möchten, indem Sie andere auskommentieren. Zeile 20: Ihr Interactive Brokers-Kontocode Zeile 21: Die Häufigkeit oder wie oft die Funktion von handledata (Kontext, Daten), 60 bedeutet, dass es jede Minute ausgeführt wird Und 1 bedeutet, dass es jede Sekunde laufen. Zeile 22: Es gibt 4 Stufen, um Ergebnisse anzuzeigen ERROR: nur Fehlermeldungen anzeigen INFO: typische Benutzer werden es verwenden, um die Ergebnisse Ihres algo zu kennen DEBUG: Sie wissen vielleicht mehr Infos, wenn Sie Ihr algo NOT debuggen: Sie werden enorme Informationen sehen, wenn Wollen Sie wirklich wissen, was los ist Die 3 Ecksteine von IBridgePy Hier sind drei der auffälligsten eingebauten Funktionen, die die Eckpfeiler von IbridgePy bilden: Showrealtime Preis Requestdata Platzierung Realzeit-Anführungszeichen In der obigen Zeile sehen Sie die Die verwendeten Parameter sind CASH, EUR, USD, die mit den Devisenkursen in Echtzeit für die angegebenen Währungen zurückkehren werden. Ebenso können Sie STK, AAPL, USD und den Wert der APPLE-Aktie in US-Dollar verwenden. STK ist der Sicherheitstyp, den wir im vorigen Artikel über Implementieren von Python in Interactive Brokers API mit IBPy ausführlich besprochen haben. Abrufen historischer Daten requestdata ist die Funktion, die verwendet wird, um historische Daten von Interactive Brokers zu erhalten. Sie müssen auch einen Parameter historyData angeben. Bei den Parametern wählen wir das Gerät aus, für das die historischen Daten benötigt werden. Im obigen Beispiel handelt es sich um SPY, bei dem es sich um ein ETF-Tracking auf dem SampP500-Index handelt. Als Nächstes geben wir die Zeitlücke an, in unserem Beispiel ist es 1 Tag Go - back-Periode ist der nächste Parameter, in dem wir die Periode der historischen Daten angeben, die erforderlich ist. In unserem Beispiel ist es 50 D bedeutet zurück 50 Tage ab heute. Die abgerufenen historischen Daten werden in einem Pandas-Dataframe gespeichert, das bei hist, einem Attribut der DataClass, gespeichert wird, das in einem Wörterbuch mit Namen data gespeichert wird. Anfordern mehrerer historischer Daten So wie Sie für einen bestimmten Zeitraum historische Daten von Interactive Brokers angefordert haben, können Sie auch mehrere historische Daten gleichzeitig abrufen. Sehen Sie sich den unten stehenden Code an: Ich habe SPY und AAPL angegeben und die angegebene Zeitlücke beträgt 1 Minute (1 Minute) bzw. 1 Tag. Der angegebene Zeitraum beträgt 1 D amp 10 D (D Tage). Ähnlich haben wir auch die Anforderungen in der Ausgabefunktion spezifiziert. Die Auslieferung der Auftragserteilung ist der wichtigste Schritt in unserem gesamten Prozess und hier ist, wie wir die Bestellung auf Interactive Brokers mit IBridgePy vergeben: Platzieren Sie Marktaufträge: Auftrag (Symbol (Sicherheit), x) Hier ist Sicherheit die Zielsicherheit, z. B. SPY und X ist die Anzahl der Aktien. X bedeutet SELL und x bedeutet BUY. ZB die Reihenfolge (Symbol (SPY), 100) Die Zielsicherheit ist SPY Die Aktion ist, 100 Aktien zu kaufen, wenn n gt 0 Wenn es -100 war, dann ist die negative Zahl SELL, -100 SELL 100 Aktien Ordertarget (Symbol (SPY ), 100) werden Positionen, die auf Ihren Positionen basieren, entweder durch KAUF oder VERKAUF anpassen, bis Sie 100 Aktien PlatzlimitStop-Bestellungen (Symbol (SPY), 100, LimitOrder (213.42)) platzieren Preis 213.42 pro Aktie (Symbol (SPY), -100, StopOrder (213.42)) eine Stop-Order auf 100 Stück SPY zu einem Preis von 213,42 pro Aktie zu verteilen. Es wird dringend empfohlen, den Status der Bestellung, Using orderstatusmonitor () Genau wie im vorherigen Tutorial hatten wir eine orderId angegeben, hier auch eine function orderId, die die eindeutige Identität Ihrer Bestellanfragen ist. Für Marktaufträge sollten Sie Gefüllte als Endpunkt Ihrer Bestellanforderung erwarten, dh die Aufträge wurden bei Interactive Brokers ausgeführt. Bei Limit - und Stop-Aufträgen wird der erwartete Status übergeben, dh die Aufträge wurden von IB akzeptiert und warten auf die Ausführung. Für hohe Liquidität Wertpapiere, dauert es nicht zu lange (ein paar Sekunden), um die Transaktionen abzuschließen. Das IbridgePy. Tradersingleaccount ist der Name des Moduls und es folgt ein ANFRAGE, 100 Aktien zu kaufen. Darauf folgt der Kontostand. Sie können Aufnahmen von Dr. Hui Liu8217s Webinar hier ansehen. Dies ist ein relativ einfaches Tutorial und kann leicht verstanden werden, wenn Sie bereits durch unsere vorherigen Artikel gegangen. Wir möchten, dass Sie mit IBridgePy versuchen, auf Interactive Brokers zu handeln und zu sehen, welchen Sie einfacher finden - IBPy oder IBridgePy. Wir warten auf Ihre Rückmeldung. In der Zwischenzeit möchten wir Ihnen auch mitteilen, dass wir über eine andere API namens KiteConnect diskutieren werden, die auch für den Handel mit Python verwendet wird, ohne an bestimmte Handelsplattformen User Interface gebunden zu sein. Sie können mehr über Python für algorithmischen Handel hier lesen und es wird von Programmierern auf der ganzen Welt bevorzugt. Wenn Sie mehr über algorithmischen Handel und quantitative Finanzen wissen wollen, dann sollten Sie sich für einen kostenlosen Anruf von unserem EPAT-Spezialisten anmelden, indem Sie sich hier anmelden. In Verbindung stehende Artikel: IB bietet seinen Kontoinhabern eine Vielzahl von proprietären Handelsplattformen an, die keine Kosten und deshalb nicht aktiv fördern oder die Plattformen oder Zusatz-Software anderer Verkäufer anbieten. Dennoch, da die IBE-Haupthandelsplattform, die TraderWorkstation (TWS), mit einer offenen API operiert, gibt es zahlreiche Drittanbieter, die Auftragseingang, Charting und verschiedene andere analytische Programme erstellen, die in Verbindung mit dem TWS für die Ausführung von Aufträgen operieren Durch IB. Da diese API-Spezifikationen veröffentlicht werden, sind wir nicht notwendigerweise von allen Anbietern, die Anwendungen erstellen, um mit der TWS zu integrieren, aber ein Programm, das als der Investoren-Marktplatz, der als Self-Service-Gemeinschaft zusammenbringt Drittanbieter, die haben, Produkte und Dienstleistungen mit IB-Kunden, die eine spezifische Notwendigkeit zu erfüllen. Während MetaQuotes Software kein Teilnehmer des IBs Investors Marketplace ist, bieten sie auf einer Zusammenarbeit mit oneZero Financial System das oneZero Hub Gateway an, um MetaTrader 5 mit TWS zu verbinden. Kunden, die interessiert sind, müssen Kontakt mit oneZero direkt für zusätzliche Unterstützung. Weitere Informationen finden Sie im Abschnitt "Kontakt" unter der folgenden URL. Hinweis: Neben einem Zero Hub Gateway bieten verschiedene Anbieter wie Trade-Commander und jTWSdata auch eine Software, die sie darstellen, als eine Brücke zwischen MetaTrader 45 und TWS. Wie bei anderen Softwareanwendungen von Drittanbietern ist IB nicht in der Lage, Informationen oder Empfehlungen hinsichtlich der Kompatibilität oder des Betriebs dieser Software zu geben.
No comments:
Post a Comment