Chapter 16 Exercises: Stress Testing and Scenario Analysis


Exercise 16.1 — Stress Scenario Design

Estimated time: 45–60 minutes Type: Analytical / Conceptual

Background

You are a junior analyst on the Economic Research team at Verdant Bank, the UK challenger bank where Maya Osei serves as Chief Compliance Officer. Verdant has a balance sheet of approximately £6 billion, concentrated primarily in UK residential mortgages (55%), UK SME lending (25%), and consumer credit cards (20%). It has no international exposures.

The ICAAP Steering Committee has asked your team to draft the macro variable values for two scenarios to be used in this year's ICAAP:

  • Scenario A (Adverse): A UK-specific recession driven by a combination of elevated inflation, interest rate rises, and a housing market correction. The recession is moderate — comparable in severity to the 2001–2002 UK slowdown rather than the 2008–2009 financial crisis.
  • Scenario B (Severely Adverse): A deep UK recession comparable in severity to the 2008–2009 financial crisis, compounded by a UK-specific loss of market confidence (e.g., following a fiscal credibility shock) that causes sterling to depreciate sharply and UK gilt yields to spike.

Task

For each scenario, specify values for the following macro variables over a three-year stress horizon. Provide a brief narrative justification (2–4 sentences) explaining the internal logic of the scenario and why the variable values are consistent with one another.

Variable Adverse (Scenario A) Severely Adverse (Scenario B)
UK GDP: cumulative change over 3 years
UK unemployment rate: peak level
UK residential house prices: cumulative change
UK commercial real estate: cumulative change
Bank Rate: path over 3 years (describe trajectory)
10-year gilt yield: peak level
Sterling (GBP/USD): cumulative change

Guidance Notes

  • The 2008–2009 UK recession produced a peak-to-trough GDP decline of approximately -6%, unemployment rising to approximately 8.5%, and UK house prices falling approximately 20% peak-to-trough
  • The 2001–2002 UK slowdown saw GDP growth slow to near zero but remain positive (GDP did not contract in the UK during this period); unemployment rose from approximately 5% to 5.5%
  • A fiscal credibility shock (as seen in September–October 2022 during the mini-budget episode) can cause gilt yields to spike 100–150 basis points in a short period
  • Ensure your GDP, unemployment, and house price paths are internally consistent: a scenario in which GDP falls but unemployment does not rise is inconsistent
  • For the Severely Adverse scenario, consider whether a UK-specific shock would cause the Bank of England to raise rates (to defend sterling) or cut rates (to support the economy) — this tension was evident in 2022–2023 and is worth addressing in your narrative

Deliverable

A completed table with values and a 1-page scenario narrative for each scenario, explaining the economic story and the consistency of the variable choices.


Exercise 16.2 — Calculating Stressed Credit Losses

Estimated time: 30–45 minutes Type: Quantitative

Background

Verdant Bank's credit risk team has provided the following portfolio data and macro sensitivity parameters, calibrated from Verdant's internal historical loss data.

Portfolio Data (£m)

Segment Outstanding Balance Current PD LGD Collateral
Residential Mortgage 3,300 0.7% 16% Residential
Consumer Credit Cards 1,200 2.8% 62% Unsecured
SME Commercial 1,500 3.5% 42% Mixed (some secured)

Macro Sensitivity Parameters (satellite model outputs)

The macro research team has estimated the following PD sensitivities from historical regression analysis:

Residential Mortgage PD sensitivity: - Per 1 percentage point of unemployment increase above 4.5%: PD increases by 0.5pp - Per 10% fall in house prices: PD increases by 1.8pp - GDP effect: captured through unemployment (unemployment is the primary transmission channel for mortgage PDs at Verdant)

Consumer Credit Card PD sensitivity: - Per 1pp unemployment increase above 4.5%: PD increases by 1.1pp - GDP (annual average change) per -1%: PD increases by 0.6pp

SME Commercial PD sensitivity: - Per 1pp unemployment increase above 4.5%: PD increases by 0.4pp - GDP (annual average change) per -1%: PD increases by 0.9pp - Credit spread widening per 100bp: PD increases by 0.3pp

