FRED is an amazingly useful website provided by the Federal Reserve Bank of St. Louis compiling over 500k time series from 87 different sources. Here are 2 short R functions to retrieve FRED data in R. You'll need rjson (with admin privileges : install.packages("rjson")) and a valid API key (register for free here) to run them.
iFRED returns basic information about a time series as a list. For instance, assuming you’re interested by the Russell 1000 index Total Market Index (RU1000TR):
> sid <- "RU1000TR" > iFRED(sid) $id [1] "RU1000TR" $realtime_start [1] "2018-01-23" $realtime_end [1] "2018-01-23" (...)
qFRED retrieves the time series itself as a matrix (with dates as row names). Id addition to sid, there are 6 other optional argument:
from: the start date as aDateobject (defaults to1776-07-04);to: the end date as aDateobject (defaults toSys.Date());units: one oflin(levels, the default),chg(change),ch1(change from one year ago),pch(percent change),pc1(percent change from one year ago),pca(compounded annual rate of change),cch(continuously compounded rate of change),cca(continuously compounded annual rate of change) orlog(natural log);freq: one ofd(daily, the default),w(weekly),bw(bi-weekly),m(monthly),q(quarterly),sa(semiannual),a(annual),wef(weekly ending Friday),weth(weekly ending Thursday),wew(weekly ending Wednesday),wetu(weekly ending Tuesday),wem(weekly ending Monday),wesu(weekly ending Sunday),wesa(weekly ending Saturday),bwew(bi-weekly ending wednesday) orbwem(bi-weekly ending Monday).aggreg: when usingfreq, how should data be aggregated? One ofeop(end of period, the default),avg(average) orsum(sum)na.rm: logical, should missing values (NAs) be removed from the output?
For instance, always with RU1000TR:
> from <- as.Date("2018-01-01")
> qFRED(sid, from)
RU1000TR
2018-01-01 NA
2018-01-02 8346.42
2018-01-03 8398.08
2018-01-04 8431.26
2018-01-05 8487.97
2018-01-08 8504.18
(...)
Let's say you want weekly data with end-of-the-period observations:
> qFRED(sid, from, freq = "w", aggreg = "eop")
RU1000TR
2018-01-05 8487.97
2018-01-12 8624.19
2018-01-19 8698.12
2018-01-26 NA
Same thing but with weekly averages:
> qFRED(sid, from, freq = "w", aggreg = "avg")
RU1000TR
2018-01-05 8415.93
2018-01-12 8543.91
2018-01-19 8653.44
2018-01-26 NA
Percent change from one year ago:
> qFRED(sid, from, units = "pc1")
RU1000TR
2018-01-01 NA
2018-01-02 21.66084
2018-01-03 21.54941
2018-01-04 22.16739
2018-01-05 22.54979
2018-01-08 23.23220
(...)
The code is on Github. Don't forget to replace .FRED_api_key with your own API key!
Zahvaljujemo se vam za izmenjavo informacij. Resnično cenim vaša prizadevanja in čakam na vaše naslednje pisanje ups
RépondreSupprimer
RépondreSupprimerHelpful information here. Please stay us updated like this. Thanks for sharing this
RépondreSupprimerFound this interesting post to read. I really enjoy it!! Pretty great article
RépondreSupprimerThis is really interesting, You’re a very skilled blogger. Keep it up
I must spend some time studying much more or working out more.D.
RépondreSupprimerYour writing style has been amazed me. D.
RépondreSupprimerThank you, very great article. D.
RépondreSupprimerFantastic blog! Do you have any helpful hints for aspiring writers? D.
RépondreSupprimerI'm hoping to start my own blog soon but I'm a little lost on everything. D.
RépondreSupprimerYOUR BLOG GAVE US A USEFUL INFORMATION TO WORK. YOU HAVE DONE AN AMAZING JOB!
RépondreSupprimerI TRULLY APPRECIATE THIS POST. THIS POST WAS GIVEN TO ME A LOT OF GOOD THOUGHTS. THANKS
RépondreSupprimer