2015-12-19 8 views
8

Ich suche Python mit der Interactive Brokers API zu verbinden. Eine Google-Suche zeigt die Verfügbarkeit von ibPy (siehe https://pypi.python.org/pypi/ib), aber es scheint, dass diese Bibliothek nicht gepflegt wird, noch unterstützt es Python 3. Ich habe auch https://github.com/colin1alexander/IbPython3 gefunden, aber das Projekt wurde seither abgebaut.Verbinden mit Interactive Brokers API über Python

Ich bin mir bewusst, dass Quantopian Interactive Brokers als Ausführungsagent verwendet, aber ein Python-Frontend für algorithmische Strategien hat. Ich bin interessiert zu wissen, wie sie das erreichen? Allgemeiner hat jedoch jemand empfohlene Ressourcen/Einblicke, wie Python mit interaktiven Brokern verbunden werden kann? Vielen Dank im Voraus

+0

Ich habe ibPy mit Python 3.4 verwendet. – brian

+0

Für eine automatisierte Handelslösung? Irgendwelche Probleme mit der Implementierung oder Stabilität? –

+0

Ich habe es nur verwendet, um hier Fragen zu beantworten. Es hat alles soweit geklappt. Ich benutze Java für meinen automatisierten Handel. – brian

Antwort

8

Update

IB hat jetzt (Feb 2017) ein offizieller Python-SDK (aka API). Es unterstützt Python 3 nur (verwenden IbPy wenn Python 2 ist ein Muss)

Unterstützt API-Versionen 9.72 und höher.


Das ibpy Projekt ein neues Zuhause unter https://github.com/blampe/IbPy (und anscheinend einen neuen Besitzer mit ihm) gefunden

Wie Sie unterstützt in der Readme die API-Version sehen kann 9,70 ist. Aktuelle IB-API-Version ist 9.72, aber die bestehende ibpy funktioniert wie ein Charme mit den aktuellen Versionen von TWS (952 stabil, 954 neuesten Januar-2015) und die entsprechende 9.72 API. Wenn ich Python 3 verwende, würde ich den Schwerpunkt auf das Byte vs Unicode Thema legen, da die Strings, die in die API (nach meiner Erfahrung) übergeben werden, Bytes sein müssen (normalerweise mache ich Python 2 mit aus der Zukunft). unicode_literals)

Die Beispiele, die mit der ibpy Verteilung geliefert werden, arbeiten aus der Box.

Edit:

ich ein paar Arbeitsproben in anderen Antworten hinzugefügt haben:

Sie Queue verwenden es zu machen vollständige Arbeit Beispiel (das gleiche Konzept kann angewendet werden, um historische oder Echtzeitdaten zu liefern)

4

Interactive Brokers veranstaltete am 10. November 2016 ein Webinar zum Thema Implementieren von Algo Trading in Python mit Interactive Makler API. Der Vortragende gab eine gute Erklärung für die Anwendbarkeit von IBridgePy, einer Open-Source-Software, die für die Verbindung mit C++ - API von Interactive Brokers zur Ausführung von Python-Codes in Live-Märkten verwendet wird.

Das Webinar wurde aufgezeichnet, damit Sie es jederzeit anhören können. Der Link des Webinars ist hier: https://www.interactivebrokers.com/en/index.php?f=2227 IB kategorisiert ihre Webinare in verschiedenen Themen: TWS, Trading, API, etc. Nachdem Sie auf den Reiter "API" geklickt haben, werden Sie alle Webinare sehen API. IBridgePy funktioniert wie ein eigenständiger Quantopian und es ist viel einfacher als IBpy. IBridgePy finden Sie hier www.IBridgePy.com

+0

Sind Sie Dr. Hui Liu, der Autor von IBridgePy? – ChaimG

4

Interactive Brokers hat jetzt eine offizielle Python-API (Beta 9.73) download. Es erfordert Python 3.1+.

Siehe .

+0

Verwenden Sie [ibapi-fett] (https://github.com/quantrocket-llc/ibapi-grease), um diese API zu affen, indem Sie übermäßig vorbereitete (und möglicherweise schlecht implementierte) Sperr- und Debug-Protokolle entfernen und einen enormen Leistungsschub erzielen. Beispiel: Das Herstellen einer Socket-Verbindung mit TWS dauert von 1+ Sekunden bis zu einigen Millisekunden! Siehe auch [diese Diskussion] (https://github.com/InteractiveBrokers/tws-api/issues/464#issuecomment-317210580) auf GitHub. – ChaimG

Verwandte Themen