【发布时间】:2015-09-13 09:09:33
【问题描述】:
我想从雅虎财经下载几只股票的完整历史数据,但我总是只获得 2007 年 1 月 3 日开始的数据。例如:
> 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,但那里的解决方案并不能解决问题。
【问题讨论】:
-
这些是警告,而不是错误。有什么问题?
-
问题是我没有得到完整的下载文件。我的日期不会比 2007 年更早,但实际上应该如此。 “quantmod”网站中给出的示例显示日期应该更早,我知道 MSFT 的数据应该。
-
from的默认值为"2007-01-01"。如果您需要更多数据,请更改from的值。 -
哦!我不知道默认设置在 2007 年。现在,每个公司都有不同的“开始”日期,有没有办法将“开始”设置为尽可能早?还是我应该只做一个 for 循环?
-
把它弄得有点傻,比如
"1900-01-01"。