fred_load#
Purpose#
Get the observations or data values for one or more economic data series.
Format#
- x = fred_load(formula[, ...])#
- Parameters:
formula (string) – Formula string made up of one or more series ids to fetch. Can be a single series id. See
loadd()
for reference on applying transformations. requiredoptions (key, value pairs) –
Options to pass to the API. See below. These can be set directly when calling the function in the form of consecutive (key, value) pairs or via a dataframe constructed with
fred_set()
. All arguments can be specified in any order. For example:/* Retrieve the 'GNPCA' series with the following arguments: ** realtime_start = 2010-01-01 ** realtime_end = 2010-12-31 ** frequency = m */ fred_load("GNPCA", "realtime_start", "2010-01-01", "realtime_end", "2010-12-31", "frequency", "m");
This function supports the following options:
realtime_start
YYYY-MM-DD formatted string. The start of the real-time period. For more information, see Remarks. optional, default: today’s date
realtime_end
YYYY-MM-DD formatted string. The end of the real-time period. For more information, see Remarks. optional, default: today’s date
limit
integer between 1 and 100000. The maximum number of results to return. optional, default: 100000
offset
non-negative integer. Sort results is ascending or descending observation_date order. optional, default: 0
sort_order
String. Sort results in ascending or descending order for attribute values specified by order_by. One of the following strings: ‘asc’, ‘desc’. optional, default: asc
observation_start
YYYY-MM-DD formatted string. The start of the observation period. optional, default: 1776-07-04 (earliest available)
observation_end
YYYY-MM-DD formatted string. The end of the observation period. optional, default: 9999-12-31 (latest available)
units
string. A key that indicates a data value transformation. optional, default: lin (No transformation)
One of the following values: ‘lin’, ‘chg’, ‘ch1’, ‘pch’, ‘pc1’, ‘pca’, ‘cch’, ‘cca’, ‘log’
lin = Levels (No transformation)
chg = Change
ch1 = Change from Year Ago
pch = Percent Change
pc1 = Percent Change from Year Ago
pca = Compounded Annual Rate of Change
cch = Continuously Compounded Rate of Change
cca = Continuously Compounded Annual Rate of Change
log = Natural LogFor unit transformation formulas, see:
Read more at https://alfred.stlouisfed.org/help#growth_formulas
frequency
string. An optional parameter that indicates a lower frequency to aggregate values to. The FRED frequency aggregation feature converts higher frequency data series into lower frequency data series (e.g. converts a monthly data series into an annual data series). In FRED, the highest frequency data is daily, and the lowest frequency data is annual. There are 3 aggregation methods available- average, sum, and end of period. See the aggregation_method parameter.
optional, default: no value for no frequency aggregation
One of the following values: ‘d’, ‘w’, ‘bw’, ‘m’, ‘q’, ‘sa’, ‘a’, ‘wef’, ‘weth’, ‘wew’, ‘wetu’, ‘wem’, ‘wesu’, ‘wesa’, ‘bwew’, ‘bwem’
Frequencies without period descriptions:
d = Daily
w = Weekly
bw = Biweekly
m = Monthly
q = Quarterly
sa = Semiannual
a = Annual
Frequencies with period descriptions:
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 = Biweekly, Ending Wednesday
bwem = Biweekly, Ending Monday
Note that an error will be returned if a frequency is specified that is higher than the native frequency of the series. For instance if a series has the native frequency ‘Monthly’, it is not possible to aggregate the series to the higher ‘Daily’ frequency using the frequency parameter value ‘d’.
No frequency aggregation will occur if the frequency specified by the frequency parameter matches the native frequency of the series. For instance if the value of the frequency parameter is ‘m’ and the native frequency of the series is ‘Monthly’, observations will be returned, but they will not be aggregated to a lower frequency.
For most cases, it will be sufficient to specify a lower frequency without a period description (e.g. ‘d’, ‘w’, ‘bw’, ‘m’, ‘q’, ‘sa’, ‘a’) as opposed to frequencies with period descriptions (e.g. ‘wef’, ‘weth’, ‘wew’, ‘wetu’, ‘wem’, ‘wesu’, ‘wesa’, ‘bwew’, ‘bwem’) which only exist for the weekly and biweekly frequencies.
The weekly and biweekly frequencies with periods exist to offer more options and override the default periods implied by values ‘w’ and ‘bw’.
The value ‘w’ defaults to frequency and period ‘Weekly, Ending Friday’ when aggregating daily series.
The value ‘bw’ defaults to frequency and period ‘Biweekly, Ending Wednesday’ when aggregating daily and weekly series.
Consider the difference between values ‘w’ for ‘Weekly’ and ‘wef’ for ‘Weekly, Ending Friday’. When aggregating observations from daily to weekly, the value ‘w’ defaults to frequency and period ‘Weekly, Ending Friday’ which is the same as ‘wef’. Here, the difference is that the period ‘Ending Friday’ is implicit for value ‘w’ but explicit for value ‘wef’. However, if a series has native frequency ‘Weekly, Ending Monday’, an error will be returned for value ‘wef’ but not value ‘w’.
Read the ‘Frequency Aggregation’ section of the FRED FAQs for implementation details.
aggregation_method
string. A key that indicates the aggregation method used for frequency aggregation. This parameter has no affect if the frequency parameter is not set. optional, default: avg
One of the following values: ‘avg’, ‘sum’, ‘eop’
avg = Average
sum = Sum
eop = End of Period
output_type
integer. An integer that indicates an output type. optional, default: 1
One of the following values: ‘1’, ‘2’, ‘3’, ‘4’
1 = Observations by Real-Time Period
2 = Observations by Vintage Date, All Observations
3 = Observations by Vintage Date, New and Revised Observations Only
4 = Observations, Initial Release Only
vintage_dates
string. A comma separated string of YYYY-MM-DD formatted dates in history (e.g. 2000-01-01,2005-02-24).
Vintage dates are used to download data as it existed on these specified dates in history.
Vintage dates can be specified instead of a real-time period using realtime_start and realtime_end. optional, no vintage dates are set by default.
- Returns:
x (Dataframe) – Results.
Examples#
Fetch a single series#
x = fred_load("DGDSRL1A225NBEA");
the first 5 rows of the dataframe are:
date DGDSRL1A225NBEA
1930-01-01 -7.9000000
1931-01-01 -3.6000000
1932-01-01 -11.700000
1933-01-01 -0.70000000
1934-01-01 9.1000000
Fetch multiple series#
x = fred_load("DGDSRL1A225NBEA + DDURRL1A225NBEA + DNDGRL1A225NBEA");
the first 5 rows of the dataframe are:
date DDURRL1A225NBEA DGDSRL1A225NBEA DNDGRL1A225NBEA
1930-01-01 -17.200000 -7.9000000 -5.2000000
1931-01-01 -13.600000 -3.6000000 -1.1000000
1932-01-01 -24.000000 -11.700000 -8.8000000
1933-01-01 -2.6000000 -0.70000000 -0.40000000
1934-01-01 14.400000 9.1000000 8.2000000
Fetch series with inline arguments#
x = fred_load("GNPCA", "realtime_start", "1980-01-01", "realtime_end", "1989-12-31")
the first 5 rows of the dataframe are:
date GNPCA
1929-01-01 314.70000
1929-01-01 315.70000
1929-01-01 709.60000
1930-01-01 285.20000
1930-01-01 285.60000
Remarks#
API Key#
This function requires a valid API key. Please visit https://fred.stlouisfed.org/docs/api/api_key.html to find out more on how to obtain one.
Set your API key using any of the following methods in GAUSS:
Set the API key directly at the top of your program:
FRED_API_KEY = "your_api_key"
Set the environment variable
FRED_API_KEY
to your API key.Edit your gauss.cfg file and modify the
fred_api_key
value:fred_api_key = your_api_key
Disclaimer#
Note
This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.
Real-Time Periods#
You can read extensively about the real-time period parameters directly on the FRED Website at https://fred.stlouisfed.org/docs/api/fred/realtime_period.html
Per the FRED website:
The real-time period marks when facts were true or when information was known until it changed. Economic data sources, releases, series, and observations are all assigned a real-time period. Sources, releases, and series can change their names, and observation data values can be revised.
On almost all URLs, the default real-time period is today. This can be thought of as FRED® mode- what information about the past is available today. ALFRED® users can change the real-time period to retrieve information that was known as of a past period of history.
The real-time period can be specified by setting the realtime_start and realtime_end variables. Variables realtime_start and realtime_end are optional YYYY-MM-DD formatted dates that default to today’s date. The real-time period set by realtime_start and realtime_end is a (closed, closed) period. This means that the real-time period includes the dates or boundaries set by realtime_start and realtime_end.
See also