【问题标题】:Connecting to Interactive Brokers API via Python通过 Python 连接到盈透证券 API
【发布时间】:2015-12-19 13:26:51
【问题描述】:

我希望将 Python 连接到 Interactive Brokers API。谷歌搜索显示了 ibPy 的可用性(请参阅 https://pypi.python.org/pypi/ib),但该库似乎未维护,也不支持 Python 3。我还发现了 https://github.com/colin1alexander/IbPython3,但该项目已被取消。

我知道 Quantopian 使用盈透证券作为他们的执行代理,但有一个用于算法策略的 Python 前端。我有兴趣知道他们是如何实现这一目标的?然而,更广泛地说,是否有人对如何将 python 连接到交互式代理有任何推荐的资源/见解?

【问题讨论】:

  • 我在 python 3.4 中使用过 ibPy。
  • 对于自动交易解决方案?实施或稳定性有任何问题吗?
  • 我只是用它来回答这里的问题。到目前为止,这一切都奏效了。我使用 java 进行自动交易。

标签: python api interactive-brokers


【解决方案1】:

Update

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

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


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

正如您在自述文件中看到的,支持的 API 版本是 9.70。当前的 IB API 版本是 9.72,但现有的 ibpy 与当前版本的 TWS(952 稳定版,954 最新版截至 2015 年 1 月)和相应的 9.72 API 一起工作就像一个魅力。

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

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

编辑:

我在其他答案中添加了几个工作示例:

他们使用Queue 使其成为一个完整的工作示例(相同的概念可用于交付历史或实时数据),它交付所请求的内容(或相应的错误)

【讨论】:

    【解决方案2】:

    Interactive Brokers 现在拥有官方 Python API(测试版 9.73)download。它需要 Python 3.1+。

    请参阅docs

    【讨论】:

      【解决方案3】:

      除了官方的 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. 提取执行信息,包括佣金报告

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多