Rblpapi BDH:如何根据BDH公式和列参考添加列?

时间:2016-12-06 14:27:44

标签: r bloomberg blpapi rblpapi

我正在尝试使用RBLPAPI BDH创建列

StockMove <- function(ticker){
StockMove <- bdh("MSFT Equity", "Chg_Pct_1D", x$Date, x$Date)
colnames(ernmove) <- NULL
ernmove <- ernmove[,2]

}

但我一直收到错误

Error in eval(substitute(expr), envir, enclos) : expecting a single value
Called from: bdh_Impl(con, securities, fields, start.date, end.datee, options, overrides, verbose, identity)

x $ Date是历史日期的列,我正在尝试创建一个新列,并为该行中与x $ Date列对应的每一行拉取BDH数据。 。作为一个完整性检查,我使用Sys.Date()代替x $ Date输入,它可以正常工作。

感谢您的任何建议,这是我的第一个问题,所以对任何错误道歉。

1 个答案:

答案 0 :(得分:1)

你说x $ Date是一列日期。 BDH需要开始日期和结束日期。我认为这就是错误告诉你的。你给它一个想要单个值的列。

我没有永远写过任何R,所以原谅我这是错误的:

startDate <- min(x$Date)
endDate <-max(x$Date)
bdh("MSFT Equity", "Chg_Pct_1D", startDate, endDate)

BDH不适合从预定的日期列表中检索数据。并不是一次只有一个日期,因为假日有空数据,除非你使用覆盖来填充它们。

相反,我总是从BDH开始到结束检索所有日期。如果我有一列我需要的特定日期,我会在结果中查找它们。