8

我正在使用quantmod库(作者 Jeffrey A. Ryan)从 FRED 下载数据。使用YahooGoogle数据,我可以设置开始和结束日期。可以对FRED数据做同样的事情吗?

帮助页面没有将“from”和“to”列为 quantmod 的 getSymbols 函数的选项,我从中推断目前不可能。

有没有办法为要下载的数据设置范围,还是我需要下载整个数据集并丢弃我不需要的数据?

谢谢你的帮助。在说明上下文的代码下方:

从 FRED 下载时忽略日期:

# environment in which to store data 
data <- new.env()

# set dates
date.start <- "2000-01-01"
date.end <- "2012-12-31"

# set tickers
tickers <- c("FEDFUNDS", "GDPPOT", "DGS10")

# import data from FRED database
library("quantmod")
getSymbols( tickers
  , src = "FRED"  # needed!
  , from = date.start  # ignored
  , to = date.end  # ignored
  , env = data
  , adjust = TRUE
)

head(data$FEDFUNDS)

head(data$FEDFUNDS)
           FEDFUNDS
1954-07-01     0.80
1954-08-01     1.22
1954-09-01     1.06
1954-10-01     0.85
1954-11-01     0.83
1954-12-01     1.28

编辑:解决方案

感谢GSee下面的建议,我正在使用以下代码将数据子集到上面指定的日期范围内:

# subset data to within time range
  dtx <- data$FEDFUNDS
  dtx[paste(date.start,date.end,sep="/")]

在这里,我在对其进行操作之前从环境中提取了 xts 数据。我的后续问题探讨了替代方案。

后续问题

我在那里问了一些后续问题:get xts objects from within an environment

4

3 回答 3

6

您必须稍后下载所有数据和子集。 getSymbols.FRED不支持这样的from论点getSymbols.yahoo

于 2013-04-10T17:44:15.477 回答
5

或者,您可以从 Quandl ( http://www.quandl.com/help/r ) 下载 FRED 数据,它提供了超过 400 万个数据集,包括所有 FRED 数据。有可用的 API 和 R 包。(“夸德尔”)。数据可以以多种格式返回,例如数据帧(“raw”)、ts(“ts”)、zoo(“zoo”)和xts(“xts”)。例如,要下载 GDPPOT10 并指定日期并将其作为 xts 对象返回,您只需:

require(Quandl)
mydata = Quandl("FRED/GDPPOT", start_date="2005-01-03",end_date="2013-04-10",type="xts")
于 2013-04-11T16:13:12.020 回答
1

Quandl 似乎没有提供来自 FRED 的所有数据,至少在数据频率方面。Quandl 很可能只提供在许多情况下无用的年度数据。

于 2015-10-21T21:04:39.837 回答