IBrokers - reqMktData
Кто-нибудь пробовал разные биржи на IBrokers? Я пытаюсь получить либо рыночные данные, либо исторические данные по акциям, котирующимся на ASX(Австралийская биржа). Я подписан на Chi-X Australia.
library("IBrokers")
tws <- twsConnect()
security = twsSTK("TLS",primary = "ASX")
is.twsConnection(security) #says false
security_copy = twsEquity(symbol = "TLS",primary = "ASX")
reqMktData(tws,security)
data_stock = reqHistoricalData(tws, security)
Я получаю это сообщение об ошибке.
Сообщение TWS: 2 1 200 Не найдено определение безопасности для запроса Сообщение TWS: 2 1 300 Не удается найти EId с tickerId:1, ожидая ответа TWS по TLS .... не удалось.
1 ответ
Я не использую Chi-X, но в качестве примера приведенный ниже код работает для бирж ASX и Globex. Надеюсь, это поможет.
library(IBrokers)
tws = twsConnect()
#ASX
contract <- twsSTK(symbol="BHP",exch="ASX",primary="ASX",currency="AUD")
BHPHistorical <- reqHistoricalData(tws, contract)
BHPRealTime <- reqMktData(tws,contract,snapshot = TRUE)
#SNFE futures data
contract <- twsFuture(symbol="SPI",exch="SNFE",primary="SNFE",currency="AUD",expiry="201712")
SPIHistorical <- reqHistoricalData(tws, contract,barSize="30 mins",duration="1 M")
SPIPRealTime <- reqMktData(tws,contract)
#ASX Options data
#using twsOption hasn't always worked
contract <- twsOption(local="XJOHU9",expiry = "20171116",strike="5750",right="C",exch="ASX",primary="",currency="AUD",symbol="",multiplier = 10,include_expired = FALSE,conId = 0)
OptRealTime <- reqMktData(tws,contract)
OptHistorical <- reqHistoricalData(tws, contract)
contract <- twsContract(0,symbol="AP",sectype="OPT",exch="ASX",primary="ASX",expiry= "20171116",strike="5750",currency="AUD",right="C",local="",multiplier = "10",combo_legs_desc = "",comboleg = "",include_expired = "",secIdType = "",secId = "")
OptRealTime <- reqMktData(tws,contract,snapshot = TRUE)
OptHistorical <- reqHistoricalData(tws, contract)
#USA
contract = twsFuture(symbol="ES",exch="GLOBEX",primary="GLOBEX",currency="USD",expiry="20171215")
ESHistorical = reqHistoricalData(tws, contract)
ESRealTime = reqMktData(tws, contract)