2011-10-21 11 views
0

私はRが新しくなっています。私は何時間も無駄に検索してきました。私がやろうとしていることは共通の課題であると想像しなければなりません。基本的に、Bloomberg APIは、一度に1つの株式の価格帯データを取得できるようにしか見えません。だから私がティッカーのリストを持っているならば、私はそれぞれのティッカーを通りバーデータを取得するためにforループを使う必要があります。しかし、私が本当にしたいのは、最初の列としてdatetimeを持つ単一のdata.frame(私は思う)を持つことです。それ以降の各列は単一の株式の価格データ(終値など)です。これらはすべて同じ日付時刻のリストにアライメントされています。これは私が動作しない、これまで持っているものです。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") 

リターン?たぶんstr(yourdata)またはクラス(yourdata)の出力を投稿できるので、結果をdata.frameに変換する方法を教えてください。

+0

お返事ありがとうございます。残念ながら、バー機能は複数のテロップを一度に処理する能力が同じではないようです。実行中のバーの出力にtypeof(data)コマンドを使用すると、それはリストであると言います。これはrow.name列、時間、オープン/ハイ/ロー/クローズ価格列、数値列、およびボリューム列を与える7列の表のようです。私は時間とその近くの価格をつかみ、それをある種の物に詰め込むだけです。別の問題は、異なるテロップが時系列の異なるアラインメントを返すことになるため、出力をまとめて接着することはできません。 – Doodles

+0

これは 'list'なら' unlist(yourbaroutput) 'を試したいかもしれません。 –

関連する問題