今天我开始使用quantmod包遇到错误。运行此代码(或一般请求符号)时,其他人有相同的错误吗?
library(quantmod)
getSymbols("CPIAUCNS",src="FRED")
错误:
Error in download.file(paste(FRED.URL, "/", Symbols[[i]], "/", "downloaddata/", :
cannot open URL 'http://research.stlouisfed.org/fred2/series/CPIAUCNS/downloaddata/CPIAUCNS.csv'
网址本身可以正常使用。
答案 0 :(得分:7)
FRED将URL方案从http://更改为https://。我正致力于确定适用于所有平台的补丁。如果设置了--internet2
,当前代码在Windows上仍适用于我。
在unix-alikes上,一个可能的解决方案是将method="curl"
或method="wget"
添加到download.file
中的getSymbols.FRED
来电。
答案 1 :(得分:7)
另一个(临时)解决方案是在实际的getSymbols
脚本之前调用以下其中一个:
options(download.file.method="libcurl")
或
options(download.file.method="wget")
或
options(download.file.method="wininet")
第一个选项对我有用(在Mac上) 感谢来自Rmetrics(底部帖子)的Paul Gilbert
答案 2 :(得分:2)
昨天出现了问题:
Cannot verify certificate for stlouisfed.org issued by GoDaddy.
解决方法:
temp = tempfile()
download.file(url="http://research.stlouisfed.org/fred2/series/DAAA/downloaddata/CPIAUCNS.csv",destfile=temp, method="libcurl")
result <- read.csv(temp,na.string=".")
我希望不得不使用此修复程序是暂时的。
答案 3 :(得分:2)
这是适用于我的解决方案,假设您信任FRED的SSL证书。
您需要做的就是在执行getSymbols之前添加以下额外的代码行:
options(download.file.method = "wget", download.file.extra = c("--no-check-certificate"))
示例:
getSymbols("M2", from = start_date, to = end_date, src = "FRED")
[1]“M2”
str(M2)
1980-11-03 / 2015-10-05的'xts'对象,包含:
数据:num [1:1823,1] 1591 1593 1596 1597 1596 ......
- attr(*,“dimnames”)= 2的列表
.. $:NULL
.. $:chr“M2”
由类对象索引:[日期] TZ:UTC
xts属性:
清单2
$ src:chr“FRED”
$ updated:POSIXct [1:1],格式:“2015-10-21 11:01:39”