我有以下向量的代码,开始和结束日期,我想用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 :(得分:1)
雅虎不承认APPL,因此可能应将其更改为stock
中的AAPL。之后,您可以从stock
,start
和end
向量创建字符矩阵,然后为矩阵的每一行调用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)