问题标签 [tws]

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 回答
281 浏览

python - 如何将市场深度数据流存储到列表/数据框 - TWS(Ibapi Python)

我有一个脚本,可以使用 IBAPI 从 TWS 流式传输市场深度数据(QAN.ASX 示例)。我在尝试存储正在流式传输的数据时遇到了一些麻烦。似乎是一个简单的问题,我希望有人可以提出一两个建议来修改我的脚本?为了方便起见,我认为最好包含整个脚本。请注意,问题在 Main() 内部。

0 投票
2 回答
309 浏览

python - 使用 python IB API 堆叠数据

我正在下载 5 只股票('A'、'AAP'、'AAPL'、'ABBV'、'ABC')的 15 年数据(每日收盘)。问题是我有一些重复。第一个“A”没有问题,我得到了适量的数据。对于第二个“AAP”,我的行数是正确的两倍,似乎数据被下载了两次。最后 3 只股票的问题相同,我的行数是正确的三倍。我附上了一个显示 csv 文件大小的屏幕截图,如果一切正常,这些文件应该具有相同的大小。
我怀疑问题来自调用 reqHistoricalData 后的 10 秒暂停;可能太长了。我怎样才能避免重复的行以及如何暂停适当的时间(不要太长也不要太短)?

在此处输入图像描述

0 投票
0 回答
174 浏览

python - TWS API - 存储公司快照和财务报表

我的目标是使用代码列表和 TWS API 来提取公司快照的部分(reqFundamentalData() -> "ReportSnapshot")和这些代码的财务报表(reqFundamentalData() -> "ReportsFinStatements"),转换进入数据框并将其存储为镶木地板文件。
我试图合并提供的解决方案:

  1. 使用交易代码列表 TWS API 下载股票基本数据只运行第一个数据条目并忽略其他数据。谁来解决这个问题?
  2. 将 XML 存储为数据框 将 XML 转换为 Pandas
  3. 存储数据 将数据从 TWS API 保存到 csv 文件

代码:

我收到一条错误消息

有人可以帮我解决此错误消息吗?如果我删除 for 循环并仅针对单个代码运行它,例如

我没有收到错误消息,并且数据框 self.company_info 填充了 AMD 的正确数据。

一般的问题:

  1. 是否可以通过 reqFundamentalData() 在一次请求/运行中不仅获得公司信息“ReportSnapshot”,还可以获得财务报表“ReportsFinStatements”(df_fin_stmts 和函数“FinStmtsXMLtoDF”)?

  2. 我是 python 新手,希望函数仅在代码中调用函数时才被执行,但不知何故,使用 TWS API(套接字,reqID)它似乎工作不同,我不清楚何时调用哪个函数一个又一个之后。例如,我怎么知道通过执行 reqFundamentalData() 函数 basicData() 被调用。或者例如 nextValidID() 以某种方式被触发,但在程序中没有显式调用。有没有好的教程介绍什么函数按什么顺序调用的过程?

非常感谢

0 投票
0 回答
470 浏览

interactive-brokers - 盈透证券是这个错误吗?10197“竞争实时会话期间没有市场数据”

我正在尝试获取日本“6503”股票的股票期权价格,但出现错误

我没有订阅日本市场,但我仍然可以在 TWS 用户界面中看到期权的“最后价格”(并非全部,但对于某些期权合约,对于某些不可用并显示为“n/a”) .

问题 - 似乎这个错误代码 - 实际上不是一个错误,可以忽略,是真的吗?该错误根本没有意义,因为我没有任何竞争会议或论文会议。

我使用带有以下代码的 TWS Java API 来获取价格:

我正在使用 conid455178173来获取价格,如果您需要有关该选项的完整信息,这里是:

0 投票
0 回答
106 浏览

interactive-brokers - 如何在 Interactive Broker IB API 中获取每个账户的所有股票?

我有一个管理多个帐户的主帐户。如何获取每个账户的投资组合?我一直在尝试, self.reqPositions()但它只返回最近交易的账户。

