我试图通过使用一个BDH拉动来获得每日回报,但我似乎无法让它工作。我考虑过使用quantmod的周期恢复功能,但无济于事。我想填充PctChg专栏,非常感谢任何帮助。
GetReturns <- function(ticker, calctype, voldays) {
check.numeric <- function(N){
!length(grep("[^[:digit:]]", as.character(N)))}
isnumber <- function(x) is.numeric(x) & !is.na(x)
startdate <- Sys.Date()-20
enddate <- Sys.Date()
###############
GetData <- BBGPull <- bdh(paste(ticker," US EQUITY"), c("Open","High","Low","PX_Last"), startdate, enddate,
include.non.trading.days = FALSE, options = NULL, overrides = NULL,
verbose = FALSE, identity = NULL, con = defaultConnection())
##Clean Up Columns and Remove Ticker
colnames(GetData) <- c("Date","Open","High","Low","Close")
GetData[,"PctChg"] <- "RETURN" ##Hoping to populate this column with returns
GetData
}
我与使用quantmod的想法没有结合,甚至会使用LN(T / T-1),但我只是不确定如何使用此数据添加列。谢谢 !
答案 0 :(得分:2)
您错过了COMPANY_NAME
仍然返回首先需要转换的 data.frame 对象的(重要)事实:
bdh()
这也使用包xts和quantmod而不显式加载它们。