我想从Yahoo Finance下载几个股票的完整数据历史,但我始终只从2007-01-03开始获取数据。例如:
> library(quantmod)
> e <- new.env()
> getSymbols( "MSFT", src="yahoo", env=e)
[1] "MSFT"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 137552 != reported length 200
> e$MSFT[1,]
# MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
# 2007-01-03 29.91 30.25 29.4 29.86 76935100 24.28526
我搜索了有关“已下载长度!=报告长度”警告的stackoverflow问题,我找到this question,但那里的解决方案无法解决问题。
答案 0 :(得分:2)
问题是from
的默认值为"2007-01-01"
getSymbols.yahoo
(以及许多其他getSymbols
个功能)。如果您想要所有可用的历史记录,请设置from = "1900-01-01"
。
R> getSymbols("MSFT", from="1900-01-01")
# [1] "MSFT"
R> MSFT[1,]
# MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
# 1986-03-13 25.49952 29.24928 25.49952 27.99936 1031788800 0.068281