2016-02-28 55 views
-1

我有以下具有代码的向量,开始和结束日期,我想用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) 

是否无法将向量作为日期传递给此函数?任何优雅的解决方案,赞赏:)

+0

请给出一个可重复的代码。 –

+0

我错过了加载库并创建环境。现在可复制。 –

回答

1

雅虎不承认APPL所以可能这应该更改为AAPL在stock。之后,您可以从stock,startend矢量创建一个字符矩阵,然后为矩阵的每一行调用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)