【发布时间】:2019-03-29 19:03:05
【问题描述】:
如何从 Interactive Brokers 将 INDEX 的历史数据导入 R?如果是期货,我会使用这个命令(这里建议IBrokers request Historical Futures Contract Data?):
library(twsInstrument)
a <- reqHistoricalData(tws, getContract("ESJUN2013"))
但是标普指数的connid对应的指令会报错:
> a <- reqHistoricalData(tws, getContract("11004968"))
Connected with clientId 110.
Contract details request complete. Disconnected.
waiting for TWS reply on ES ....failed.
Warning message:
In errorHandler(con, verbose, OK = c(165, 300, 366, 2104, 2106, :
Error validating request:-'uc' : cause - HMDS Expired Contract Violation:contract can not expire.
附:有足够积分的人应该为 IBrokers 创建一个标签
【问题讨论】:
-
你从哪里得到的
conId("11004968")?如果你想要标准普尔指数,你需要得到SPX contract。如果您想使用twsInstrument,可以使用getContract("SPX")、getContract(synthetic("SPX", "USD"))、getContract("416904")等来执行此操作,或者使用IBrokers 中的twsIndex,如geektrader 演示的那样。