问题标签 [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 回答
139 浏览

python - API IB TWS Python 括号问题

订单被放置在 tws 中,但在激活时它只是取消自身以及附加的止损和目标。让我没有订单没有位置。这是因为我附加父级的方式而不是将传输设置为 false 直到目标?我无法通过在 tws 指南中使用传输 = false 然后最后一个为真来弄清楚该示例。这就是为什么这不起作用?

0 投票
1 回答
244 浏览

python - ib_insync,提取所有选项

我需要从交互式经纪人中提取特定底层证券的所有选项。例如,我需要所有到期日在未来 3 个月内的期权作为ADS底层证券。我正在使用ib_insync包装器来提取必要的信息,例如bidandask等。它运行良好,但我需要可用选项的列表。

因此,我需要类似的东西(即下面的伪代码):

感谢任何帮助!

0 投票
0 回答
1015 浏览

interactive-brokers - Interactive Brokers TWS API 如何获取给定到期和行使价的期权合约?

TWS API 具有reqContractDetails获取合约详细信息的功能,但速度很慢。因为,正如 TWS API 文档所说,带有结果的事件流(期权合约列表)将受到限制。

它建议改用该reqSecDefOptParams函数,该函数以选项链的列表expirationsstrikes选项链响应。

问题是- 如何进一步使用这些expirationsstrikes获得单独的期权合约?

reqContractDetails可以调用 来获取 和 的每个组合的expiration个人合同strike。因此,不是reqContractDetails用 N 个事件的限制列表响应的 1 个调用 - 相反 -reqContractDetails将进行 N 个调用以获得 1 个事件。

但似乎即使在这样的个人调用中 - 它仍然受到限制,在说 50 个调用之后,下一个调用reqContractDetails被限制(我在日志中看到首先像 20-50 个调用响应很快,然后它只是阻塞并等待了很多)。

有没有更好的方法来获取数据?我需要获得包含所有合约的完整期权链

更新:

半年后 - 我制作了 TWS API 驱动程序ib_api - 我发现从 TWS API 获取价格的最佳方式是 - 1)首先获取单个期权合约 2)然后通过合约 ID 获取价格 3)小批量 4)重试,因为会有随机错误。该驱动程序提供 REST API 并支持所有语言,您可以查看该get_stock_option_chain_prices功能ibm.nim以查看这些步骤的详细信息 - 如何获取股票期权价格。

0 投票
1 回答
427 浏览

r - 无法通过 R 使用 IBrokers 连接到 TWS

我的代码的输出:

我已经在 TWS 中检查了我的全局配置。端口实际上是 7496。

我正在使用最新的 Linux Mint。我的 IB 账户已获批准并入金。

0 投票
0 回答
147 浏览

python - How to append to DataFrame inside function and return changes outside the function

I have a python script that creates a DataFrame df, conencts to an API, and appends data to the DataFrame in a function. However the dataframe is empty outside of the function.

The function is "get_stock_price(client, ticker, option_dates, df)" I've shortened the code to show the part where I try appending to the df.

From reading answers on another question I tried adding

After the append, also tried:

and as a test:

None of these seemed to work, when I print(df) at the end of the main() function it's empty.

Here's the output:

0 投票
0 回答
616 浏览

python - 盈透证券 Python API 错误 -1 322 处理请求

我正在尝试取消所有订单但收到此错误消息

openOrder id: 62 ES FUT @ GLOBEX : BUY STP 13.0 PreSubmitted orderStatus - orderid: 62 status: PreSubmitted 已完成 0.0 剩余 13.0 lastFillPrice 0.0

openOrder id: 63 ES FUT @ GLOBEX : BUY LMT 13.0 PreSubmitted orderStatus - orderid: 63 status: PreSubmitted 已完成 0.0 剩余 13.0 lastFillPrice 0.0

openOrder id: 61 ES FUT @ GLOBEX : SELL STP LMT 13.0 已提交 orderStatus - orderid: 61 status: 已提交已填充 0.0 剩余 13.0 lastFillPrice 0.0

错误 -1 2104 市场数据农场连接正常:usfuture

错误 -1 2106 HMDS 数据场连接正常:ushmds

错误 -1 2158 Sec-def 数据场连接正常:secdefil

错误 -1 322 处理请求时出错:-'bt':原因 - jextend.bt.l(bt.java:59)

EReader 线程中未处理的异常

回溯(最近一次通话最后):

0 投票
1 回答
57 浏览

r - 使用 R 和 IBrokers,调用给定股票代码的买价和卖价的函数是什么?

除了标题,我没有什么要补充的了。我只需要函数的名称。

0 投票
1 回答
84 浏览

r - IBrokers 中的 reqHistoricalData 是否存在 from 和 to 论点?

如何获取具有确切开始和结束日期的历史数据?它只有一个“持续时间”参数:

我可以做类似的事情:

0 投票
0 回答
73 浏览

python - TWS-API 连接和数据获取需要帮助

我是一个完全的菜鸟,需要帮助。我设法从 NSE 获取特定符号和到期的期权链,将其提取到 excel 中。
但我认为如果我可以使用 TWS API 会更好。

问题:想要获取给定交易品种和到期日的期权链等正常数据,以及过去几年的历史数据,然后在 excel 中查看该数据,以便进行进一步的计算。
因为,我不熟悉 pycharm 社区),我想使用 ATOM 编辑器和命令提示符获取数据。我从这里引用了代码(ATOM 中的这个视频以及从 IB 官方网站下载的 TWS API。) 在我的命令提示符中
使用 pip install ibapi并成功安装。

现在,在此之后,我用模拟交易账户启动了 TWS,并确保所有端口设置和一切都正确。之后,我运行了视频中显示的代码,即:

第一次运行此代码后,我收到了已执行的消息。

之后,我运行了这个程序 2-3 次,我得到的只是一个程序在 atom 中成功运行后我们看到的绿色刻度(ctrl+shift+b)。但我没有看到视频中显示的任何输出。
现在,我用 pycharm 做了同样的事情,我可以看到输出,如视频所示。(我确实选择了那个 pythonclient 文件夹作为根,如视频开头所述)。但我不知道我在这里做什么。我所关心的只是通过从 ATOM 或命令提示符运行我的程序来建立与 TWS 的简单连接,并在 excel 中获取该数据以供进一步计算。我认为继续获取实时数据并继续生成信号会更容易。

提前感谢您的帮助。

从@bhucho 编辑 问题:运行问题一次后无法看到输出,所有看到的是我们在原子本身中成功运行程序后看到的绿色刻度(ctrl + shift + b)。

0 投票
1 回答
463 浏览

python - 提交后 TWS API ib insync 括号定单延迟 35+ 秒

我使用 ib_insync 获得了括号订单。
但无论出于何种原因,当订单提交到 TWS 时,只有父订单会在其旁边显示“传输”按钮,如下面的屏幕截图所示。
然后它在 35+ 秒内什么都不做。然后将整个括号订单发送出去。 这是我的括号顺序代码:在此处输入图像描述

我搞砸了什么吗?
代码哪里出错了?

非常感谢