Как использовать rBloomberg для создания data.frame данных бара - PullRequest
0 голосов
/ 21 октября 2011

Я новичок в R, поэтому прошу прощения за любое невежество с моей стороны. Я безрезультатно искал несколько часов, и я должен представить, что то, что я пытаюсь сделать, является обычной задачей. По сути, API Bloomberg, похоже, позволяет вам получать данные ценового бара только по одной акции за раз. Поэтому, если у меня есть список тикеров, мне нужно использовать цикл 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)
}

1 Ответ

0 голосов
/ 21 октября 2011

Нетрудно создать что-нибудь воспроизводимое, поскольку большинство из нас не будет иметь доступа к 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) или class (yourdata), чтобы мы могли рассказать вам, как преобразовать результат в data.frame.

...