通过Python连接到Interactive Brokers API

时间:2015-12-19 13:26:51

标签: python api interactive-brokers

我希望将Python连接到Interactive Brokers API。谷歌搜索显示ibPy的可用性(参见https://pypi.python.org/pypi/ib)但是看起来这个库没有被维护,也不支持Python 3.我还发现了https://github.com/colin1alexander/IbPython3但是该项目已被删除。

我知道Quantopian使用Interactive Brokers作为执行代理,但是有一个用于算法策略的python前端。我有兴趣知道他们是如何实现这一目标的吗?但更广泛地说,有没有人有关于如何将python连接到交互式代理的任何推荐资源/见解? 提前致谢

3 个答案:

答案 0 :(得分:10)

Update

IB现在(2017年2月)有一个官方Python SDK(又名API)。它仅支持Python 3(如果必须使用Python 2,则使用IbPy)

支持API版本9.72及更高版本。

ibpy项目在https://github.com/blampe/IbPy下找到了一个新家(显然是新主人)

正如您在README中看到的,支持的API版本是9.70。当前的IB API版本是9.72,但现有的ibpy就像当前版本的TWS(952稳定,截至2015年1月最新的954)以及相应的9.72 API一样。

如果使用Python 3,我会将大部分重点放在 bytes vs unicode 主题中,因为传递给API的字符串(根据我的经验)必须是字节(我通常使用Python 2)来自未来... unicode_literals)

ibpy分发提供的示例开箱即用。

编辑:

我在其他答案中添加了几个工作样本:

他们使用Queue使其成为一个完整的工作示例(可以应用相同的概念来提供历史或实时数据),以提供所要求的(或相应的错误)

答案 1 :(得分:5)

Interactive Brokers现在有一个官方的Python API(beta 9.73)download。它需要Python 3.1+。

请参阅docs

答案 2 :(得分:0)

除了IB的官方网络研讨会。以下是在线研讨会和Github。

Udemy: https://www.udemy.com/python-algo-trading-with-interactive-brokers/

Github: https://github.com/anthonyng2/ib

内容相对全面,涵盖了如何使用python 3.x:

  1. 提取帐户和投资组合信息
  2. 下达订单
  3. 请求市场数据
  4. 获取历史数据
  5. 访问市场深度信息
  6. 下载实时栏
  7. 提取执行信息,包括佣金报告