R 使用getSymbols下载所有可用数据

R 使用getSymbols下载所有可用数据,r,warnings,quantmod,R,Warnings,Quantmod,我想从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,

我想从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
>库(quantmod)
>e getSymbols(“MSFT”,src=“yahoo”,env=e)
[1] “MSFT”
警告信息:
在download.file(粘贴)(yahoo.URL,“s=”,Symbols.name,“&a=”,from.m,:
下载长度137552!=报告长度200
>e$MSFT[1,]
#MSFT.打开MSFT.高MSFT.低MSFT.关闭MSFT.音量MSFT.已调整
# 2007-01-03     29.91     30.25     29.4      29.86    76935100      24.28526

我搜索了有关“downloaded length!=reported length”警告的stackoverflow问题并找到了答案,但那里的解决方案并没有解决问题。

问题是
from
的默认值是
“2007-01-01”
for
getSymbols.yahoo
(以及许多其他
getSymbols
函数)。如果需要所有可用的历史记录,请设置
from=“1900-01-01”


这些都是警告,不是错误。问题是什么?问题是我没有得到完整的下载文件。我的日期没有追溯到2007年,但实际上应该追溯到2007年。在“quantmod”网站上给出的示例显示,日期应该追溯到2007年,我知道MSFT的数据应该追溯到2007年。来自的
的默认值是
“2007-01-01”
。如果您想要更多数据,请将
的值更改为
。哦!我不知道默认值是在2007年。现在,每个公司都有一个不同的“开始”日期,有没有办法将“开始”设置为尽可能早的日期?或者我应该只做一个for循环?只是做一些愚蠢的事情,比如
“1900-01-01”
。我可以使用此功能提取黄金和白银价格吗?@user2733617:可以,请参阅
?getMetals
。getMetals(“XAU”,from=“1980-01-01”)[1]“XAUUSD”警告消息:在getSymbols.oanda中(Symbol=金属,from=from,to=to,auto.assign=auto.assign,:Oanda将数据限制为5年。Symbol:XAU/USD为什么我被限制为5年?因为Oanda(数据提供商)就是这么做的。
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