例如,我有 3 个账户,而我只有 1 个账户有交易,所以其他 2 个账户当天没有任何交易,但我想获得他们当前的投资组合:

后续问题是,我如何为不在主账户上的每个账户下订单?谢谢你的回答。

0 投票
1 回答
236 浏览

interactive-brokers - 无法使用 ibapi 将 python 与 TWS 连接

这是我的代码:

执行此代码时,我只是收到基本消息:

错误 -1 2104 市场数据农场连接正常:hfarm 错误 -1 2104 市场数据农场连接正常:usfarm.nj 错误 -1 2104 市场数据农场连接正常:usfuture 错误 -1 2104 市场数据农场连接正常:jfarm错误 -1 2104 市场数据农场连接正常:eufarm 错误 -1 2104 市场数据农场连接正常:cashfarm 错误 -1 2104 市场数据农场连接正常:usfarm 错误 -1 2106 HMDS 数据农场连接正常:euhmds 错误 - 1 2106 HMDS 数据场连接正常:fundfarm ERROR -1 2106 HMDS 数据场连接正常:ushmds ERROR -1 2158 Sec-def 数据场连接正常:secdefnj

我从 IBKR 在线视频中复制了代码。我不知道我做错了什么。我将不胜感激任何帮助。

0 投票
1 回答
85 浏览

interactive-brokers - 无法从 IBKR 检索账户摘要详细信息

这是我的代码:

唯一打印的是 orderStatus 函数。我从 IBKR github 页面复制了账户摘要的确切代码。我究竟做错了什么?我什至尝试更改 orderStatus 的位置,但没有任何区别。

0 投票
0 回答
114 浏览

python - 从 TWS IB 提取基本数据的最后一段代码缺失

我从 Stackoverflow 中的一个已回答的查询中获取了以下代码(不幸的是,我无法完全信任,因为我无法再找到该页面)。我对其进行了一些更改以适应我的目的。我想提取历史路透社数据(fundamentalData)以获取代码列表。下面的代码工作正常,但它只获取最后的股票数据。我知道我需要构建一个while循环,但我尝试了很多次,但都没有成功。我确信这是一个快速修复,但由于我是编码和 python 的新手,所以我找不到解决方案。任何帮助,将不胜感激!

0 投票
1 回答
196 浏览

python - 盈透证券 accountSummary() 更改价值货币

我已经构建了一个用 Python 与 IB TWS 通信的程序。一切似乎都奏效了,但我在最后一个问题上苦苦挣扎:我的账户以欧元作为基础货币,但我将以美元交易。显然,我希望收到accountSummary()以美元为单位的回调值,但它现在给了我以欧元为单位的所有值。

api是否提供了一种定制方法?

任何指导将不胜感激。

0 投票
1 回答
153 浏览

python - 盈透证券交易平台:如何在 python 中处理每日重启?

我在 python 中构建了一个 IB TWS 应用程序。一切似乎都很好,但我正在努力解决最后一个问题。

TWS 需要每天注销或重启。我选择了在设定的时间每天重新启动,这样我就可以很容易地预料到我的应用程序会在某些时间重新启动(至少,我是这么认为的。)

我的程序有一个类,称为InteractiveBrokersAPIECClient 和 EWrapper 的子类。在我的程序启动时,我创建了这个实例,它成功连接到 TWS 并与 TWS 一起工作。现在,假设 TWS 每天 23:00 重新启动。我在我的程序中实现了创建 my 的新实例的逻辑,并在 23:15InteractiveBrokersAPI之后调用它。run()这似乎也有效。我知道这一点,因为在创建时,InteractiveBrokersAPI调用reqAccountUpdates()并且我可以在重新启动后看到这些更新。当我在第二天尝试实际进行交易时,我收到一个错误,表明它没有连接。

还有其他人有如何处理这个问题的经验吗?我想知道其他人是如何解决这个问题的。任何指导将不胜感激。