1

私は 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 取引日分のデータが必要です。

ご協力ありがとうございました。

4

1 に答える 1