我是R的新手,所以请原谅我的任何无知。我已经搜索了几个小时没有结果,我不得不想象我想要做的是一项共同的任务。基本上,Bloomberg API似乎只允许您一次获取一个股票的价格条数据。因此,如果我有一个代码清单,我需要使用for循环来浏览每个代码并获取条形数据。但我真正想要的是拥有一个data.frame(我认为),它将datetime作为第一列,之后的每一列是单个股票的价格数据(比如收盘价),其中所有这些都与相同的日期时间列表对齐。这是我到目前为止所做的,但不起作用:
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)
}
答案 0 :(得分:0)
由于我们大多数人不会获得Bloomberg访问权限,因此创建可重现的内容有点困难,但我认为手册已经提供了很多内容: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)
或类(yourdata)的输出,以便我们可以告诉您如何将结果转换为data.frame。