Recession Indicator
Get the NBER-based US Recession Indicator from FRED.
This is the official US business-cycle chronology maintained by the National Bureau of Economic Research (NBER) Business Cycle Dating Committee, encoded as 1 during NBER-dated recession months (peak through trough) and 0 otherwise. The Committee determines recession dates retrospectively from a broad set of coincident indicators - including Nonfarm Payrolls (see get_nonfarm_payrolls) and the Industrial Production Index (see get_industrial_production_index) - rather than the popular “two consecutive quarters of negative GDP growth” rule of thumb, which the NBER does not use. This series is the standard ground-truth label used in academic and applied business-cycle research to backtest whether other indicators lead, lag or coincide with recessions.
Requires a free FRED API key, see the fred_api_key parameter of the Economics class.
See definition: https://fred.stlouisfed.org/series/USREC
Also known as: USREC, NBER recession dummy, business cycle indicator.
Recession Indicator in Python
get_recession_indicator is part of the Economics module of the open-source Finance Toolkit. Install it with:
pip install financetoolkit -U
Then call get_recession_indicator as shown below.
from financetoolkit import Economics
economics = Economics(start_date='2020-01-01', fred_api_key='FRED_API_KEY')
economics.get_recession_indicator()
Which returns:
| Date | United States |
|---|---|
| 2026-02-01 | 0 |
| 2026-03-01 | 0 |
| 2026-04-01 | 0 |
| 2026-05-01 | 0 |
| 2026-06-01 | 0 |
Parameters
get_recession_indicator accepts the following parameters:
- rolling (int, optional): The rolling window size to use for smoothing the data (simple moving average). Defaults to None.
- trailing (int, optional): The trailing window size to use for summing the data over trailing periods. Defaults to None.
- growth (bool, optional): Whether to return the growth data or the actual data.
- lag (int, optional): The number of periods to lag the data by.
- standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
- rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.