r语言 - IBrokers 启用延迟市场数据?



我正在尝试从IBrokers下载数据,但目前遇到错误。我不知道如何解决它。

注意: 我没有订阅实时报价,但我确实得到了延迟的市场数据。

我的步骤是:

security = twsSTK("AAPL")
is.twsContract(security)

1 真

security_copy= twsEquity('AAPL')
reqMktData(tws,security)

错误输出:

TWS消息:2 1 162历史市场数据服务错误消息:否 岛屿 STK TWS 的市场数据权限 消息: 2 1 366 否 找到股票代码 ID 的历史数据查询:1 TWS 消息:2 1 10168 请求的市场数据未订阅。延迟的市场数据不是 启用

历史数据功能似乎也存在问题。

data_AAPL=reqHistoricalData(tws, security)

我也尝试了链接中的示例

IBrokersRef() # IBrokers Reference Card in PDF viewer
tws <- twsConnect() # make a new connection to the TWS
reqCurrentTime(tws) # check the server's timestamp
contract <- twsEquity('IBKR','SMART','ISLAND') # equity specification
reqHistoricalData(tws,contract) # request historical data

结果:

等待TWS在IBKR上的回复....失败。空警告消息:在 errorHandler(con, verbose, OK = c(165, 300, 366, 2104, 2106, :历史市场数据
服务 错误消息:无市场数据 岛屿的权限

根据TWS文档(此处(,可以使用reqMarketDataType(4(获取延迟市场数据。

话虽如此,我建议使用Ewald de Wit&Co的ib_insync软件包。

下面是我用来获取延迟市场数据的代码示例:

from ib_insync import *
util.startLoop()
ib = IB()
ib.sleep(2)
ib.connect('127.0.0.1', port=7490, clientId=12) # NB: Non default port could be 7498 on your machine by default when using TWS
ib.reqMarketDataType(4) # This line is the one that counts to get delayed data without subscription if available

相关内容

  • 没有找到相关文章

最新更新