【发布时间】:2013-04-10 17:42:41
【问题描述】:
我正在使用 quantmod 库(作者 Jeffrey A. Ryan)从 FRED 下载数据。通过 Yahoo 和 Google 数据,我可以设置开始和结束日期。 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
【问题讨论】:
-
谢谢。为了帮助其他需要从另一个系列中获取日期的人,请说 fund
returns,您正在使用 FRED 获得无风险利率 FEDfunds。您可以在 xts 返回系列上使用 start() 和 end() 作为子集的参数,即 xts["Startdate/enddate"]。Rf <- dtx[paste(start(returns), end(returns), sep="/")]