LGD adjustments (stressed LGD): - Residential mortgage: LGD increases by 4pp per 10% house price fall - Consumer Credit and SME: LGD unchanged from base

Stress Scenario Parameters

Macro Variable Adverse Severely Adverse
GDP: cumulative 3-year -3.0% -6.0%
Unemployment: peak 8.0% 11.5%
House prices: cumulative -18% -35%
Credit spread widening 120bp 280bp

Note: For the GDP sensitivity models, use annual average GDP change (cumulative divided by 3 years).

Tasks

Part A: Calculate the stressed PD for each segment under each scenario.

Part B: Calculate the stressed LGD for each segment under each scenario.

Part C: Calculate the stressed Expected Loss (EL) for each segment under each scenario, over the full 3-year stress horizon. - Stressed EL (annual) = Stressed PD × Stressed LGD × Outstanding Balance - Stressed EL (cumulative, 3 years) = Annual EL × 3

Part D: Calculate the incremental stressed credit loss for each segment (stressed cumulative EL minus baseline cumulative EL).

Part E: Sum the incremental stressed credit loss across all segments. What is the total incremental credit loss under each scenario?

Reflection question: Which segment contributes the largest incremental credit loss under the severely adverse scenario? Why does this make intuitive economic sense given Verdant's business model?


Exercise 16.3 — ICAAP Document Structure

Estimated time: 30–45 minutes Type: Analytical / Written

Background

Maya Osei is preparing Verdant Bank's first formally structured ICAAP submission following its upgrade to a Category 3 firm under the PRA's supervisory categorization. She has asked you to prepare a briefing note outlining the required structure and content of a compliant ICAAP document.

Task

Write a structured briefing note (approximately 600–800 words) covering the following:

Section 1: Purpose and Ownership - What is the ICAAP and who owns it? - How does it differ from a regulatory reporting obligation? - What does PRA SS31/15 say about the relationship between the ICAAP and the management body?

Section 2: Required Content — The Core Sections Describe each of the following ICAAP sections and what it should contain: 1. Business model and strategy assessment 2. Risk identification and taxonomy 3. Stress test scenarios and results (adverse and severely adverse) 4. Capital adequacy conclusion and Capital Planning Buffer 5. Management actions assessment 6. Reverse stress test 7. Forward-looking capital plan (3–5 years)

