私は RBBG パッケージにかなり慣れていないので、私の無知を許してください。ただし、bar()
関数を使用して ~25 日以上の分バー データを取得できるかどうか疑問に思っています。25 日または 26 日分以上のデータを取得できないことがわかりました。何か間違ったことをしているのか、それとも単に不可能なのか疑問に思っています。
私が使用しているコードは次のとおりです。
#install.packages("rJava")
#install.packages("Rbbg", repos="http://r.findata.org")
#install.packages("timeDate")
library(rJava)
library(Rbbg)
library(timeDate)
conn <- blpConnect()
weekdays = timeSequence(from = (Sys.Date()-38), to = (Sys.Date()-1), by = "day")[isWeekday(timeSequence(from = (Sys.Date()-38), to = (Sys.Date()-1), by = "day"))]
date_time=numeric()
volume=numeric()
for(i in 1:length(weekdays)){
start.date <- paste(weekdays[i],"13:30:00.000")
end.date <- paste(weekdays[i],"20:00:00.000")
raw=bar(conn, "GOOG US Equity", "TRADE", start.date, end.date, "1")
date_time=append(date_time,raw$time)
volume=append(volume,raw$volume)
}
date.time <- data.frame(do.call('rbind', strsplit(as.character(date_time),'T',fixed=TRUE)))
use=data.frame("date"=format(as.Date(date.time$X1), "%m/%d/%Y"),"time"=date.time$X2,"volume"=raw$volume)
blpDisconnect(conn)
これは問題なく機能し、過去 3.5 週間の取引日からデータを引き出します。ここで、行の 38 をより大きな数に変更しようとすると、上記のスクリプトを実行しようとするとweekdays = timeSequence(from = (Sys.Date()-38), to = (Sys.Date()-1), by = "day")[isWeekday(timeSequence(from = (Sys.Date()-38), to = (Sys.Date()-1), by = "day"))]
、次のエラーが発生します。Error in matrix.data[, 1] : subscript out of bounds
API が約 3.5 週間の分足データしか取得できないということですか? それとも私は何か間違ったことをしていますか?理想的には、少なくとも 100 取引日分のデータが必要です。
ご協力ありがとうございました。