当前位置: 首页 > 知识库问答 >
问题:

通过Python连接到交互式代理API

厍胤运
2023-03-14

我正在寻找将Python连接到交互式代理应用编程接口。谷歌搜索显示了ibPy的可用性(见https://pypi.python.org/pypi/ib),但是这个库似乎没有得到维护,也不支持Python 3。我还发现https://github.com/colin1alexander/IbPython3但是这个项目已经被取消了。

我知道Quantopian使用交互式代理作为其执行代理,但有一个用于算法策略的python前端。我很想知道他们是如何做到这一点的?但是,更广泛地说,有人对如何将python连接到交互式代理有任何推荐的资源/见解吗?

共有3个答案

澹台承
2023-03-14

除了IB的官方网络研讨会。有在线研讨会和Github,如下所示。

乌德米: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. 提取执行信息,包括委员会报告
谭嘉歆
2023-03-14

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

看医生。

宗政金鹏
2023-03-14

更新代码

IB现在(2017年2月)有了一个官方的Python SDK(又名API)。它只支持Python3(如果必须使用Python2,请使用IbPy)

  • 链接到文档:http://interactivebrokers.github.io/tws-api/

支持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配合使用,效果非常好。

如果使用Python3,我会把重点放在字节与unicode主题上,因为传入API的字符串(根据我的经验)必须是字节(我通常使用来自未来的…unicode_文本的Python2)

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

编辑:

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

>

  • ibpy获取投资组合信息:Interactive Broker, Python

    获取列出的选项的参数

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

  •  类似资料:
    • 我使用的是虚拟机、Ubuntu 16.04、Python 2.7.12。我从这里学到了一个例子。我正在使用演示帐户和TWS。 我可以连接到TWS,因为从日志中我可以看到: 但是我不能做一个订单,我从日志中得到错误: ,是什么意思?如何通过python API修复并使订单?非常感谢。

    • 如果我想使用交互式经纪人Java API检查当前头寸,然后通过出售或购买每个头寸的股票来重新平衡这些头寸,我只需要使用EWrapper。position()方法获取帐户中的当前头寸?或者我应该使用EClientSocket。reqPositions()方法来获取它? Ewrapper似乎用于从TWS接收信息到客户端,而EClientSocket用于向TWS发送请求。在这种情况下,我是否同时使用po

    • 我试图通过API访问XML文档。当我尝试用python连接时,我得到一个403状态代码。但是,当我将链接粘贴到chrome浏览器中时,数据将按其应有的方式显示。我知道我可能需要在Python中为我的请求添加一些头,但我不知道如何这样做。 我可以在chrome中获取标题,但不确定需要添加哪些标题到请求中 接受:text/html、application/xhtml-xml、application/x

    • 我已经设法让EclipseJuno连接到internet。为了实现这一点,stackoverflow上有许多帖子。以下是其中一个链接:Eclipse未通过代理连接到internet 今天我安装了Eclipse开普勒在我的Windows7框。但是访问eclipse市场或安装新软件是行不通的。我使用的代理配置与我在Eclipse Juno中使用的完全相同。朱诺可以进入市场,但开普勒不能。代理使用NTL

    • 我似乎无法使用Docker容器连接到CloudSQL。 首先,这里是我的文件路径:https://imgur.com/a/Nmx41o6 Dockerfile.dev: Dockerfile.sql 我的节点索引.js文件。我不认为有什么问题,也许我输入了错误的连接字符串格式?据我所知,密码和用户是正确的。 我得到的错误: 解决:我切换到TCP。拧入unix插座。这太令人困惑了。

    • 问题内容: 我无法弄清楚如何使用ftplib查看FTP站点的文件内容。 我可以很好地使用WinSCP连接到FTP站点,并在根目录中看到6个文件。 在Python 3.4中,我使用以下代码: 产生: 然后,我可以运行以下命令: …我看到我在根目录中: 一切似乎都是肉汁。但是,当我尝试使用ftps.dir()或ftps.retrlines(’NLST’)或其他任何尝试查看目录中的内容时,出现超时: 我