2016-02-28 54 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)