将日期矢量传递给quantmod

时间:2016-02-28 07:53:49

标签: r quantmod

我有以下向量的代码,开始和结束日期,我想用quantmod下载股票数据。

stock = c("MSFT", "WMT", "APPL")
start = c("2015-08-26", "2013-11-12","2015-11-08")
end = c("2015-09-26", "2013-12-12","2015-12-08")

我认为以下方法可行,但它只检索2015-08-26和2015-09-26之间3只股票的价格。

library(quantmod)
stockData <- new.env()    
getSymbols(stock, env = stockData, src = "yahoo", from = start, to = end, verbose = T)

是否无法将向量作为日期传递给此函数?任何优雅的解决方案都很受欢迎:)

1 个答案:

答案 0 :(得分:1)

雅虎不承认APPL,因此可能应将其更改为stock中的AAPL。之后,您可以从stockstartend向量创建字符矩阵,然后为矩阵的每一行调用getSymbols。代码看起来像:

mat <- cbind(stock, start, end)
apply(mat, 1, function(x) getSymbols(Symbols=x["stock"], env=stockData2,
                                     src="yahoo", from=x["start"], to=x["end"], verbose=T))
attach(stockData2)