Я пытаюсь получить рыночные данные в реальном времени, используя API IBrokers на R.
По странной причине 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.
Кто-нибудь знает, что мне нужно сделать, чтобы обойти эту проблему? Спасибо.
reqContractDetails(tws, twsSTK("MSFT", currency=""))
. Есть несколько инструментов с тикером MSFT. Вы можете передать один контрактreqMktData
. напримерreqContractDetails(tws, twsSTK("MSFT"))[[1]][["contract"]]
- person GSee   schedule 16.12.2014reqMktData(tws,twsSTK("MSFT",exch="SMART", primary="NASDAQ", currency="USD"),tickGenerics="",snapshot=T)
Мне интересно, есть ли у вас предложение о том, как я могу интегрировать его в исходный код выше? Это потребует динамического выбора основного и обменного для каждого идентификатора. Спасибо много! Это действительно полезно! - person Trexion Kameha   schedule 16.12.2014reqContractDetails
, она покажет европейскую акцию в первом слоте. Я не уверен в этом на 100%, но я вполне уверен, что порядок, в котором возвращаются контракты, изменится, возможно, даже в том же сеансе. - person GSee   schedule 16.12.2014