I am downloading data from FRED with the quantmod
library (author Jeffrey A. Ryan). With Yahoo and Google data, I am able to set start and end dates. Can the same be done for FRED data?
The help page does not list "from" and "to" as options of quantmod's getSymbols function, from which I'm inferring that it is not currently possible.
Is there a way to set a range for the data to be downloaded or do I need to download the entire dataset and discard the data I don't need?
Thanks for your help. Below the code that illustrates the context:
The dates are ignored when downloading from 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
EDIT: Solution
Thanks to GSee's suggestion below, I am using the following code to subset the data to within the range of dates specified above:
# subset data to within time range
dtx <- data$FEDFUNDS
dtx[paste(date.start,date.end,sep="/")]
Here I extracted the xts data from the environment before acting upon it. My follow-up question explores alternatives.
Follow-Up Question
I have asked some follow-up questions there: get xts objects from within an environment
returns
, and you are using FRED to get riskfree rate FEDfunds. You can use start() and end() on your xts return series as parameters for your subset i.e. xts["Startdate/enddate"].Rf <- dtx[paste(start(returns), end(returns), sep="/")]
– Rafaellle