【发布时间】:2016-11-11 21:53:42
【问题描述】:
我有以下代码,其目的是下载精选股票,然后计算这些股票的每月回报。在我使用 lapply 函数之前一切正常。此示例为每只股票返回相同的结果。其他尝试也错了
NB符号也可以像symbols <- c("AAPL", "GOOG", "GE")
tickerlist <- "sp5001.csv" #CSV containing tickers on rows
startDate = as.Date("2013-10-01") #Specify what date to get the prices from
endDate = as.Date("2016-09-30")
stocksLst <- read.csv("sp5001.csv", header = F, stringsAsFactors = F)
symbols <- read.csv("sp5001.csv", header = F)$V1
symbols <-as.character(symbols)
nrstocks = length(stocksLst[,1])
data.env <- new.env()
getSymbols(symbols, env = data.env ,from= startDate ,to= endDate)
dataX <-do.call(merge, eapply(data.env, Ad)[symbols])
Temp <- lapply(symbols, function(symbols) {monthlyReturn(dataX)})
What_I_need <- do.call(merge.xts,Temp)
What_I_needdata.frame/xts 看起来像这样 - 这是错误的。
monthly.returns monthly.returns.1 monthly.returns.2
2013-10-31 0.071194294 0.071194294 0.071194294
2013-11-29 0.070052705 0.070052705 0.070052705
2013-12-31 0.008901793 0.008901793 0.008901793
2014-01-31 -0.107696737 -0.107696737 -0.107696737
【问题讨论】: