Get the scenarios regulators publish for their stress tests: documented paths of the economy and financial markets under a baseline and an adverse scenario, which serve as calibration and validation targets for scenario generators and as the stresses banks and insurers are tested against.

Two authorities are available, both without an API key:

  • “federal_reserve”: the Federal Reserve’s supervisory stress test, quarterly over 13 quarters. For the United States: real and nominal GDP and disposable income growth, unemployment, CPI inflation, the 3-month, 5-year and 10-year Treasury rates, the BBB corporate yield, the mortgage and prime rate, the Dow Jones Total Stock Market Index, house and commercial real estate price indices and the VIX; for the euro area, developing Asia, Japan and the United Kingdom: GDP growth, inflation and the dollar exchange rate. scenario=”historic” returns the history of the same variables from 1976. year selects the year of the test (published in February); by default the latest.
  • “esrb”: the macro-financial scenario the European Systemic Risk Board designs for the EU-wide bank stress test of the EBA, yearly over three years: GDP growth, inflation, unemployment, residential and commercial real estate prices and long-term rates for every EU member and the main other economies, stock prices by region, commodity prices, iTraxx credit spreads and euro exchange rates. scenario=”historic” returns the starting point. Always the latest exercise.

Growth rates, inflation, interest rates, spreads and the VIX are decimal fractions (0.054 for 5.4%); price index levels, the stock market index and exchange rates are returned as published. The columns are per country (or region, index, commodity or currency pair) and variable.

See definition: https://www.federalreserve.gov/supervisionreg/dfast-archive.htm

Also known as: supervisory scenarios, CCAR, DFAST, EBA stress test, adverse scenario, severely adverse scenario.

Stress Test Scenarios in Python

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_stress_test_scenario as shown below.

from financetoolkit import Economics

economics = Economics(end_date="2025-12-31")

stress_test = economics.get_stress_test_scenario(countries='United States')

stress_test['United States'][
    ['Real GDP growth', 'Unemployment rate', '10-year Treasury yield', 'BBB corporate yield']
].head()

Which returns:

  Real GDP growth Unemployment rate 10-year Treasury yield BBB corporate yield
2026Q1 -0.054 0.059 0.031 0.075
2026Q2 -0.049 0.072 0.027 0.082
2026Q3 -0.038 0.082 0.024 0.081
2026Q4 -0.027 0.09 0.023 0.079
2027Q1 -0.014 0.095 0.023 0.075

Parameters

The function accepts the following parameters:

  • scenario (str, optional): “baseline”, “adverse” (the Federal Reserve’s severely adverse scenario) or “historic”. Defaults to “adverse”.
  • authority (str, optional): “federal_reserve” or “esrb”. Defaults to “federal_reserve”.
  • countries (list[str] | str | None, optional): The countries (or regions) to include. Defaults to None, which includes all of them.
  • year (int | None, optional): The year of the Federal Reserve’s stress test. Defaults to None, which takes the latest.
  • rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.
Share