我很难让 IBrokers 中的以下 reqHistoricalData 请求正常工作。我正在尝试提供日期时间和股票代码对的数据框,以每隔 5 分钟检索一次盘中代码以进行历史研究。我正在寻找检索特定的股票行情和日期。我可以让它在手动输入上工作,但我有一个 950 个数据框要做,并且想让它循环工作。这在 r 中使用 IBrokers 包完成
有效的手动示例
连接 <- twsConnect()
stock_dat = reqHistoricalData(conn, twsSTK("XEC"), endDateTime = "20191223 16:00:00", duration = "1 D", barSize = '5 mins')
“XEC”和“20191223 16:00:00”是 as.character 并返回当天的对象 xts 对象。
我的示例数据将是一个名为 PoDHist 的数据框,它有 2 列和 4 个观察值
Stock END_Date_Time
SYY 20191206 16:00:00
JNJ 20191209 16:00:00
OMC 20191210 16:00:00
MOS 20191213 16:00:00
两列都是 as.characters
我正在尝试使用 purrr 的 pmap 函数
bar_downloader <- function(Stock,endDateTime)
{
n=PoDHist2 %>%
five_min_bar_data = reqHistoricalData(conn, twsEquity=PoDHist2$Stock, endDateTime = PoDHist2$END_Date_Time, duration = "1 D", barSize = '5 mins') %>%
print(Stock)
}
pmap(list(PoDHist2$Stock),list(PoDHist2$END_Date_Time),bar_downloader)
我收到一个错误
Error in 1:nrow(PoDHist2$Stock) : argument of length 0
我还看到 endDateTime 的输入格式有些不一致。IBrokers r 包将格式指定为“CCYYMMDD HH:MM:SS TZ”。但是,我手动能够让它以 YYMMDD HH:MM:SS 格式作为字符而不是时间对象工作。
任何的意见都将会有帮助