Section 3: Common Supervisory Findings Describe three common deficiencies that PRA examiners find in ICAAP submissions (refer to the chapter's discussion and your own analysis). For each deficiency, explain what a well-managed institution would do differently.

Section 4: Recommendation What is the most important single principle that should guide Verdant's ICAAP — the principle that, if embedded, would most distinguish it from a compliance-driven document?

Deliverable

A structured memo to Maya, formatted as a professional internal advisory document, covering all four sections.


Exercise 16.4 — Coding: Implement the StressTestEngine

Estimated time: 90–120 minutes Type: Technical / Python

Background

The chapter introduced a simplified StressTestEngine class. In this exercise, you will implement a working version, run three scenarios, and extend the engine with an additional feature.

Part A: Implementation (Required)

Implement the complete StressTestEngine class as described in the chapter, including:

  1. _compute_stressed_pd(portfolio, scenario) — apply macro sensitivities to compute stressed PD
  2. _compute_stressed_lgd(portfolio, scenario) — adjust LGD for collateral value changes
  3. apply_scenario(scenario) — compute stressed credit losses across all portfolios
  4. capital_impact(scenario) — compute stressed capital ratio
  5. reverse_stress_test(capital_floor_ratio) — binary search for the floor-touching scenario
  6. run_scenario_table(engine, scenarios) — generate summary DataFrame

Use the following test portfolio for Verdant Bank:

verdant_portfolios = [
    LoanPortfolio(
        segment="Residential Mortgage",
        outstanding_balance=3_300,
        current_pd=0.007,
        lgd=0.16,
        concentration_sector="UK Housing",
        collateral_type="residential",
    ),
    LoanPortfolio(
        segment="Consumer Credit",
        outstanding_balance=1_200,
        current_pd=0.028,
        lgd=0.62,
        concentration_sector="UK Consumer",
        collateral_type="unsecured",
    ),
    LoanPortfolio(
        segment="Corporate SME",
        outstanding_balance=1_500,
        current_pd=0.035,
        lgd=0.42,
        concentration_sector="UK SME",
        collateral_type="unsecured",
    ),
]

verdant_engine = StressTestEngine(
    portfolios=verdant_portfolios,
    current_capital=680,     # £680m CET1
    current_rwa=5_800,       # £5,800m RWA
    baseline_nii=185,        # £185m annual NII
    baseline_opex=120,       # £120m annual OpEx
)

Run the following three scenarios:

baseline = MacroScenario(
    name="Baseline",
    gdp_shock=1.8,
    unemployment_rate_peak=0.045,
    house_price_change=3.0,
    cre_price_change=1.5,
    interest_rate_change=0,
    credit_spread_widening=0,
    duration_years=3,
)

adverse = MacroScenario(
    name="Adverse",
    gdp_shock=-3.0,
    unemployment_rate_peak=0.080,
    house_price_change=-18.0,
    cre_price_change=-25.0,
    interest_rate_change=75,
    credit_spread_widening=120,
    duration_years=3,
)

severely_adverse = MacroScenario(
    name="Severely Adverse",
    gdp_shock=-6.0,
    unemployment_rate_peak=0.115,
    house_price_change=-35.0,
    cre_price_change=-42.0,
    interest_rate_change=-150,
    credit_spread_widening=280,
    duration_years=3,
)

Print the run_scenario_table() output and the reverse stress test result.

Part B: Extension — Segment Contribution Chart (Optional, Intermediate)

Extend your implementation to produce a bar chart (using matplotlib) showing the contribution of each segment to the total incremental credit loss under each scenario. Label each bar with the segment name and loss amount. This chart format is commonly used in ICAAP board packs.

Part C: Extension — Management Action Sensitivity (Optional, Advanced)

Add a management_actions_scenario() method to the engine. The method should accept a management action specification:

@dataclass
class ManagementActions:
    dividend_suspension: float        # Proportion of annual dividend suspended (0–1)
    annual_dividend_amount: float     # Annual ordinary dividend (£m)
    asset_sale_proceeds: float        # Net proceeds from asset disposals (£m)
    asset_sale_timing_years: float    # Years from stress onset to receipt of proceeds
    rwa_reduction_pct: float          # % RWA reduction from balance sheet shrinkage

Modify capital_impact() to accept an optional ManagementActions object and reflect those actions in the stressed capital calculation. Run the severely adverse scenario with and without management actions and report the change in stressed CET1.

Deliverable

Working Python code (.py file or Jupyter notebook) with: - Complete implementation of all required classes and methods - Output of the scenario table (printed or in a cell) - Output of the reverse stress test (printed or in a cell) - Brief comments explaining non-obvious implementation choices - (Optional) matplotlib chart and management actions extension


Exercise 16.5 — Reverse Stress Testing Case Analysis

Estimated time: 45 minutes Type: Analytical / Case

Background

Cornerstone Financial Group has the following capital position:

  • CET1 Capital: £1,850m
  • Risk-Weighted Assets: £16,200m
  • Current CET1 Ratio: 11.42%
  • Regulatory Minimum CET1: 4.5%
  • Combined Buffer Requirement (Capital Conservation + Countercyclical): 3.5%
  • Total Capital Requirement (TCR): 8.0% (Pillar 1 minimum + buffers)
  • Pillar 2A Requirement: 1.5% CET1 equivalent

Cornerstone's portfolio is heavily concentrated in three sectors: 1. UK commercial real estate (27% of RWA) 2. UK residential mortgages (33% of RWA) 3. UK leveraged lending to private equity-backed companies (18% of RWA)

Tasks

Part A: Identify the Capital Floor

Cornerstone's Risk Committee has asked you to identify three possible "capital floors" for the reverse stress test, with a short explanation of the regulatory basis for each: 1. The minimum regulatory CET1 floor 2. The "management floor" (below which management would be expected to act) 3. The "recovery plan trigger" floor (a firm-specific level)

Explain which floor is most appropriate for the regulatory reverse stress test and why.

Part B: Identify Scenarios That Could Drive to the Floor

Given Cornerstone's concentration in UK CRE, residential mortgages, and leveraged lending, identify three distinct scenario narratives (not just numerical values, but economic stories) that could plausibly drive Cornerstone's capital toward the regulatory minimum. For each: - Describe the triggering event and propagation mechanism - Identify which portfolio segment bears the largest losses - Explain why this scenario is plausible given current UK and global macro conditions

Part C: Evaluate the "GDP -20%" Scenario

The junior analyst on the stress testing team has proposed that the reverse stress test scenario should be "UK GDP falls 20% over two years." Write a 200-word assessment of whether this is an appropriate reverse stress test scenario, referencing the regulatory guidance on reverse stress testing credibility.

Part D: Threshold Mapping

Using the simplified engine logic from Exercise 16.4, or through manual estimation, estimate approximately what GDP contraction and unemployment peak would drive Cornerstone's CET1 to 4.5%, assuming: - Credit losses scale linearly with macro severity beyond the adverse scenario - Under the Adverse scenario (GDP -3.5%, unemployment peak 8.5%), Cornerstone's CET1 falls to 8.5% - Under the Severely Adverse scenario (GDP -6%, unemployment peak 12.5%), Cornerstone's CET1 falls to 6.2%

Extrapolate to estimate the severity required to reach 4.5%. State your assumptions.


Exercise 16.6 — Research: The Bank of England Climate Biennial Exploratory Scenario

Estimated time: 60–90 minutes (includes directed research) Type: Research / Written

Background

The Bank of England's Climate Biennial Exploratory Scenario (CBES), published in 2021 with results released in 2022, was one of the first major regulatory climate stress tests applied to a significant national banking sector. This exercise asks you to research the CBES and assess its implications for a practitioner building climate risk stress testing capabilities.

Directed Research

Use the following sources as a starting point (both are publicly available on the Bank of England website):

  1. Bank of England (2021): "Guidance for participants of the 2021 Climate Biennial Exploratory Scenario" — the methodology document describing the three scenarios and the analytical approach
  2. Bank of England (2022): "Results of the 2021 Climate Biennial Exploratory Scenario (CBES)" — the published results

Additional useful context: - NGFS (2023): "NGFS Climate Scenarios for central banks and supervisors" — the global scenario framework the CBES drew on - Prudential Regulation Authority (2022): SS3/19 update on climate-related financial risk — the supervisory expectations

Tasks

Part A: The Three Scenarios

Describe the three CBES scenarios in your own words — Early Action, Late Action, and No Additional Action — covering: - The policy and technology assumptions underlying each scenario - The approximate warming trajectory (in degrees Celsius) consistent with each - Which scenario produces the largest near-term transition risk and why - Which scenario produces the largest long-term physical risk and why

Part B: Methodological Innovation and Gaps

The CBES required banks and insurers to analyze climate risk in ways most had never attempted. Describe: 1. Two methodological innovations introduced or required by the CBES (approaches banks had to develop specifically for the exercise) 2. Three significant data gaps identified in the CBES results — areas where the lack of data materially limited the quality of climate loss estimates 3. How the Bank of England treated these gaps in its published results (were results published with uncertainty ranges? were estimates capped? were qualitative findings substituted for quantitative ones?)

Part C: Sector Analysis

The CBES identified certain sectors as particularly exposed to climate-related financial risk. Identify two sectors identified in the CBES results as having elevated physical or transition risk and explain: - Why the sector is exposed (what type of risk and through what mechanism) - How the exposure manifests as a credit risk for the lending banks - What data a bank would need to quantify its exposure in that sector

Part D: Practitioner Implications

You are advising Priya Nair, who has been asked by a Big 4 client (a mid-sized UK commercial bank) to develop its climate stress testing capabilities in response to PRA regulatory expectations. Write a 400-word practical roadmap covering: - The minimum viable data infrastructure the bank needs before it can produce meaningful climate stress test results - The two most important climate risk analytical capabilities to build first (and why) - One critical governance change that must accompany the technical build - A realistic timeline expectation for reaching a level of capability comparable to what large banks demonstrated in the 2021 CBES

Deliverable

A structured research report (approximately 1,200–1,500 words) covering all four parts. Include citations to specific sections or tables from the CBES methodology document or results report where relevant.