问题标签 [ib-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1639 浏览

python - Python IBAPI reqContractDetails 在第二次运行时不会返回结果

我想请求合同详细信息,它在我第一次运行代码时工作,但是当我再次按运行时,它不会返回任何内容。如果我退出 TWS 和 pycharm 并重试,它将起作用。我是 python 新手,不了解它的整体工作原理,请帮忙。

没有错误消息,只是没有结果:“进程以退出代码 0 完成”。

0 投票
1 回答
828 浏览

tws - IB Api 通过传递交换名称获取符号列表

我是 IB API 的新手,我想获取特定交易所类型的符号列表。所以基本上我会通过交换/类型并接收符号列表。

我无法找到相关的方法。

请指教。

0 投票
2 回答
2301 浏览

python-3.x - 运行 ibapi 的 EReader 线程中的异常错误

我正在运行 Python ib-api 来接收来自 Interactive Brokers 的实时市场数据。它可以提供我期望的数据,但以“EReader 线程中未处理的异常”结尾。

以下是错误消息:

EReader 线程 Traceback 中未处理的异常(最近一次调用最后一次):文件“D:\Anaconda3\envs\myweb\lib\site-packages\ibapi\reader.py”,第 34 行,>运行数据 = self.conn.recvMsg () 文件“D:\Anaconda3\envs\myweb\lib\site-packages\ibapi\connection.py”,行 >99,在 recvMsg buf = self._recvAllMsg() 文件“D:\Anaconda3\envs\myweb\ lib\site-packages\ibapi\connection.py", line >119, in _recvAllMsg buf = self.socket.recv(4096) OSError: [WinError 10038] An operation was tried on something that is >not a socket

0 投票
4 回答
7981 浏览

python - 安装 ibapi 包

嗨,我正在尝试在 python 中安装 ibapi,但是该软件包似乎不可用,因为每次尝试安装时都会出错,是否有另一种方法可以安装此软件包。对你的帮助表示感谢。我留下了我使用的代码。尝试安装软件包

0 投票
1 回答
534 浏览

python - 在 jupyter notebook 中总是出现运行时错误

每次我尝试连接到 Ibt 时,都会收到运行时错误“此事件循环已在运行”。我不记得我之前有过这个错误,可能是我开始了一个没有结束的循环。这是代码和错误日志:

任何想法我该如何解决这个问题?

0 投票
0 回答
863 浏览

python - 我怎么知道我从 ib_api reqMktData 检索数据?

我是 Python 新手,开始使用 Interactive Brokers API。我的模拟账户中有一个期权组合,并希望检索与每种工具相关的风险。

我只从我在代码中定义的单一期权合约开始(DIS...)。我知道我缺少一些权限,但我应该能够使用 tickType = 83 的 tickOptionComputation(基于期权和基础价格的最后收盘价)。

我在哪里将 ticktype 指定为 83?它是否应该在被覆盖的 tickPrice 方法中(我需要在此处添加它)如何确保在取消订阅之前填充了我的 all_risk 数据框?我需要以某种方式告诉 reqMktData 停止(通过 cancelMktData),否则我的数据框永远不会被填充,我只是在打印更新。

目前这是我得到的:

另外一个问题,当市场关闭时,我无法从 BOX 交易所获得任何东西,我需要切换到另一个吗?(NYSE/TOP/ALL 或 ARCA,但我错过了那里的市场订阅)

0 投票
1 回答
1275 浏览

python - 我怎样才能避免得到 OSError: [Errno 9] Bad file descriptor using ibapi?

在以下代码中,我将数据收集到名为 ohlcv 的 pandas 数据帧作为函数并将应用程序抛出到 ib 服务器:

当我调用该函数时,代码运行良好,我将数据收集为 pandas 数据框。但是,我收到以下错误,我想了解并找到避免它的方法:

0 投票
1 回答
79 浏览

python - IB_insync 为共享返回小整数(1 = 100, 0 = 50?)需要浮点数或适当缩放的整数

使用 IB_insync API。

加载ticker.Domticks 并接收报价列表时,美元金额似乎是正确的,但份额显示为0、1、3、6 等小整数......当它们最有可能缩放100 倍时......零很可能是少于 100 股。因为它不是浮点数,所以无法缩放。有谁知道为什么它会错误地返回股票号码?我最近确实订阅了 ASX 澳大利亚交易所,并注意到股票数量以数千计,所以它可能是正确的。合约 = 股票('AAPL', "ISLAND","USD") > 合约 = 股票('CBA', "ASX","AUD")

0 投票
1 回答
701 浏览

python - 什么是来自 ibapi.utils 的 @iswrapper 装饰器?

顾名思义,@iswrapperdecorator 是做什么的?我经常在官方文档中看到它,但找不到任何解释。

0 投票
1 回答
47 浏览

tws - 在哪里定义了哪个回调用于 EClient 中的特定方法

我刚刚开始在 python 中使用 IB API。我能够检索到所有我想要的结果。但是,我遇到了一个大问题。我不完全理解EClient类和特定回调之间的联系是如何在类中建立的EWrapper

截至目前,我了解这样的工作流程(高级):

  1. EClient 实例调用 IB 网关。
  2. IB 网关本身与 IB 数据中心联系以获取数据
  3. 数据返回 IB 网关
  4. IB网关调用回调,即接口

据我了解,IB网关触发了正确的回调函数。我从文档/源代码中没有看到的是EClient方法和我在我的EWrapper类中覆盖的接口(回调)之间的连接。当我在上面的步骤 1 中触发特定方法时。IB 网关如何知道要运行哪个回调?这是在某处指定的吗?