1

我是 R 新手,所以请原谅我的任何无知。我已经搜索了几个小时没有结果,我不得不想象我正在尝试做的事情是一项共同的任务。基本上,Bloomberg API 似乎只允许您一次获取一只股票的价格条数据。因此,如果我有一个代码列表,我需要使用 for 循环遍历每个代码并获取柱数据。但我真正想做的是有一个单一的data.frame(我认为),它将日期时间作为第一列,之后的每一列都是单只股票的价格数据(比如收盘价),其中所有这些都与相同的日期时间列表对齐。这是我到目前为止所拥有的,但它不起作用:

require(xts)
library(RBloomberg)
conn <- blpConnect()
start.date <- as.POSIXct(Sys.Date() - 20)
end.date <- as.POSIXct(Sys.Date())
ticks <- c("AAPL US Equity", "XOM US Equity", "MSFT US Equity", "IBM US Equity")
pxdt <- data.frame()

for (i in 1:length(ticks)){ 
 x <- (ticks)[[i]]  
 print(x) 
 y <- (x) 
 y <- bar(conn, x , "TRADE", "2011-06-30 09:00:00.000", "2011-10-20 15:00:00.000", "60")
 px <- (y[6])
 pxdt <- cbind(px)
}
4

1 回答 1

0

由于我们大多数人都无法访问彭博社,因此创建可复制的东西并不难,但我认为该手册已经提供了很多: http: //findata.org/rbloomberg/rbloomberg-manual-0-4-144.pdf,请参阅 3. 请求数据

securities <- c("AMZN US Equity", "OCN US Equity")
fields <- c("NAME", "PX_LAST", "TIME", "SETTLE_DT", "HAS_CONVERTIBLES")
# Demo different return data types.
bdp(conn, securities, fields)

无法测试,但看起来这会返回一个data.frame. 因此,如果这对您不起作用。什么类/数据

bar(conn, "RYA ID Equity", "TRADE", "2010-09-21 09:00:00.000", "2010-09-21 15:00:00.000", "60")

返回?也许您可以发布str(yourdata)or class(yourdata) 的输出,以便我们可以告诉您如何将结果转换为 data.frame。

于 2011-10-21T10:27:17.517 回答