2011-10-21 71 views
0

我是R新手,請原諒我的任何無知。我一直無情地搜索了好幾個小時,我不得不想象我正在努力做什麼是一項常見任務。基本上,Bloomberg API似乎只允許您一次獲取一隻股票的價格欄數據。因此,如果我有一個代號列表,我需要使用for循環來查看每個代碼並獲取條數據。但我真正想要做的是讓一個數據框架(我認爲)的日期時間作爲第一列,並且之後的每一列是單個股票的價格數據(比如收盤價),其中所有這些都與相同的日期列表對齊。這是我到目前爲止,這不工作:如何使用rBloomberg創建條形數據的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) 
} 

回答

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") 

return?也許您可以發佈str(yourdata)或class(yourdata)的輸出,以便我們可以告訴您如何將結果轉換爲data.frame。

+0

感謝您的回覆。不幸的是,它看起來像條功能不具備同時處理多個代號的能力。如果我在運行欄的輸出中使用typeof(data)命令,它會顯示它是一個列表。它看起來像一個包含7列的表格,它提供了一個row.name列,時間,open/high/low/close價格列,numevents和卷列。我只想從中獲得時間和收盤價,並將其填入某種對象中。另一個問題是,不同的代碼將返回不同的對齊時間序列,所以我不能將輸出粘貼在一起。 – Doodles

+0

好的,如果它是'list',你可能想嘗試'unlist(yourbaroutput)'。 –

相關問題