Methodology
This section describes, formula by formula and product by product, what the ALM / IRRBB engine calculates: how cash flows are generated and valued, and how the regulatory metrics (EVE, NII, MV, gaps, EBA J templates) are derived from them.
Overview
Imported situation ─► Constant balance sheet ─► 8 scenarios ─► Cash flow generation ─► Valuation ─► Metrics ─► EBA templates
| # | Page | Content |
|---|---|---|
| 1 | Calculation framework | Shock scenarios and floor, curve reading, forward rates, discounting, day-count conventions, coupon decomposition (rate / liquidity / spread), certainty, repricing date, signs, currencies, time buckets |
| 2 | Product Sheets | Schedule and formulas for each product: bullet loan, term deposit, amortising loan, security, swap, repo, non-maturity deposit, accounting balance |
| 3 | Metrics | MV, EVE, 12-month NII, ΔEVE / ΔNII, supervisory outlier test, outstanding balance and maturity, repricing notionals, liquidity and interest rate gaps, differences between the Metrics tab, the synthesis and the templates |
| 4 | Constant and behavioural balance sheet | Roll-over of maturing positions, run-off laws, calls, projection modes, pre-fixing |
| 5 | EBA IRRBB templates | Content of each template J 01.00 to J 11.02 and sign conventions |
| — | J template cell details | Calculation of each row and column of each template |
| 6 | Assumptions and limitations | Modelling assumptions, changes in the next version, known limitations |
| 7 | Ledger reconciliation | Filing deals on an account (instrument → account mapping, explicit mappings), reconciliation by poste with the ledger |
| — | Rates, calls and rate projection | Fixed rate with spread, issuer / holder calls, projection mode for uncertain rates, with examples |
The engine can also compute a Basel IRB credit risk weighting and value options (Black-Scholes, Monte Carlo). No screen of the solution exposes them: these calculations are not described in this manual.
Notation
The formulas use the following notation, common to all chapters.
| Symbol | Meaning |
|---|---|
| \(t_0\) | Reporting date (evaluationDate of the evaluation context) |
| \([t_{k-1}, t_k]\) | Interest period \(k\): start and end (= payment date) of the coupon |
| \(N\) | Notional (amount) of the transaction |
| \(s\) | Direction of the transaction: \(+1\) for BUY, \(-1\) for SELL |
| \(r(t)\) | Zero-coupon rate read from a curve for date \(t\) |
| \(F_B(t_a, t_b)\) | Forward rate between \(t_a\) and \(t_b\): simple rate of the period in the coupon’s basis \(B\) |
| \(m\) | Contractual spread of the transaction (rate.spread) |
| \(R\) | All-in customer rate of a coupon: rate component + spread |
| \(\ell\) | Liquidity spread |
| \(\tau_B(t_a, t_b)\) | Year fraction between \(t_a\) and \(t_b\) under day-count convention \(B\) |
| \(p\) | Number of periods per year of the frequency (12, 4, 2, 1) |
| \(DF_\sigma(t)\) | Discount factor at date \(t\) in scenario \(\sigma\) |
| \(CF\) | Signed amount of a cash flow, in its currency |
| \(\sigma\) | Scenario: BASELINE, PARALLEL_UP, PARALLEL_DOWN, SHORT_UP, SHORT_DOWN, STEEPENER, FLATTENER, UP_1_BP |
All amounts are expressed from the bank’s point of view: a positive cash flow is a cash inflow (an asset repaying, interest received), a negative cash flow is an outflow (a liability repaying, interest paid). See Calculation framework, §1.10.
Vocabulary
| Displayed term | Business term |
|---|---|
evaluationDate |
Reporting date |
CAPITAL / INTEREST |
Principal cash flow / interest cash flow |
CONTRACTUAL / BEHAVIOURAL |
Contractual view / behavioural view (run-off, call) |
CERTAIN / UNCERTAIN |
Cash flow whose rate is known (already fixed) / cash flow whose rate has yet to be fixed |
FIXED / FLOATING |
Fixed rate / floating (indexed) rate |
adjustedDate |
Repricing date of the cash flow (for floating-rate principal: next refixing) |
OutflowStrategy |
Run-off law (run-off convention for non-maturity balances) |
NIM, MNI |
Net interest income (NII in EBA texts) |
original = false |
New business transaction arising from the constant balance sheet roll-over |
Launching a Cash Flow generation
Cash flow generation is launched from the detail page of an ALM situation, by clicking the Cash Flows button in the top right corner.
Launch a cash flow generation
- From the detail page of an ALM situation, click the Cash Flows button in the top right corner.
- In the Start Generation window, select the scenario type from the drop-down list: IRRBB or Custom. An IRRBB run is the official run; Custom starts a custom simulation, whose settings are described in Custom scenario.
- Choose the Rate projection mode: Forwards (default) or Last known rate (see Projection mode for uncertain rates).
- Check the displayed parameters and click Start.
Choosing a scenario
IRRBB scenario
The IRRBB scenario (Interest Rate Risk in the Banking Book) applies the EBA standard framework (guidelines EBA/GL/2022/14 and the regulatory technical standards on the supervisory outlier test). It rests on two assumptions:
- Constant balance sheet: positions maturing within the horizon are rolled over on identical terms (see Constant and behavioural balance sheet);
- 8 scenarios calculated simultaneously, applied to all yield curves:
| Scenario | Description | Shock in EUR |
|---|---|---|
| BASELINE | Current yield curve, no shock. | None |
| PARALLEL UP | Upward parallel shift of the whole curve. | +200 bp |
| PARALLEL DOWN | Downward parallel shift of the whole curve. | −200 bp |
| STEEPENER | Steepening: short rates down, long rates up. | \(-0.65 \times 250\,S(t) + 0.9 \times 100\,(1 - S(t))\) bp |
| FLATTENER | Flattening: short rates up, long rates down. | \(+0.8 \times 250\,S(t) - 0.6 \times 100\,(1 - S(t))\) bp |
| SHORT UP | Rise in short rates, decaying with maturity. | \(+250\,S(t)\) bp |
| SHORT DOWN | Fall in short rates, decaying with maturity. | \(-250\,S(t)\) bp |
| UP 1 BP | Sensitivity probe, outside the regulatory test. | +1 bp |
with \(S(t) = e^{-t/4}\), \(t\) being the maturity of the curve point in years. The shock sizes depend on the currency of the curve, and shocked rates are bounded by the EBA floor: see Calculation framework, §1.2.
The IRRBB run is the official run: its settings are fixed (the import’s balance sheet, the 8 scenarios above, post-shock floor applied) and it is the only one that produces the regulatory IRRBB templates.
Custom scenario
Custom simulation
A custom simulation takes the ALM situation and its calculation chain, but lets you choose the assumptions. It carries a name, which tells it apart in the list of generations, and the following settings.
| Setting | Official run (IRRBB) | Custom simulation |
|---|---|---|
| Balance sheet | the import’s (constant balance sheet) | constant over N months, run-off, or growing by N % a year |
| Scenarios | the 8 scenarios | BASELINE always, plus the chosen regulatory shocks |
| Own shock | none | an optional CUSTOM shock: parallel, short or long |
| Post-shock floor | applied | applied or not |
| Rate projection | your choice | your choice |
| Results | cash flows, gaps, metrics and IRRBB templates | cash flows, gaps and metrics, no IRRBB template |
Balance sheet
- Constant over N months: transactions maturing within the N months are rolled over on identical terms, as in the official run (see Constant balance sheet).
- Run-off: no new production, the balance sheet runs down.
- Growing by g % a year: the constant balance sheet roll-overs, their amounts multiplied by \((1 + g)^{\tau}\), \(\tau\) being the number of years (Actual/365) from the evaluation date to the start of the roll-over. A negative rate shrinks the balance sheet.
Scenarios and own shock
BASELINE is always calculated; the other regulatory scenarios only when chosen. The own shock adds a CUSTOM scenario of signed size \(b\) in basis points (+100 bp = +1 %), of shape:
| Shape | Shock at maturity point \(t\) |
|---|---|
| Parallel | \(b\) |
| Short | \(b \cdot S(t)\), with \(S(t) = e^{-t/4}\) |
| Long | \(b \cdot (1 - S(t))\) |
Without the floor, no shocked scenario of the simulation (CUSTOM included) is bounded by the EBA floor. The formulas are detailed in Calculation framework, §1.2.
Cash flows in brief
For each transaction and each scenario, the engine determines the payment dates, calculates each coupon on the all-in rate (base rate + spread) and each principal cash flow, then discounts them. Fixed-rate cash flows use the contractual rate; floating-rate cash flows use the forward rate of the index over the coupon period. The exact formulas are in the Calculation framework and the Product Sheets.
Cash flow origins
For each simulation, the engine calculates two sets of cash flows:
Origin (origin) |
Description |
|---|---|
CONTRACTUAL |
Cash flows determined strictly on the basis of the financial contracts, without taking behavioural options into account. |
BEHAVIOURAL |
Cash flows determined taking behavioural options into account, in particular the application of call dates. |
CashFlow object fields
Time fields
| Field | Description |
|---|---|
date |
Date on which the cash flow occurs in the future. |
timeBucket |
IRRBB regulatory time bucket (e.g. B_06_12M, B_12_6Y). |
adjustedDate |
Repricing date: for the principal of a floating-rate transaction, end of the current coupon (next refixing); otherwise the cash flow date. |
adjustedTimeBucket |
Time bucket corresponding to the adjusted date. |
daysFromEvaluationDate |
Number of days between the cash flow date and the reference date of the situation. |
period |
Periodicity of the cash flow: MONTH, QUARTER, SEMESTER, YEAR, AT_MATURITY, NO_PERIOD. |
Identification fields
| Field | Description |
|---|---|
transactionReference |
Reference of the transaction in the portfolio (e.g. TD_95472). |
scenario |
IRRBB scenario applied (e.g. BASELINE, PARALLEL_UP). |
origin |
Origin of the cash flow: CONTRACTUAL or BEHAVIOURAL. |
original |
Indicates whether the cash flow comes from an original transaction (true) or from a roll-over within the scenario (false). |
product |
Instrument leg for swaps: LEG1 or LEG2. |
cashFlowDetail |
Detail of the cash flow type: INITIAL, FINAL, or cash flow number (e.g. #002). |
Nature fields
| Field | Description |
|---|---|
cashFlowNature |
Nature of the cash flow: CAPITAL or INTEREST. |
interestNature |
Interest decomposition: GLOBAL (total), LIQUIDITY (liquidity), RATE (base rate), MARGIN (spread). |
CERTAINTY |
Certainty level: CERTAIN (rate already fixed) or UNCERTAIN (rate yet to be fixed, or rolled-over transaction). |
Valuation fields
| Field | Description |
|---|---|
amount |
Amount of the cash flow in the instrument currency (signed). |
amountInPivotCurrency |
Amount converted into the reference currency (signed). |
effectiveRate |
Final rate used to value the cash flow. |
discountFactor (DF) |
Discount factor calculated on the original date of the cash flow. |
adjustedDiscountFactor |
Discount factor calculated on the adjusted date. |
Calculated metrics
| Metric | Description |
|---|---|
EVE |
Contribution of the cash flow to the Economic Value of Equity: amount × adjusted discount factor, for a certain cash flow; 0 otherwise. |
NIM |
Contribution of the cash flow to net interest income: undiscounted amount, pro rata to the days of its period falling after the reporting date, for an interest cash flow. |
MV |
Market Value: amount × discount factor, for every cash flow. |
Rate fields (rate)
| Sub-field | Description |
|---|---|
type |
Rate type: FIXED or FLOATING. |
index |
Market index used (e.g. EURIBOR 6M SWAP). |
originalIndex |
Original index as stipulated in the contract. |
interestMode |
Compounding mode: SIMPLE or COMPOUND. |
base |
Day-count convention: EXACT_EXACT, EXACT_365, EXACT_360, ABB_30_360. |
value |
Value of the applied rate. |
spread |
Additional spread applied to the base rate. |
Calculation of aggregate metrics
From the generated cash flows, the engine calculates, for each scenario, by currency and by origin:
| Metric | Definition |
|---|---|
| MV (Market Value) | \(\sum CF \cdot DF_\sigma(t)\) over all cash flows of the balance sheet at the reporting date (excluding roll-overs), discounted at their payment date on the scenario curve. |
| EVE (Economic Value of Equity) | \(\sum CF \cdot DF_\sigma(t^{adj})\) over certain cash flows only, discounted at their repricing date: run-off value of the existing portfolio. |
| NII / NIM (Net Interest Income) | Undiscounted interest accrued over the 12 months following the reporting date (each coupon pro rata to its days falling within the horizon), including constant balance sheet roll-overs. |
Sensitivities are the differences from the baseline scenario, \(\Delta EVE_\sigma = EVE_\sigma - EVE_{BASELINE}\) and \(\Delta NII_\sigma = NII_\sigma - NII_{BASELINE}\). The supervisory outlier test compares the worst decline with Tier 1 capital:
- EVE: worst \(\Delta EVE\) across the six supervisory shocks; alert threshold at 15% of Tier 1;
- NII: worst \(\Delta NII\) across the two parallel shocks; alert threshold at 5% of Tier 1.
The engine reports the worst change and its ratio to the Tier 1 capital declared in the situation (template J 01.00); the comparison with the threshold is left to the user. Formula details: Metrics.