Exposure Classes¶
Exposures are classified into regulatory categories that determine their treatment under the Standardised Approach (SA) and eligibility for Internal Ratings-Based (IRB) approaches.
Overview¶
flowchart TD
A[Exposure] --> B{Classification}
B --> C[Central Govt / Central Bank]
B --> D[Institution]
B --> E[Corporate]
B --> F[Retail]
B --> G[Specialised Lending]
B --> H[Equity]
B --> I[Defaulted]
B --> J[Other]
Exposure Class Summary¶
| Class | Description | SA | F-IRB | A-IRB | Slotting |
|---|---|---|---|---|---|
| Central Govt / Central Bank | Governments and central banks | ||||
| Institution | Banks and investment firms | ||||
| Corporate | Non-financial companies | ||||
| Corporate SME | Small/medium enterprises | ||||
| Retail | Individuals and small businesses | ||||
| Retail Mortgage | Residential mortgages | ||||
| Retail QRRE | Qualifying revolving exposures | ||||
| Retail Other | Other retail exposures | ||||
| Specialised Lending | Project/object/commodity finance | ||||
| Equity | Equity holdings | ||||
| Defaulted | Non-performing exposures | ||||
| Other | PSE, MDB, RGLA, etc. | Varies | Varies |
*Basel 3.1 restricts A-IRB for large corporates and institutions
Classification Process¶
The classifier assigns exposure classes based on:
- Counterparty type - Legal entity classification
- Product type - Facility/loan characteristics
- Size - Turnover, exposure amounts
- Performance status - Default indicators
from rwa_calc.engine.classifier import ExposureClassifier
classifier = ExposureClassifier()
# Classify exposures
result = classifier.classify(
exposures=resolved_exposures,
config=CalculationConfig.crr(date(2026, 12, 31))
)
# Each exposure now has exposure_class assigned
Classification Hierarchy¶
flowchart TD
A[Counterparty] --> B{Is Defaulted?}
B -->|Yes| C[DEFAULTED]
B -->|No| D{Counterparty Type}
D -->|Government| E[CENTRAL_GOVT_CENTRAL_BANK]
D -->|Central Bank| E
D -->|Bank| F[INSTITUTION]
D -->|Investment Firm| F
D -->|Corporate| G{SME?}
G -->|Yes| H[CORPORATE_SME]
G -->|No| I{Large?}
I -->|Yes| J[CORPORATE]
I -->|No| J
D -->|Individual| K{Exposure Type}
K -->|Mortgage| L[RETAIL_MORTGAGE]
K -->|Revolving| M[RETAIL_QRRE]
K -->|Other| N[RETAIL_OTHER]
D -->|Project Entity| O[SPECIALISED_LENDING]
Key Classification Criteria¶
SME Definition¶
An entity is classified as SME if: - Annual turnover ≤ EUR 50m (GBP 44m), AND - Total assets ≤ EUR 43m (GBP 37.84m)
Retail Criteria¶
An exposure qualifies as retail if: - To an individual or small business - Part of a pool of similar exposures - Total exposure to borrower ≤ EUR 1m (GBP 880k)
QRRE Criteria¶
Qualifying Revolving Retail Exposures: - Revolving, unsecured - To individuals - Maximum line ≤ EUR 100k - Unconditionally cancellable
Specialised Lending¶
Project/object/commodity finance where: - Repayment from asset cash flows - Lender has substantial control - Primary security is the financed asset
Default Indicators¶
An exposure is classified as defaulted if: - Past due > 90 days on material amount - Unlikely to pay in full - Subject to distressed restructuring - Bankruptcy/insolvency proceedings - Non-accrual status
# Default check
if (days_past_due > 90 and past_due_amount > materiality_threshold) or
unlikely_to_pay or
distressed_restructuring:
exposure_class = ExposureClass.DEFAULTED
Treatment by Class¶
Capital Calculation¶
| Class | SA Risk Weight Range | IRB Availability |
|---|---|---|
| Central Govt / Central Bank | 0% - 150% | F-IRB, A-IRB |
| Institution | 20% - 150% | F-IRB, A-IRB* |
| Corporate | 20% - 150% | F-IRB, A-IRB* |
| Corporate SME | 20% - 150% (+ factor) | F-IRB, A-IRB |
| Retail | 35% - 75% | A-IRB only |
| Specialised Lending | 70% - 250% | Slotting |
| Equity | 100% - 400% | Simple/PD/LGD |
| Defaulted | 100% - 150% | IRB (100% PD) |
CRM Eligibility¶
| Class | Financial Collateral | Physical Collateral | Guarantees |
|---|---|---|---|
| Central Govt / Central Bank | |||
| Institution | |||
| Corporate | |||
| Retail | Limited | ||
| Specialised Lending |
Supporting Factor Eligibility¶
| Class | SME Factor (CRR) | Infrastructure Factor (CRR) |
|---|---|---|
| Corporate SME | ||
| Retail (SME) | ||
| Specialised Lending (Infra) | ||
| Other |
Implementation¶
Exposure Class Enum¶
from rwa_calc.domain.enums import ExposureClass
# Available classes
ExposureClass.CENTRAL_GOVT_CENTRAL_BANK
ExposureClass.INSTITUTION
ExposureClass.CORPORATE
ExposureClass.CORPORATE_SME
ExposureClass.RETAIL_MORTGAGE
ExposureClass.RETAIL_QRRE
ExposureClass.RETAIL_OTHER
ExposureClass.SPECIALISED_LENDING
ExposureClass.EQUITY
ExposureClass.DEFAULTED
ExposureClass.PSE
ExposureClass.MDB
ExposureClass.RGLA
ExposureClass.OTHER
Classification Configuration¶
from rwa_calc.contracts.config import CalculationConfig
config = CalculationConfig.crr(
reporting_date=date(2026, 12, 31),
# Thresholds converted from EUR
eur_gbp_rate=Decimal("0.88")
)
# SME threshold: EUR 50m → GBP 44m
# Retail threshold: EUR 1m → GBP 880k
Detailed Documentation¶
- Central Govt / Central Bank - Government and central bank exposures
- Institution - Bank and investment firm exposures
- Corporate - Corporate and SME exposures
- Retail - Retail mortgage, QRRE, and other retail
- Other Classes - Equity, PSE, MDB, and defaulted exposures