3

我正在尝试使用 R 上的 IBrokers API 捕捉实时市场数据。

出于奇怪的原因,Microsoft (MSFT) 不起作用。

例如,这有效:

library("IBrokers")
tws <- twsConnect()
nms <- c("AAPL","YHOO")
reqMktData(tws, lapply(nms, twsSTK), tickGenerics="", snapshot=T)
twsDisconnect(tws)

但是,这不起作用:

library("IBrokers")
tws <- twsConnect()
nms <- c("AAPL","YHOO","MSFT")
reqMktData(tws, lapply(nms, twsSTK), tickGenerics="", snapshot=T)
twsDisconnect(tws)

错误信息如下:

2 3 200 The contract description specified for MSFT is ambiguous. 

但是,这并不是一个模棱两可的代码,并且与 YHOO 和 AAPL 位于同一交易所。

有谁知道我需要做什么来解决这个问题?谢谢你。

4

2 回答 2

3

为了解决这个问题,我简单地为在纳斯达克交易的单独代码指定了证券交易所。

tickers_nasdaq<-c("MSFT","INTC","CSCO")
reqMktData(tws, lapply(tickers_nasdaq, twsSTK, exch = "SMART", primary="NASDAQ", currency = "USD"), tickGenerics="", snapshot=T)

显然这并不理想,但至少它有效。

于 2014-12-18T16:31:39.027 回答
1

稍后回答...
不应该指定主要交换,因为您会遇到其他符号的问题,而是将m_localSymbolcontract()的 指定为与​​ 相同的值m_symbol,在这种情况下:MSFT

https://www.interactivebrokers.com/en/software/api/apiguide/java/contract.htm

于 2016-11-02T19:25:56.043 回答