8. Market and Counterparty Risk in Treasury
Treasury and trading books are exposed to two families of risk that change every second: market risk, where interest rates, FX rates, spreads and volatilities move against the bank's positions, and counterparty credit risk, where the party on the other side of a derivative defaults while owing the bank money. This chapter explains how both are measured (sensitivities, VaR, Expected Shortfall, exposure profiles, CVA), how FX risk is managed at the transaction and balance sheet level, and how limits turn these measures into day-to-day controls. For engineers, these topics become risk engines that revalue hundreds of thousands of trades under thousands of scenarios, real-time limit services and audit-grade breach workflows that regulators and auditors inspect closely.
<a id="81-market-risk-measurement"></a>
8.1 Market Risk Measurement
This subchapter builds market risk measurement from the ground up: first the local sensitivities of a position to each market factor, then interest rate sensitivities expressed per basis point, then portfolio-level loss measures (VaR and Expected Shortfall), the simulation methods behind them, and finally P&L attribution, which checks that the risk numbers actually explain what happened to the bank's P&L.
Sensitivities and Greeks
Why it matters. Before asking "how much could we lose?", a risk manager needs to know "what happens to the value of this position if one market input moves a little?". A treasury desk may hold bonds, swaps, FX forwards and options that depend on dozens of curves and volatility surfaces. Sensitivities break that complexity into a small set of numbers per risk factor, which can be added up across trades, hedged and limited.
What a sensitivity is. A sensitivity is the change in the value of a position for a small change in one market input, with all other inputs held constant. Mathematically it is a partial derivative. For options, the main sensitivities have Greek letter names, hence "the Greeks". The change in value of a position can be approximated by a Taylor expansion:
dV ~= Delta x dS + 1/2 x Gamma x dS^2 + Vega x d(sigma) + Theta x dt + Rho x dr
--------- ------------------ --------------- ---------- --------
first-order second-order volatility time decay rates
price move (curvature) move
| Greek | Measures change in value for... | Typical unit | Intuition |
|---|---|---|---|
| Delta | a 1-unit move in the underlying price | per unit of underlying | Equivalent position in the underlying |
| Gamma | a 1-unit move in the underlying, applied to Delta | change in Delta per unit | How fast Delta changes; curvature |
| Vega | a 1 percentage point move in implied volatility | per vol point | Exposure to market's uncertainty |
| Theta | the passage of one day | per day | Time decay (cost of holding optionality) |
| Rho | a move in interest rates | per 1% or 1bp | Rate exposure of the option |
Linear products (FX forwards, bonds, swaps) have Delta-type sensitivities and little or no Gamma; options add Gamma, Vega and Theta. In practice, sensitivities are reported per risk factor and per bucket: a swap book has a sensitivity to each tenor point of each curve (1Y, 2Y, 5Y, 10Y...), and an option book has Vega per expiry and strike.
How they are computed.
- Analytically, using closed-form formulas (for example Black-Scholes Greeks), which is fast but only available for simple products.
- Bump-and-revalue (finite differences): reprice with the input shifted up and down and take the difference. A central difference
(V(x+h) - V(x-h)) / 2his more accurate than a one-sided difference. It works for any product but costs two revaluations per risk factor. - Adjoint algorithmic differentiation (AAD): computes all first-order sensitivities of a price in a single backward pass, at a cost of a few times one valuation regardless of the number of inputs. It is the standard technique for large derivative books.
Example. A desk holds 10,000 equity call options with Delta 0.60, Gamma 0.05, Vega 0.20 per vol point and Theta -0.03 per day (all per option). Overnight the stock rises from 100 to 102, implied volatility rises by 1 point and one day passes.
Component Formula Per option x 10,000
-----------------------------------------------------------------
Delta 0.60 x 2 1.20 12,000
Gamma 0.5 x 0.05 x 2^2 0.10 1,000
Vega 0.20 x 1 0.20 2,000
Theta -0.03 x 1 -0.03 -300
-----------------------------------------------------------------
Estimated P&L 1.47 14,700
The Delta term dominates for small moves; the Gamma term grows with the square of the move and becomes significant for large moves. If a full revaluation gives, say, 14,900, the 200 difference is the error of the approximation (higher-order terms and cross effects).
Analogy. Think of a car's dashboard. Delta is the speedometer (how fast value changes as the market moves), Gamma is the acceleration (how fast that speed changes), and Theta is the fuel gauge slowly dropping even when the car is standing still.
Key takeaways
- A sensitivity is a partial derivative of value with respect to one market input; Greeks are the named sensitivities of options.
- Delta and Gamma capture price risk, Vega volatility risk, Theta time decay, Rho rate risk.
- Sensitivities are bucketed by curve tenor, expiry and strike so they can be aggregated, hedged and limited.
- Bump-and-revalue is general but expensive; AAD computes all first-order sensitivities at a small multiple of one pricing.
🧪 Practice
- Beginner: A trader is short 5,000 call options, each with Delta 0.45 on one share. How many shares must they buy to be Delta-neutral?
- Intermediate: An option position has Delta 2,000, Gamma 150 and Vega 800 (in EUR per unit and per vol point). Estimate the P&L if the underlying falls by 4 units and implied volatility rises by 2 points. Which term would you expect to be least accurate for a 20-unit move, and why?
- Interview: "We need bucketed sensitivities for 1 million trades by 6 am, and bump-and-revalue takes 14 hours. What would you do?" Hint: count revaluations (trades x risk factors x 2), then consider AAD for the pricers that support it, reusing calibrated curves across bumps, grouping trades by shared risk factors, distributing across a compute grid, and computing only the buckets each trade actually depends on.
DV01 and PV01
Why it matters. For most bank treasuries, interest rate risk is the largest market risk: the bond portfolio held as a liquidity buffer, the swaps used to hedge fixed-rate loans and deposits, and the funding issued all change value when rates move. Rates move in small steps, so the industry measures rate risk in basis points (1bp = 0.01%). DV01 and PV01 express "how many currency units does this position gain or lose for a 1bp rate move", which makes positions of very different sizes and maturities comparable and additive.
Definitions.
- DV01 (dollar value of an 01) is the change in the value of a position when its yield or the relevant curve moves by 1bp. A common convention is
DV01 = V(rates - 1bp) - V(rates), which is positive for a long bond (it gains when rates fall). Some systems use the opposite sign, so the convention must always be documented. - Link to duration. For a bond,
DV01 ~= Modified duration x Market value x 0.0001. - PV01 strictly means the present value of 1bp per year paid over the life of an instrument, that is the annuity factor times notional times 0.0001. For a swap, this is how much its value changes when its fixed rate changes by 1bp. In many banks, PV01 and DV01 are used interchangeably for "value change per 1bp curve shift". The numbers are close for par instruments but not identical, so check the definition in each system.
- Key-rate (bucketed) DV01 shifts one tenor point of the curve at a time (for example 2Y, 5Y, 10Y, 30Y). The sum of key-rate DV01s approximately equals the parallel DV01, but the breakdown reveals curve-shape risk.
Example: single bond and hedge. A bank holds EUR 1,000,000 face of a bond priced at 98.50 (market value EUR 985,000) with modified duration 6.8.
DV01 = 6.8 x 985,000 x 0.0001 = EUR 669.80 per bp
Hedge with a 5Y payer swap (pay fixed, receive floating).
Annuity factor of the swap ~= 4.6
PV01 per EUR 1m of swap = 4.6 x 1,000,000 x 0.0001 = EUR 460 per bp
Hedge notional = 669.80 / 460 ~= EUR 1.46m of payer swap
Example: zero DV01 does not mean zero risk. A portfolio has these key-rate DV01s (positive = gains when rates fall):
Tenor 2Y 5Y 10Y 30Y Total
DV01 +12,000 +35,000 -40,000 -7,000 0
Steepening scenario (bp): 2Y -10 5Y -5 10Y +5 30Y +10
P&L = DV01 x (-shift):
+120,000 +175,000 +200,000 +70,000 = +565,000
The total DV01 is zero, so a parallel shift has no effect, yet a steepening of the curve produces EUR 565,000 of profit. A flattening of the same size would produce the same amount of loss. This is why limits are set on bucketed DV01, not only on the total.
Analogy. DV01 is like the price per kilogram on a market stall: it tells you how much the total bill changes for each extra unit, regardless of how big the basket is.
Key takeaways
- DV01 is the value change for a 1bp rate move; for bonds it is approximately modified duration x market value x 0.0001.
- PV01 strictly refers to the value of a 1bp annuity, but is often used as a synonym for DV01; sign and definition conventions must be checked.
- Hedge ratios are DV01 ratios: hedge notional = position DV01 / hedge DV01 per unit.
- Key-rate DV01s expose curve risk that a zero total DV01 hides.
🧪 Practice
- Beginner: A bond position has a market value of EUR 20m and modified duration 4.5. What is its DV01, and how much does it gain or lose if yields rise by 15bp?
- Intermediate: Using the key-rate DV01 table above, compute the P&L for a flattening scenario of 2Y +8bp, 5Y +4bp, 10Y -3bp, 30Y -6bp. Which single bucket would you hedge first to reduce the loss?
- Interview: "Why might a portfolio with zero total DV01 still lose money when rates move?" Hint: consider non-parallel curve moves across key rates, basis between curves (for example government vs swap, or different floating indices), and convexity for large moves.
Value at Risk (VaR)
Why it matters. Sensitivities describe exposure to each factor separately, but management, the board and regulators want a single answer to "how bad can a normal bad day be?" across all risk types, taking diversification into account. Value at Risk, popularized by J.P. Morgan's RiskMetrics in the 1990s and adopted in the 1996 Basel Market Risk Amendment, provides that single number.
Definition. VaR at confidence level alpha over horizon h is the loss that is not exceeded with probability alpha. A 1-day 99% VaR of EUR 2m means: on 99 days out of 100, the loss should be smaller than EUR 2m. It says nothing about how large the loss is on the remaining 1 day.
Frequency
| ****
| *** ***
| ** **
| ** **
| ** **
| ** **
| | *** ***
| *|** *****
+---+--------------------+--------------------------> P&L
VaR 0
<-1%-> worst 1% of outcomes lies to the left of VaR
Three ingredients. Every VaR number needs a confidence level (95%, 99%), a horizon (1 day, 10 days) and a method to obtain the P&L distribution (parametric, historical simulation or Monte Carlo, covered later).
Parametric (variance-covariance) VaR. If P&L is assumed normally distributed with standard deviation sigma per day:
VaR(alpha, h) = z(alpha) x sigma x sqrt(h)
z(95%) = 1.645 z(99%) = 2.326
The square-root-of-time rule assumes independent, identically distributed daily returns, which is only an approximation.
Example. A bond portfolio worth EUR 50m has a daily volatility of 0.8%, so sigma = EUR 400,000.
1-day 99% VaR = 2.326 x 400,000 = EUR 930,400
10-day 99% VaR = 930,400 x sqrt(10) = EUR 2,942,000
Diversification. For two positions with standard deviations sigma1 and sigma2 and correlation rho:
sigma_p = sqrt(sigma1^2 + sigma2^2 + 2 x rho x sigma1 x sigma2)
sigma1 = 300k, sigma2 = 400k, rho = 0.3
sigma_p = sqrt(90,000 + 160,000 + 72,000) k = sqrt(322,000) k = 567k
Diversified 99% VaR = 2.326 x 567k = 1.32m
Undiversified 99% VaR = 2.326 x 700k = 1.63m (sum of standalone VaRs)
Backtesting. A VaR model is checked by comparing each day's VaR with the actual next-day P&L. A day where the loss exceeds VaR is an exception. Under the Basel traffic-light approach for a 99% VaR over 250 days, 0-4 exceptions are green, 5-9 yellow (capital multiplier increases), and 10 or more red (the model is presumed flawed).
Limitations.
- VaR ignores the size of losses beyond the threshold (tail blindness).
- VaR is not always subadditive: the VaR of a combined portfolio can exceed the sum of its parts, which contradicts the idea of diversification.
- Calibration to recent calm markets understates risk. Basel 2.5 (2009) therefore added Stressed VaR, calibrated to a 12-month period of significant stress.
Key takeaways
- VaR is a quantile of the loss distribution: confidence level, horizon and method must always be stated.
- Parametric VaR = z x sigma x sqrt(h); diversification reduces portfolio VaR below the sum of standalone VaRs when correlation is below 1.
- Backtesting counts exceptions; Basel's traffic light (0-4, 5-9, 10+ out of 250) governs the regulatory multiplier.
- VaR says nothing about tail severity, which motivated Stressed VaR and Expected Shortfall.
🧪 Practice
- Beginner: A position has a daily P&L standard deviation of EUR 250,000. Compute its 1-day 95% and 99% parametric VaR, and its 10-day 99% VaR.
- Intermediate: Two desks have standalone 1-day 99% VaRs of EUR 3m and EUR 4m. What is the combined VaR if their correlation is 1, 0, and -0.5 (assume normality)? Over the last 250 days, the combined portfolio had 7 exceptions. Which traffic-light zone is that?
- Interview: "Your VaR backtesting shows 12 exceptions in the last year. What do you investigate?" Hint: separate model problems from data problems: missing or mis-booked trades, stale market data, risk factors not captured in VaR (basis, new products), P&L that includes fees or intraday trading, a regime change in volatility, and whether you compared against actual or hypothetical P&L.
Expected Shortfall
Why it matters. Two portfolios can have exactly the same VaR while one of them hides a catastrophic tail, for example a book of short deep out-of-the-money options that earns small premiums almost every day and then loses heavily in a crash. VaR treats them the same. Expected Shortfall (ES), also called Conditional VaR, looks inside the tail. Under the Fundamental Review of the Trading Book (FRTB), Basel replaced 99% VaR with 97.5% ES as the basis of internal-model market risk capital.
Definition. ES at level alpha is the average loss in the worst (1 - alpha) of outcomes:
ES(alpha) = E[ Loss | Loss >= VaR(alpha) ]
ES is always at least as large as VaR at the same confidence level. It is a coherent risk measure, in particular subadditive: combining portfolios never increases ES beyond the sum of the parts.
Example: same VaR, different tails. A historical simulation with 200 scenarios is used; at 97.5%, the tail contains the worst 5 scenarios (200 x 2.5%). The 6th-worst loss is used as VaR in this example (conventions vary).
Worst losses (EUR m) 1 2 3 4 5 | 6th = VaR
-------------------------------------------------------------------
Portfolio A 12.0 10.0 9.0 8.5 8.2 | 8.0
Portfolio B 40.0 15.0 9.0 8.5 8.2 | 8.0
ES(97.5%) A = (12.0 + 10.0 + 9.0 + 8.5 + 8.2) / 5 = 9.54
ES(97.5%) B = (40.0 + 15.0 + 9.0 + 8.5 + 8.2) / 5 = 16.14
Both portfolios report a VaR of 8.0, but ES reveals that B's tail is far worse.
Why 97.5%? Under a normal distribution, ES = sigma x phi(z) / (1 - alpha). At 97.5%, phi(1.96) / 0.025 = 2.338, almost identical to the 99% VaR multiplier of 2.326. Basel chose 97.5% ES so that capital stays similar for normal-like portfolios while fat-tailed portfolios are penalized.
FRTB features around ES.
| Feature | Description |
|---|---|
| Confidence level | 97.5%, one-tailed |
| Liquidity horizons | Risk factors scaled to horizons from 10 to 120 days depending on how quickly positions can be exited |
| Stressed calibration | ES computed over a period of significant stress for the current portfolio |
| Desk-level approval | Each trading desk must pass backtesting and the P&L attribution test to use internal models |
| Non-modellable risk factors | Factors without enough real price observations are capitalized separately with a stress scenario |
Backtesting challenge. ES is harder to backtest than VaR because you cannot simply count exceptions; you must judge the average size of tail losses, which requires many observations. FRTB therefore still backtests VaR at 97.5% and 99% while capitalizing on ES.
Analogy. VaR tells you where the cliff edge is; ES tells you how far down you fall on average if you go over it.
Key takeaways
- ES is the average loss beyond VaR and therefore captures tail severity.
- ES is subadditive (coherent); VaR is not always.
- FRTB uses 97.5% ES with liquidity horizons and stressed calibration; under normality it is close to 99% VaR.
- ES is harder to backtest, so VaR backtesting remains part of the regulatory framework.
🧪 Practice
- Beginner: With 500 historical scenarios, how many scenarios are averaged to compute 97.5% ES? And 99% ES?
- Intermediate: A portfolio's daily P&L is normal with sigma = EUR 1m. Compute 97.5% ES and 99% VaR, and explain why their closeness mattered to regulators. Then explain qualitatively how the comparison changes for a portfolio of short options.
- Interview: "Why is ES computationally and operationally harder than VaR in a production risk system?" Hint: think about liquidity-horizon scaling (several ES runs on subsets of risk factors), the stressed period search, the need for the full tail rather than one quantile, desk-level calculations, and backtesting data requirements.
Historical vs Monte Carlo Simulation
Why it matters. Parametric VaR assumes normal returns and linear positions. Real markets have fat tails and skew, and option portfolios respond non-linearly to market moves. Simulation methods generate a full distribution of P&L by revaluing the portfolio under many scenarios. The two main approaches differ in where the scenarios come from: the past (historical simulation) or a statistical model (Monte Carlo).
Historical simulation (HS).
- Take the last N days of market data (often 250 or 500 days, plus a stressed window).
- For each day, compute the change in every risk factor from that day to the next.
- Apply each historical change to today's market state, producing N scenarios.
- Revalue the current portfolio under each scenario (full revaluation or sensitivity-based approximation).
- Sort the N P&Ls; VaR is the appropriate quantile and ES the average beyond it.
Changes can be applied as absolute shifts (add the historical move) or relative shifts (multiply by the historical return). Relative shifts are natural for FX rates and equity prices; for interest rates near zero or negative, absolute shifts or shifted-lognormal approaches are used, because relative moves explode when the base level is small.
Monte Carlo simulation (MC).
- Choose a stochastic model for the risk factors (for example correlated lognormal moves, or a term structure model for rates).
- Calibrate volatilities and correlations from data.
- Generate thousands of random scenarios, using a Cholesky decomposition of the correlation matrix to introduce correlation.
- Revalue the portfolio under each scenario and read the VaR and ES from the distribution.
Correlated normal draws for two factors with correlation rho:
z1, z2 independent standard normals
x1 = z1
x2 = rho x z1 + sqrt(1 - rho^2) x z2
rho = 0.6, z1 = 1.2, z2 = -0.5:
x1 = 1.2
x2 = 0.6 x 1.2 + 0.8 x (-0.5) = 0.72 - 0.40 = 0.32
Pipeline.
Market data history Model + calibration
| |
v v
+----------------+ +-------------------+
| Historical | | Random scenario |
| scenario gen. | | generator (MC) |
+-------+--------+ +---------+---------+
| |
+-------------+---------------+
v
+--------------------+ trades x scenarios
| Revaluation engine | <-- (e.g. 200k x 500 =
+---------+----------+ 100m pricings)
v
+--------------------+
| Scenario P&L cube | --> VaR, ES, contributions
+--------------------+
Comparison.
| Aspect | Historical simulation | Monte Carlo |
|---|---|---|
| Source of scenarios | Actual past market moves | Statistical model |
| Distribution assumptions | None; fat tails and correlations come from data | Depends on model chosen |
| Number of scenarios | Limited by history (e.g. 250-500) | As many as needed (e.g. 10,000+) |
| Tail estimate stability | Noisy; depends on a few observations | Smoother, but model risk in the tails |
| Events never seen before | Not captured | Can be generated if model allows |
| Transparency | High; each scenario is a real date | Lower; harder to explain to management |
| Compute cost | Moderate | High (more scenarios) |
| Typical use | Regulatory VaR/ES at most banks | Complex products, CCR exposure, economic capital |
Example: reading VaR from HS. With 500 scenarios, 99% VaR corresponds to the worst 1%, that is 5 scenarios. If the sorted losses are 9.1, 7.4, 6.8, 6.0, 5.6, 5.2, 4.9 (EUR m), a common convention takes the 5th worst (5.6) or the 6th worst (5.2) or interpolates between them. The choice must be fixed in the methodology, because it changes the number.
Key takeaways
- HS replays real historical moves on today's portfolio; MC draws scenarios from a calibrated model.
- HS is transparent and assumption-light but limited by the history window; MC is flexible but carries model risk and higher compute cost.
- Absolute vs relative shifts matter, especially for low or negative interest rates.
- Compute cost scales with trades x scenarios, which drives risk engine architecture.
🧪 Practice
- Beginner: Ten scenario P&Ls (EUR k) are: -120, -80, -45, -10, 5, 20, 30, 55, 70, 90. Using the worst scenario as the 90% VaR convention for this small sample, what is the VaR? What is the average of the two worst losses?
- Intermediate: Today a rate is 0.10%. In a historical scenario, the rate moved from 2.00% to 2.50%. What is the scenario rate under an absolute shift and under a relative shift? Which is more realistic, and why?
- Interview: "Design a historical VaR engine for 500,000 trades that must finish by 6 am." Hint: discuss scenario generation once per risk factor, sharing curve builds across trades, full revaluation vs sensitivity-based approximation by product type, grid distribution and data locality, storing the P&L cube for drill-down, and restart/recovery when a node fails at 4 am.
P&L Attribution
Why it matters. A risk number is only useful if it describes the risks that actually make or lose money. P&L attribution (also called P&L explain) breaks the daily P&L into components caused by each market factor, time and trading activity. It helps traders understand their results, helps product control validate the official P&L, and, under FRTB, is a formal regulatory test of whether a desk's risk model is good enough to use internal models.
Components of P&L.
| Component | Meaning |
|---|---|
| Carry / theta | Value change from the passage of time: accrued interest, funding cost, roll-down, option decay |
| Market moves | Rates delta, credit spread, FX, volatility, with second-order (gamma, convexity) terms |
| New trades | Day-one P&L of trades booked today (difference between trade price and model value) |
| Amendments and cancellations | Changes to existing trades |
| Fees and reserves | Fees, valuation adjustments, reserve changes |
| Unexplained | The residual that the other components do not account for |
Two methods.
- Risk-based (sensitivity-based) attribution: multiply yesterday's sensitivities by today's market moves. Fast and intuitive, but it ignores higher-order effects, so residuals appear for large moves.
- Revaluation-based (step re-pricing or waterfall): move market inputs from yesterday's to today's values one group at a time, revaluing after each step; the difference at each step is that group's contribution. More accurate, but the result depends on the order of steps.
Example. A bond and swap desk reports a total P&L of EUR 1,250k.
Component Calculation EUR k
---------------------------------------------------------------------
Carry accrual net of funding +80
Rates delta DV01 50k x 12bp fall in rates +600
Credit spread CS01 30k x 3bp widening -90
FX USD position revaluation +150
Convexity second-order rates term +20
New trades day-one P&L +400
---------------------------------------------------------------------
Explained 1,160
Unexplained 1,250 - 1,160 90 (7.2%)
Waterfall:
0 --+80--> 80 --+600--> 680 --(-90)--> 590 --+150--> 740 --+20--> 760
--+400--> 1,160 --(+90 unexplained)--> 1,250 reported
A persistent unexplained amount suggests a missing risk factor (for example a basis between two curves), a booking error or a pricing model mismatch between the risk and P&L systems.
FRTB P&L attribution test. For each desk using internal models, the bank compares:
- Hypothetical P&L (HPL): the P&L from the front-office pricing models, holding positions fixed.
- Risk-theoretical P&L (RTPL): the P&L produced by the risk model, using only the risk factors it contains.
The two series are compared using the Spearman correlation and the Kolmogorov-Smirnov (KS) test. Roughly: Spearman above 0.80 and KS below 0.09 is green; Spearman below 0.70 or KS above 0.12 is red, and red desks must use the standardized approach.
Key takeaways
- P&L attribution explains daily P&L by carry, market factors, new trades and residual.
- Risk-based attribution uses sensitivities; revaluation-based attribution reprices step by step.
- Large or persistent unexplained P&L signals missing risk factors, booking errors or model mismatches.
- FRTB turns attribution into a regulatory test comparing hypothetical and risk-theoretical P&L.
🧪 Practice
- Beginner: A desk has DV01 of EUR 20k (gains when rates fall) and rates rise by 5bp. Carry is +EUR 15k and there are no other moves. What is the expected P&L?
- Intermediate: On a day with large rate moves, the unexplained P&L of an options desk jumps from 2% to 25% of total P&L under risk-based attribution. List two likely causes and say how a revaluation-based approach would change the picture.
- Interview: "Front office and risk compute P&L in different systems, and the FRTB PLA test fails for one desk. How do you investigate?" Hint: align positions and cut-off times first, then market data snapshots, then compare pricing models and risk factor coverage factor by factor, and look for systematic patterns (for example a basis or volatility skew missing from the risk model).
<a id="82-fx-risk-management"></a>
8.2 FX Risk Management
This subchapter covers how a bank identifies and manages exposure to exchange rate movements: the difference between FX risk on cash flows and FX risk on consolidated balance sheets, the structural positions created by foreign subsidiaries, the hedging programs that manage both, and the open currency position limits that cap what is left unhedged.
Transactional vs Translational FX Risk
Why it matters. A bank whose reporting currency is the euro still receives dollars, pays sterling and owns subsidiaries in other countries. Exchange rate moves affect it in different ways: some hit cash and the income statement directly, others change the euro value of foreign assets on the consolidated balance sheet. They are measured, accounted for and hedged differently, so treasury must keep them apart.
Definitions.
- Transactional FX risk is the risk that the reporting-currency value of a foreign-currency cash flow changes between the moment it is committed (contract signed, invoice issued, loan granted) and the moment it is settled. It affects P&L and cash.
- Translational (translation) FX risk is the risk that the reporting-currency value of a foreign subsidiary's net assets changes when its accounts are translated for consolidation. Under IAS 21, the translation difference goes to other comprehensive income (the currency translation reserve), not to P&L, until the subsidiary is sold.
- Economic FX risk, a broader concept, is the effect of exchange rates on future competitiveness and cash flows; it is mostly a strategic rather than a treasury hedging concern.
| Aspect | Transactional | Translational |
|---|---|---|
| Source | Individual foreign-currency cash flows | Net assets of foreign operations |
| Timing | Between commitment and settlement | At each reporting date |
| Accounting impact | P&L (FX revaluation) | OCI (currency translation reserve) |
| Cash impact | Yes | No, until dividends or disposal |
| Capital impact | Through P&L | Directly on CET1 via OCI |
| Typical hedges | Forwards, FX swaps, matching funding | Net investment hedges, ratio hedging |
Example: transactional. A euro bank will receive USD 10m in three months from a client loan repayment. EURUSD is 1.1000 today and 1.1500 at settlement.
EUR value today = 10,000,000 / 1.1000 = EUR 9,090,909
EUR value at settlement = 10,000,000 / 1.1500 = EUR 8,695,652
Loss = EUR 395,257 (P&L)
Example: translational. The same bank owns a US subsidiary with net assets of USD 500m. EURUSD moves from 1.0800 to 1.1200 between two reporting dates.
EUR value before = 500m / 1.08 = EUR 462.96m
EUR value after = 500m / 1.12 = EUR 446.43m
Translation loss = EUR 16.53m (OCI, reduces CET1)
No dollars changed hands, but group equity fell by EUR 16.5m.
Analogy. Transactional risk is like the price of a shipment you have ordered but not yet paid for. Translational risk is like the value of a holiday home abroad: you have not sold it, but its value in your home currency rises and falls with the exchange rate.
Key takeaways
- Transactional risk concerns specific foreign-currency cash flows and hits P&L.
- Translational risk concerns consolidated foreign net assets and hits OCI and CET1, without cash flows.
- The two are hedged with different instruments and different hedge accounting designations.
🧪 Practice
- Beginner: Classify each as transactional or translational: (a) a GBP 5m fee payable next month; (b) the equity of a Swiss subsidiary; (c) a USD bond coupon due in 6 months.
- Intermediate: A euro bank owns a UK subsidiary with net assets of GBP 300m. EURGBP moves from 0.8500 to 0.8800. Compute the translation gain or loss and state where it is recorded.
- Interview: "A business line says FX moves do not matter to them because their P&L is stable. Why might group treasury disagree?" Hint: consider translation effects on group equity, the impact on capital ratios when RWA are in foreign currency, and dividends that will eventually be converted.
Structural FX Positions
Why it matters. When a bank invests capital in a foreign subsidiary or branch, it creates a long-term FX position that cannot be closed without selling the business. These structural positions are not trading positions, but they still move the bank's capital ratios when exchange rates change. Treasury must decide how much of this exposure to hedge, and the answer is not "all of it".
What a structural position is. A structural FX position is a non-trading position arising from investments in foreign operations (equity of subsidiaries, branch endowment capital) and related items held to protect the capital ratio. Under CRR Article 352(2), banks may, with supervisory permission, exclude structural positions held to hedge the capital ratio from the market risk capital calculation.
The capital ratio problem. A capital ratio is CET1 / RWA. If part of the RWA is in USD, a stronger dollar increases RWA in euros. If all CET1 is in euros (fully hedged), the ratio falls. If the bank holds part of its CET1 in USD in the same proportion as its USD RWA, CET1 and RWA move together and the ratio stays stable. This is called ratio hedging: deliberately keeping an open structural position.
Example. A group has CET1 of EUR 10bn and RWA of EUR 80bn (ratio 12.50%). USD-denominated RWA are EUR 24bn (30% of total). The USD appreciates 10%.
CET1 (EUR bn) RWA (EUR bn) CET1 ratio
---------------------------------------------------------------------
Before 10.00 80.00 12.50%
Case A: CET1 fully in EUR
After USD +10% 10.00 82.40 12.14%
Case B: 30% of CET1 in USD (EUR 3bn)
After USD +10% 10.30 82.40 12.50%
In case A, the "hedged" position actually leaves the ratio exposed. In case B, the ratio is immune, but CET1 itself fluctuates in euros.
The trade-off.
Hedge 100% of foreign net investment Hedge 0% (hold capital in
(all capital in EUR) foreign currency in RWA proportion)
|--------------------------------------------------------------------|
CET1 amount stable CET1 ratio stable
CET1 ratio moves with FX CET1 amount moves with FX
Banks choose a point on this line based on which metric is binding (CET1 ratio, leverage ratio, MREL, dividend capacity) and set a policy, often approved by ALCO, with tolerance bands around the target.
Accounting. Where a bank hedges a net investment (for example by borrowing in USD or entering FX forwards), it can apply net investment hedge accounting under IFRS 9 so that the hedge result also goes to OCI and offsets the translation difference, instead of creating P&L volatility.
Key takeaways
- Structural FX positions come from foreign subsidiaries and branches and are held for the long term.
- Fully hedging them stabilizes CET1 in reporting currency but leaves the capital ratio exposed to FX.
- Ratio hedging keeps capital in each currency in proportion to RWA in that currency, stabilizing the ratio.
- Supervisory permission can exclude ratio-protecting structural positions from market risk capital.
🧪 Practice
- Beginner: Why can't a bank simply "close" the FX position created by owning a foreign subsidiary?
- Intermediate: A group has CET1 of EUR 6bn and RWA of EUR 50bn, of which EUR 10bn are in GBP. How much CET1 should be held in GBP to make the CET1 ratio insensitive to EURGBP moves? Verify your answer with a 15% GBP appreciation.
- Interview: "How would you build a monitoring tool for structural FX ratio sensitivity?" Hint: gather CET1 and RWA by currency from finance and risk systems, compute ratio sensitivity per 1% move in each currency, compare with policy bands, and handle timing differences between RWA (monthly or quarterly) and FX rates (daily).
FX Hedging Programs
Why it matters. Hedging trade by trade, based on a trader's view, is inconsistent and hard to audit. A hedging program is a documented, repeatable policy that defines which exposures are hedged, how much, with which instruments, over what horizon and with which accounting treatment. It turns FX risk management into a process that can be automated, measured and reviewed.
Building blocks of a program.
- Exposure identification: committed cash flows, forecast cash flows (foreign profits, costs), balance sheet items and net investments.
- Hedge ratio and horizon: for example hedging 100% of committed flows and a declining share of forecast flows.
- Instruments: chosen by cost, flexibility and accounting treatment.
- Accounting designation: cash flow hedge, fair value hedge or net investment hedge under IFRS 9, with documentation and effectiveness testing.
- Governance: approval, execution rules, monitoring and reporting.
Instruments.
| Instrument | Use | Pros | Cons |
|---|---|---|---|
| FX forward | Lock a rate for a future flow | Simple, no premium | No upside; forward points are a cost or benefit |
| FX swap | Roll hedges, manage currency liquidity | Very liquid, short tenors | Rolling creates cash flows and basis cost |
| Cross-currency swap | Hedge long-term foreign funding or assets | Matches long maturities | Basis spread, CSA collateral flows |
| FX option | Protect against adverse moves, keep upside | Asymmetric | Premium paid upfront |
| Natural hedge | Fund foreign assets in the same currency | No derivative needed | Depends on market access in that currency |
Forward pricing. A forward rate follows from interest rate parity: no arbitrage between converting now and investing, or investing and converting later.
F = S x (1 + r_quote x t) / (1 + r_base x t)
EURUSD spot S = 1.1000, USD rate 4.5%, EUR rate 2.5%, t = 1 year
F = 1.1000 x 1.045 / 1.025 = 1.12146
Forward points = +214.6 pips (EUR at a forward premium)
Layered hedging. For forecast flows, programs often hedge in layers: the nearer the flow, the higher the hedge ratio, and new hedges are added each quarter. This averages the hedge rate over time and avoids locking everything at one point.
Forecast USD profit per quarter: USD 25m
Quarter ahead Target hedge ratio Hedged amount
---------------------------------------------------
Q+1 80% USD 20m
Q+2 60% USD 15m
Q+3 40% USD 10m
Q+4 20% USD 5m
Each quarter, the window rolls forward and each layer is topped up
to its new, higher target.
Key takeaways
- A hedging program codifies exposures, ratios, horizon, instruments, accounting and governance.
- Forwards follow interest rate parity: the currency with the lower interest rate trades at a forward premium.
- Layered hedging of forecast flows smooths the hedged rate over time.
- Instrument choice balances cost, flexibility, tenor and hedge accounting.
🧪 Practice
- Beginner: EURGBP spot is 0.8600, the GBP rate is 4.0% and the EUR rate is 2.5%. Compute the 6-month forward rate (t = 0.5).
- Intermediate: Using the layered table above, how much new USD hedging must be executed at the start of the next quarter if the forecast stays at USD 25m per quarter? What if the forecast for the new Q+4 drops to USD 15m?
- Interview: "Design the data model for an FX hedging program system." Hint: separate exposures (committed vs forecast, with source and confidence), hedge instruments (trades), hedge relationships (designation, ratio, documentation, effectiveness results) and policy targets, and track how each exposure layer is covered over time.
Open Currency Position Limits
Why it matters. Even with good hedging, a bank will always hold some net position in foreign currencies, from client flows, timing differences or deliberate trading. Open currency position limits cap how much FX exposure is left open, so that an adverse move cannot cause losses beyond what the bank's capital can absorb. Regulators in many countries impose such limits, and banks set tighter internal ones.
Net open position per currency. For each currency, the net position combines:
Net position (currency X) =
spot assets - spot liabilities
+ forward purchases - forward sales
+ guarantees certain to be called
+ net future income/expenses not yet accrued but fully hedged (optional)
+ delta-equivalent of FX options
(structural positions excluded where permitted)
Each currency's net position is converted to the reporting currency at spot.
Overall net open position (shorthand method). Basel's standardized approach uses:
Overall NOP = max( sum of net long positions, |sum of net short positions| )
+ |net gold position|
Using the larger of the two sums recognizes that long and short positions in different currencies do not reliably offset.
Example. A euro bank has these net positions (EUR equivalent):
Currency Net position (EUR m)
---------------------------------
USD +50 long
GBP +20 long
JPY -30 short
CHF -15 short
---------------------------------
Sum of longs 70
Sum of shorts 45
Overall NOP = max(70, 45) = EUR 70m
If the internal limits are 50m per currency and 80m overall:
all currencies within limit; overall utilization 70 / 80 = 87.5%
Limit design.
| Dimension | Examples |
|---|---|
| Scope | Per currency, aggregate overall NOP |
| Time | Intraday limit (higher), overnight limit (lower) |
| Calibration | Often expressed as a % of capital, set by regulators or internal policy |
| Ownership | Treasury desk, FX trading desk, branch |
| Exclusions | Approved structural positions |
Engineering view. NOP must be aggregated from many sources (payments, loans, deposits, FX trades, securities) and recomputed intraday. Key challenges are consistent spot rates for conversion, avoiding double counting of the two legs of an FX swap, handling value dates correctly, and producing the same figure for internal limits and regulatory reporting.
Key takeaways
- Net open position per currency includes spot, forward and option-delta positions.
- The overall NOP under the shorthand method is the larger of total longs and total shorts, plus gold.
- Limits are set per currency and overall, with separate intraday and overnight levels.
- Accurate NOP needs complete, consistently converted positions from many systems.
🧪 Practice
- Beginner: A bank has net positions of USD +40m, GBP -25m and AUD +10m (EUR equivalents). What is the overall NOP?
- Intermediate: The bank in the example above buys EUR 30m of USD forward against EUR. Recompute the per-currency positions and overall NOP. Does the trade increase or reduce the risk measured by the limit?
- Interview: "The NOP in your intraday system differs from the end-of-day regulatory report by EUR 12m. Where would you look?" Hint: compare position populations (missing systems or late bookings), FX conversion rates and snapshot times, treatment of structural positions, value date vs trade date logic, and options delta sources.
<a id="83-counterparty-credit-risk"></a>
8.3 Counterparty Credit Risk
This subchapter explains the risk that a derivative or securities financing counterparty defaults while the bank is owed money: how future exposure is measured, how netting and collateral reduce it, how its expected cost is priced through CVA, and how it is controlled with counterparty limits.
Exposure Measures (Current, Potential, Expected)
Why it matters. With a loan, the bank knows how much it stands to lose: the outstanding amount. With a derivative, the amount at risk is uncertain and can switch sides. An interest rate swap may be worth zero today, EUR 5m to the bank next year, and EUR -3m (owed by the bank) the year after. Counterparty credit risk (CCR) is the risk that the counterparty defaults when the contract has positive value to the bank. Because that value is random, CCR needs a family of exposure measures that describe today's exposure and the distribution of future exposure.
Key measures.
| Measure | Definition | Use |
|---|---|---|
| Mark-to-market (MtM) | Current value of the contracts (can be negative) | Starting point |
| Current exposure (CE) | max(MtM, 0), after netting and collateral | What is lost if default happens today |
| Potential future exposure (PFE) | A high quantile (e.g. 95% or 97.5%) of exposure at a future date | Credit limits |
| Expected exposure (EE) | Average of max(MtM, 0) at a future date across scenarios | CVA, capital |
| Expected positive exposure (EPE) | Time-average of EE over a horizon (often 1 year) | Capital |
| Effective EPE (EEPE) | Time-average of a non-decreasing version of EE | Regulatory EAD under IMM |
Under the internal model method (IMM), regulatory exposure at default is EAD = alpha x EEPE, with alpha = 1.4 by default. Banks without IMM use the standardized approach (SA-CCR), where EAD = 1.4 x (RC + PFE), RC being replacement cost and PFE a supervisory add-on formula.
How exposures are simulated. An exposure engine simulates risk factors (rates, FX, credit spreads) along paths into the future, revalues every trade of a netting set at each time step on each path, applies netting and collateral, and takes statistics across paths at each date.
Exposure profiles. The shape over time depends on the product:
Exposure
^
| ... FX forward / cross-currency swap
| .... (exposure grows with time: FX
| .... uncertainty accumulates and the
| ... notional is exchanged at maturity)
| .. ____
| . ___/ \___ Interest rate swap
| . _/ \_ (hump: uncertainty grows, but
| . _/ \_ remaining cash flows shrink)
| . _/ \
|._/ \
+-------------------------------------> Time
0 Maturity
Example. At the 1-year point, an engine produces 10 netting-set MtM values (EUR m): -3, -1, 0, 1, 2, 2, 3, 4, 6, 9.
Positive exposures: 0, 0, 0, 1, 2, 2, 3, 4, 6, 9
Mean MtM = 23 / 10 = 2.3
EE (1 year) = 27 / 10 = 2.7
PFE (90%) ~= 6 (9th of 10 sorted values)
EE (2.7) exceeds the mean MtM (2.3) because negative values are floored at zero: the bank loses when the counterparty owes it money, but does not gain when it owes the counterparty.
Analogy. A loan is like lending someone a fixed amount of cash. A derivative is like lending someone an amount that changes every day with the weather: today you might be owed nothing, next month a lot. PFE asks "how much could I be owed on a bad day?", EE asks "how much am I owed on average?".
Key takeaways
- CCR exposure is random and one-sided: only positive MtM is at risk.
- CE describes today; PFE is a high quantile of future exposure (used for limits); EE and EPE are averages (used for CVA and capital).
- Swaps typically show a humped profile; FX forwards and cross-currency swaps show a rising profile.
- Regulatory EAD uses EEPE x 1.4 under IMM or 1.4 x (RC + PFE) under SA-CCR.
🧪 Practice
- Beginner: A netting set's MtM is EUR -4m today. What is the current exposure? Can it still have a positive PFE? Why?
- Intermediate: At the 6-month point, simulated MtMs (EUR m) are: -5, -2, -1, 0, 1, 3, 3, 5, 7, 12. Compute EE and an approximate 90% PFE. Then explain why the EE profile of a 10-year swap peaks around years 3-4 rather than at maturity.
- Interview: "Our exposure engine takes 10 hours. Where does the time go and how would you speed it up?" Hint: the cost is trades x paths x time steps x pricing time; consider fewer but well-chosen time steps, proxy pricing (regressions or grids) for complex products, sharing simulated paths across netting sets, GPU or grid computing, and incremental runs for new trades only.
Netting Agreements (ISDA)
Why it matters. A bank and a counterparty may have hundreds of derivatives between them, some worth money to the bank and some to the counterparty. If the counterparty defaults and each trade is treated separately, its administrator could demand payment on the trades where the bank owes money while paying only cents on the euro on the trades where it owes the bank ("cherry-picking"). Netting agreements prevent this, and they are the single most important tool for reducing counterparty exposure.
The ISDA documentation stack. Most OTC derivatives are documented under standard contracts published by the International Swaps and Derivatives Association.
+----------------------------------------------------------+
| ISDA Master Agreement (1992 or 2002 version) | standard terms:
| events of default, termination events, close-out | payments, defaults,
+----------------------------------------------------------+ netting
| Schedule | negotiated choices:
| elections and amendments specific to the two parties | thresholds, governing law
+----------------------------------------------------------+
| Credit Support Annex (CSA) | collateral terms:
| variation and initial margin, eligible collateral | see Margining
+----------------------------------------------------------+
| Confirmations | economic terms of each
| one per trade | trade
+----------------------------------------------------------+
The Master Agreement states that all trades under it form a single agreement, which is the legal basis for netting.
Types of netting.
- Payment netting: on a given day, payments in the same currency between the two parties are combined into one net payment. This reduces settlement risk and operational flows.
- Close-out netting: on default, all trades are terminated, valued, and combined into one single net amount payable by one party. This is the netting that reduces counterparty exposure. The 2002 Master Agreement uses a "Close-out Amount" valuation, replacing the 1992 choice between "Market Quotation" and "Loss".
Enforceability. Netting only reduces regulatory exposure if it is legally enforceable in the counterparty's insolvency jurisdiction. ISDA commissions legal opinions per country, and banks must keep evidence that each netting set is covered by a positive opinion. Trades with counterparties in jurisdictions without a clean opinion are treated gross.
Example. A bank has three trades with one counterparty:
Trade MtM (EUR m)
------------------------
Swap A +10
Swap B -7
FX forward +4
------------------------
Without netting: exposure = 10 + 0 + 4 = 14 (B is owed by the bank; cherry-picked)
With netting: exposure = max(10 - 7 + 4, 0) = 7
Net-to-gross ratio (NGR) = 7 / 14 = 0.50
Netting halves the exposure.
Engineering view. Every trade must be linked to the correct netting set, defined by the pair of legal entities, the agreement, the products it covers and its enforceability status. A trade booked without this link is treated as unnetted, which inflates exposures and capital, or worse, is wrongly netted, which understates risk. Netting set reference data is therefore a critical, audited data domain.
Key takeaways
- ISDA Master Agreements make all trades a single agreement, enabling close-out netting on default.
- Close-out netting reduces exposure from the sum of positive MtMs to the net positive MtM.
- Netting reduces regulatory exposure only where supported by legal enforceability opinions.
- Correct trade-to-netting-set mapping is essential reference data.
🧪 Practice
- Beginner: Four trades with one counterparty have MtMs of +6, -2, -5 and +3 (EUR m). Compute the exposure with and without netting, and the NGR.
- Intermediate: The same counterparty has a second legal entity in a jurisdiction without a positive netting opinion; it holds trades of +4 and -3. How does the bank's total exposure to the counterparty group change?
- Interview: "A trade is booked in the front-office system without a netting agreement reference. What happens downstream and how would you prevent it?" Hint: follow the impact on exposure, capital, CVA and collateral calls; consider validation at booking, defaulting rules based on legal entity pairs, exception reports, and ownership of netting reference data.
Margining (Initial and Variation)
Why it matters. Netting reduces exposure, but a large net exposure can still remain. Collateral reduces it further: the party that owes money on the netted portfolio posts cash or securities to the other. After the 2008 crisis, the G20 made margining mandatory for most non-centrally-cleared derivatives between financial institutions, so margin is now a daily operational and liquidity process for every bank treasury.
Two kinds of margin.
| Aspect | Variation margin (VM) | Initial margin (IM) |
|---|---|---|
| Covers | Current exposure (today's MtM) | Potential future exposure during the close-out period |
| Calculation | Change in netted MtM | Model of potential loss over the margin period of risk (MPoR) |
| Frequency | Daily (or intraday at CCPs) | Recalculated daily, changes more slowly |
| Direction | Moves back and forth between parties | Both parties post to each other |
| Holding | Can typically be reused | Must be segregated with a third-party custodian (bilateral) |
| Regulatory model | Contractual MtM | ISDA SIMM or regulatory schedule (bilateral), CCP models (cleared) |
Why IM is needed. If a counterparty defaults, the bank needs time to realize that it has defaulted, stop trading, and replace or hedge the trades. During this margin period of risk (10 business days for bilateral uncleared derivatives, fewer for cleared), the market can move further. IM covers that gap at a high confidence level (99% for uncleared margin rules).
Day 0 Last VM received; counterparty stops paying
|
|<------------ Margin period of risk (e.g. 10 days) ----------->|
| market keeps moving, exposure can grow |
| Close-out and replacement
|
VM covers exposure up to day 0 IM covers the move during the MPoR
Uncleared margin rules (UMR). Mandatory IM was phased in from 2016 to 2022 according to the size of firms' derivative portfolios. Parties may agree an IM threshold of up to EUR 50m per consolidated group before any IM is exchanged.
CSA parameters that drive calls.
- Threshold: exposure below which no collateral is required.
- Minimum transfer amount (MTA): calls smaller than this are not made, to avoid small transfers.
- Rounding: calls are rounded (for example to the nearest EUR 10,000).
- Eligible collateral and haircuts: cash and specific securities, with haircuts reflecting their price risk.
- Independent amount: a fixed additional collateral amount, mainly before UMR.
Example: VM call. CSA terms: threshold 0, MTA EUR 500,000, rounding to EUR 100,000.
Day 1 Netted MtM in bank's favour EUR 12.4m
Collateral currently held EUR 10.0m
Required call = 12.4 - 10.0 = EUR 2.4m (>= MTA, call issued)
Day 2 Netted MtM EUR 12.1m
Collateral held EUR 12.4m
Return due = 0.3m < MTA no transfer
If the counterparty pays the 2.4m call with bonds carrying a 2% haircut:
market value required = 2.4 / (1 - 0.02) = EUR 2.449m
Liquidity impact. Margin calls can drain cash quickly when markets move sharply. In the 2022 UK gilt market stress, pension funds using liability-driven investment strategies faced large VM calls on interest rate hedges and had to sell gilts, which pushed yields up further. Treasury must forecast margin flows under stress and hold liquid collateral for them.
Key takeaways
- VM collateralizes current exposure and moves daily; IM covers the potential move during the margin period of risk.
- Bilateral IM is posted by both sides and segregated; UMR made it mandatory for large firms.
- Threshold, MTA, rounding, eligible collateral and haircuts determine the actual amounts called.
- Margin is also a liquidity risk: sharp market moves cause large, fast collateral outflows.
🧪 Practice
- Beginner: Why does VM alone not eliminate counterparty exposure?
- Intermediate: A CSA has a threshold of EUR 1m, MTA of EUR 250,000 and rounding to EUR 50,000. Netted MtM in the bank's favour is EUR 3.37m and collateral held is EUR 1.80m. Compute the call. How much in bonds with a 4% haircut would satisfy it?
- Interview: "Design a daily margin call process for 2,000 CSAs." Hint: cover the inputs (netted MtMs, collateral balances, CSA terms), call calculation, counterparty agreement and dispute workflow, settlement of collateral, reconciliation of portfolios with counterparties, and cut-off times; consider how to handle disputes above tolerance.
Credit Valuation Adjustment (CVA)
Why it matters. A derivative with a risky counterparty is worth less than the same derivative with a risk-free counterparty, because the bank may not be paid. CVA is the market value of that counterparty credit risk. During the 2008 crisis, the Basel Committee observed that roughly two-thirds of CCR losses came from CVA mark-to-market losses (counterparties' credit quality deteriorating) rather than actual defaults. CVA is therefore both an accounting adjustment (required as part of fair value under IFRS 13) and a source of P&L volatility that must be capitalized and hedged.
Formula. For a netting set, unilateral CVA is approximately:
CVA = LGD x sum over time buckets i of [ EE(t_i) x PD(t_{i-1}, t_i) x DF(t_i) ]
LGD loss given default (1 - recovery rate)
EE(t_i) expected exposure at t_i (after netting and collateral)
PD(...) probability of default in the interval, from CDS spreads
DF(t_i) discount factor
A useful approximation links default intensity to the credit spread: lambda ~= spread / LGD.
Example. A 3-year swap with a counterparty whose CDS spread is 90bp; LGD = 60%, so lambda ~= 0.90% / 0.60 = 1.5% per year. Marginal PD per year is approximately 1.5%.
Year EE (EUR m) PD (marginal) DF EE x PD x DF
----------------------------------------------------------
1 2.0 1.5% 0.97 0.029100
2 2.5 1.5% 0.94 0.035250
3 1.5 1.5% 0.91 0.020475
----------------------------------------------------------
Sum 0.084825
CVA = 0.60 x 0.084825 = EUR 0.0509m ~= EUR 50,900
The bank values the swap EUR 50,900 lower than its risk-free value, and should charge at least that amount to the client when trading.
The XVA family.
| Adjustment | What it captures |
|---|---|
| CVA | Cost of counterparty default risk |
| DVA | Benefit from the bank's own default risk (mirror of CVA from the counterparty's view) |
| FVA | Cost of funding uncollateralized positions and hedges |
| ColVA | Value of collateral optionality and non-standard CSA terms |
| MVA | Cost of funding initial margin |
| KVA | Cost of capital held against the trade |
Wrong-way risk. CVA assumes exposure and default are independent. Wrong-way risk occurs when exposure tends to increase as the counterparty's credit worsens, for example buying protection on a bank from a related bank, or a cross-currency swap with a sovereign whose currency would collapse on default. It must be identified and modelled separately.
CVA capital. Basel III introduced a capital charge for CVA risk (the risk of CVA losses from spread moves). The revised framework offers a basic approach (BA-CVA) and a sensitivity-based standardized approach (SA-CVA). Banks hedge CVA by buying CDS protection on counterparties or proxies and by hedging the market risk of the exposure.
Key takeaways
- CVA is the expected loss from counterparty default, priced into fair value: LGD x EE x PD x DF summed over time.
- CVA moves with both exposure (market factors) and counterparty credit spreads.
- XVA extends the idea to funding, collateral, margin and capital costs.
- Wrong-way risk breaks the independence assumption and needs dedicated treatment.
🧪 Practice
- Beginner: If the counterparty's CDS spread doubles, roughly what happens to CVA, all else equal? Why?
- Intermediate: Recompute the example CVA assuming a CSA with daily VM reduces EE to 0.4m, 0.5m and 0.3m. By what percentage does CVA fall?
- Interview: "Why does a bank's CVA desk buy CDS, and why can't it perfectly hedge CVA?" Hint: CDS hedge the credit spread sensitivity, but many counterparties have no liquid CDS (proxy hedging, basis risk), exposure itself moves with market factors, jump-to-default is hard to hedge, and wrong-way risk links the two.
Counterparty Limits and Utilization
Why it matters. Exposure measures and CVA quantify counterparty risk; limits control it. The credit risk function approves, for each counterparty, how much exposure the bank is willing to take, based on its credit quality and the bank's appetite. Every new derivative or financing trade consumes part of that limit, and the trading desk must know before trading whether there is room.
Limit structure.
- Counterparty group hierarchy: limits are set at the level of the ultimate parent and allocated to subsidiaries, because the group's entities may fail together. Legal Entity Identifiers (LEIs) and ownership data define the hierarchy.
- Exposure measure: PFE at a high quantile (for limits) or SA-CCR EAD; settlement limits separately cover the risk on the settlement day itself.
- Tenor profile: the limit can vary by time bucket, for example larger in the short term and smaller for long maturities.
- Product sub-limits: for example derivatives, repos, money market placements.
Utilization. Utilization = Exposure / Limit. A pre-deal check computes the incremental exposure of the proposed trade, taking netting with existing trades into account. A trade that offsets existing risk can reduce utilization.
Example.
Counterparty group: Alpha Holdings (limit: PFE 50m)
+-- Alpha Bank AG sublimit 35m current PFE 30m
+-- Alpha Securities Ltd sublimit 20m current PFE 8m
----------------
group total 38m (76%)
Proposed: 7Y swap with Alpha Bank AG, incremental PFE +8m
Alpha Bank AG: 30 + 8 = 38m > sublimit 35m -> BREACH at sublimit
Group: 38 + 8 = 46m (92%) -> within limit, warning (>90%)
Alternative: the same swap in the opposite direction offsets existing trades,
incremental PFE -3m -> Alpha Bank AG 27m, group 35m (70%)
Tenor profile check.
Tenor bucket Limit (EUR m) PFE after new trade Utilization Status
--------------------------------------------------------------------------
0-1Y 60 25 42% OK
1-3Y 60 38 63% OK
3-5Y 40 44 110% BREACH
5-10Y 20 18 90% Warning
10Y+ 20 6 30% OK
Peak PFE (44m) is below the highest limit (60m), but the 3-5Y bucket breaches.
A trade may fit within the peak limit and still breach the limit in a specific tenor bucket, because long-dated exposure is riskier per unit than short-dated exposure.
Engineering view. The pre-deal check must return within seconds while the full exposure engine runs overnight. Common designs pre-compute PFE profiles per netting set and estimate the incremental PFE of a new trade using add-on tables, sensitivities or a fast incremental simulation reusing stored paths. The limit system must also aggregate across products and booking systems (derivatives, repo, loans) and across the group hierarchy.
Key takeaways
- Counterparty limits are set by credit risk on the group hierarchy, with sub-limits per entity, product and tenor.
- Utilization is exposure over limit; pre-deal checks use incremental exposure with netting.
- Risk-reducing trades can lower utilization.
- Fast pre-deal checks rely on pre-computed profiles and incremental estimation.
🧪 Practice
- Beginner: A counterparty has a PFE limit of EUR 20m and a current PFE of EUR 17m. What is the utilization? Can a trade with incremental PFE of EUR 4m be done?
- Intermediate: Why is the incremental PFE of a trade generally not equal to its standalone PFE? Give one example where the incremental PFE is negative.
- Interview: "Design a pre-deal counterparty limit check that answers within 500 milliseconds." Hint: consider which data is pre-computed overnight (netting set profiles, stored scenario paths), how to approximate the new trade's contribution, how to aggregate up the counterparty hierarchy, caching, and how to keep intraday trades reflected before the next overnight run.
<a id="84-limits-framework"></a>
8.4 Limits Framework
This subchapter describes how a bank turns risk appetite into enforceable controls: the hierarchy of limits from board to trader, the choice between real-time and end-of-day checks, the detection and escalation of breaches, and the reservation mechanism that lets several users and systems consume the same limit safely.
Limit Hierarchies
Why it matters. The board decides how much risk the bank is willing to take, but the board does not book trades. Thousands of traders, treasury dealers and automated systems do. A limit hierarchy translates the board's risk appetite into concrete numbers at every level of the organization, so that each desk knows its boundaries and the sum of local decisions stays within the bank's appetite.
From appetite to trader.
Board: Risk Appetite Statement
(e.g. bank-wide 1-day 99% VaR <= 50m, stressed loss <= 600m)
|
v
Bank-wide limits ---------------------------- approved by board risk committee
|
+-- Markets division VaR 35m
| +-- Rates desk VaR 20m, DV01 2m/bp, bucketed DV01 limits
| | +-- Book: EUR swaps DV01 1.2m/bp
| | +-- Book: Govt bonds DV01 0.8m/bp
| +-- FX desk VaR 12m, NOP 400m, per-currency NOP
|
+-- Treasury / ALM VaR 20m, EVE sensitivity, NII sensitivity
+-- Liquidity portfolio DV01 1.5m/bp, credit spread CS01 0.3m/bp
The children's VaR limits (35m + 20m = 55m) exceed the parent's (50m). This is intentional: VaR diversifies, so the parent's actual VaR is below the sum of the children's. Each level is checked against its own limit using its own aggregated measure, rather than by summing children.
Types of limits.
| Limit type | Measures | Typical level |
|---|---|---|
| VaR / ES | Portfolio loss at a confidence level | Bank, division, desk |
| Stress loss | Loss under defined scenarios | Bank, division |
| Sensitivity | DV01, CS01, Vega, FX delta, by bucket | Desk, book |
| Stop-loss / drawdown | Cumulative loss over a period | Desk, trader |
| Notional / volume | Gross size of positions | Book, product |
| Concentration | Single issuer, sector, country | Bank, portfolio |
| Net open position | FX exposure | Desk, bank |
| Counterparty / issuer | Credit exposure | Counterparty group |
Anatomy of a limit record. In a limit system, each limit is a data object, typically with:
- the node in the hierarchy (bank, division, desk, book) and a scope filter (products, currencies, tenors);
- the metric and its calculation source;
- thresholds: warning level (for example 80% or 90%) and hard limit (100%);
- validity dates, currency, approver and approval date;
- whether the limit is checked pre-trade, intraday or end of day.
Key takeaways
- Limits cascade from the board's risk appetite to division, desk, book and trader levels.
- Diversifying measures (VaR, ES) are checked at each level on the aggregated portfolio; children's limits can sum above the parent.
- Different limit types control different risks: VaR, stress, sensitivities, stop-loss, notional, concentration.
- A limit is a governed data object with scope, metric, thresholds, validity and approval.
🧪 Practice
- Beginner: Why can't a bank rely only on a bank-wide VaR limit?
- Intermediate: In the hierarchy above, the rates desk's DV01 is within its 2m limit, but both books are at 100% of their DV01 limits in the same direction. Is the desk limit then binding? What if the two books have opposite signs?
- Interview: "Design the data model for a limit hierarchy that supports reorganizations without losing history." Hint: consider versioned hierarchy nodes with effective dates, limits attached to nodes rather than to people, scope expressed as filters on trade attributes, and audit records linking each breach to the limit version in force at the time.
Real-Time vs End-of-Day Limit Checks
Why it matters. A limit that is only checked the next morning cannot stop a trader from exceeding it today. But some measures, such as full revaluation VaR, take hours to compute. Banks therefore combine real-time checks for measures that can be computed quickly and end-of-day checks for measures that need the full risk engine. Choosing which limit is checked when, and how intraday approximations relate to official numbers, is a core design decision.
Comparison.
| Aspect | Real-time (pre-trade / intraday) | End-of-day (EOD) |
|---|---|---|
| Timing | Before or immediately after each trade | After the official close and batch run |
| Typical metrics | Notional, NOP, DV01, delta, counterparty PFE via add-ons, settlement limits | VaR, ES, stress tests, full-revaluation sensitivities |
| Accuracy | Approximate (sensitivities, add-ons) | Official, full revaluation |
| Data | Live trades and live or snapshot market data | Official closing market data, complete trade population |
| Purpose | Prevent breaches before they happen | Official measurement, regulatory and management reporting |
| Latency target | Milliseconds to seconds | Hours |
Pre-trade vs post-trade. A pre-trade check blocks or warns before the trade is executed (hard block for automated trading, warning for voice trades). A post-trade check runs immediately after booking and raises alerts but cannot prevent the trade.
Architecture.
Trading systems (FX, rates, MM) Overnight batch
| trade events |
v v
+--------------------+ +--------------------+
| Event bus / stream | | Risk engine (VaR, |
+---------+----------+ | ES, stress, sens.) |
v +---------+----------+
+--------------------+ incremental |
| Real-time limit | update of v
| engine (in-memory | positions +--------------------+
| positions, sens.) | | EOD limit check |
+---------+----------+ +---------+----------+
| |
+---------------+----------------------+
v
+------------------------+
| Limit store, breaches, |
| workflow, dashboards |
+------------------------+
^
start of day: real-time engine reloads official EOD positions
Keeping the two consistent. The real-time engine starts each day from the official EOD position and risk, then applies intraday trades incrementally (for example adding each trade's DV01 or delta). Intraday VaR can be approximated by combining the morning's scenario P&L vectors with sensitivity-based P&L vectors of new trades. Differences between intraday estimates and the next EOD figures should be monitored; a systematic gap indicates missing trades or model mismatches.
Example. At 10:15 a dealer requests a USD 50m purchase against EUR. The real-time engine converts it at the live EURUSD rate, adds it to the USD net position, recomputes per-currency and overall NOP in under a millisecond, finds USD utilization rising from 70% to 88% (above the 80% warning), and returns "approved with warning". The VaR impact is only measured precisely in the overnight run.
Key takeaways
- Real-time checks prevent breaches using fast, approximate metrics; EOD checks give official figures using full models.
- Pre-trade checks can block trades; post-trade checks only alert.
- Real-time engines start from official EOD positions and update incrementally.
- Monitoring the gap between intraday and EOD numbers detects data and model problems.
🧪 Practice
- Beginner: Classify each limit as more suited to real-time or EOD checking: per-currency NOP, 99% VaR, stressed loss, settlement limit, DV01.
- Intermediate: A desk's intraday DV01 shows 1.8m/bp (limit 2m) at 17:00, but the official EOD figure is 2.15m/bp. List three possible causes.
- Interview: "Design a real-time limit service that handles 2,000 trade events per second with sub-10 ms latency." Hint: in-memory positions partitioned by limit scope, idempotent event processing with sequence numbers, pre-computed per-trade sensitivities, snapshotting and replay for recovery, and a separate path for slow metrics.
Breach Detection and Escalation
Why it matters. A limit has no value if breaches go unnoticed or are noticed but ignored. Regulators expect that every breach is detected, recorded, escalated to the right level of authority within defined timeframes, explained and resolved, with a complete audit trail. Market risk scandals such as large unauthorized trading losses have often involved limits that were breached repeatedly without effective escalation.
Statuses and breach types.
- Warning (soft breach): utilization above a warning threshold (for example 80-90%). Informational, prompts attention.
- Hard breach: utilization above 100%.
- Active breach: caused by a new trade; usually treated more seriously because it was a decision.
- Passive breach: caused by market moves, model changes or limit reductions without new trading.
- Temporary excess: a breach pre-approved by an authorized person for a limited time, for example to execute a large client trade.
Lifecycle.
+----------+ detect +----------+ notify +--------------+
| Within |-----------> | Breach |-----------> | Acknowledged |
| limit | | detected | | by owner |
+----------+ +----------+ +------+-------+
^ |
| v
| resolved +-------------------------------+
+----------------------------| Action: reduce position, |
| | approve temporary excess, |
| | or raise limit (with approval)|
| +---------------+---------------+
| |
| not resolved in time v
| +---------------+
+------------------------------------| Escalated to |
resolved | next level |
+---------------+
Escalation matrix (illustrative).
| Severity | Condition | Escalate to | Deadline |
|---|---|---|---|
| Warning | 90-100% | Desk head (notification) | Same day |
| Level 1 | 100-110%, active or passive | Desk head and market risk manager | Within 1 hour |
| Level 2 | 110-125%, or Level 1 open > 2 days | Head of business and CRO office | Same day |
| Level 3 | > 125%, or Level 2 open > 5 days, or bank-wide limit | CRO, ALCO / board risk committee | Immediately |
False breaches. A large share of alerts in practice come from data problems: stale market data, a trade booked twice, a missing hedge leg, a wrong limit scope. Systems should run data quality checks before raising breaches, label suspected data issues, and still record them so the issue is investigated rather than silently ignored.
Avoiding alert flapping. When utilization oscillates around 100%, a naive system creates and closes breaches repeatedly. Common remedies are a hysteresis band (a breach closes only below, say, 98%) and measuring breaches at defined checkpoints.
Key takeaways
- Breaches are classified by severity and cause (active vs passive), with temporary excesses requiring explicit approval.
- Escalation follows a documented matrix by severity and duration, up to the CRO and board.
- Every breach needs an acknowledged owner, an action and a complete audit trail.
- Data quality checks and hysteresis reduce false and flapping alerts.
🧪 Practice
- Beginner: What is the difference between an active and a passive breach, and why are they often treated differently?
- Intermediate: Using the matrix above, a desk's VaR has been at 105% for three days because of rising volatility. Who should now be informed, and what actions are available?
- Interview: "Design the breach record and workflow so that an auditor can reconstruct any breach from two years ago." Hint: store the limit version, measured value and its source run, timestamps for each state change, who acknowledged and approved what, comments and attachments, and make records immutable (append-only events).
Limit Reservation and Release
Why it matters. Limits are shared resources. Several traders, systems and channels may draw on the same counterparty or desk limit at the same time. Without coordination, two traders can each see EUR 10m of headroom, each book EUR 8m, and together breach the limit by EUR 6m. Large deals also need limit capacity guaranteed in advance: a bank arranging a syndicated loan or underwriting a bond issue must know that the limit will still be available when the deal closes days later. Reservations solve both problems.
What a reservation is. A reservation earmarks part of a limit's headroom for a specific purpose for a limited time. Reserved amounts count toward utilization for everyone else, so they cannot be used twice.
Lifecycle.
Request --> Check headroom --> RESERVED (with expiry) --+--> Trade booked:
(atomic) | convert reservation
| into utilization
|
+--> Deal cancelled:
| RELEASED
|
+--> Expiry reached:
EXPIRED (auto-release)
Example: the race condition.
Limit 50m, utilization 40m, headroom 10m
Without reservation:
09:00:00.100 Trader A reads headroom = 10m
09:00:00.120 Trader B reads headroom = 10m
09:00:00.200 A books 8m -> utilization 48m
09:00:00.210 B books 8m -> utilization 56m (BREACH, 112%)
With atomic check-and-reserve:
09:00:00.100 A reserves 8m: headroom 10m >= 8m, granted -> headroom 2m
09:00:00.120 B reserves 8m: headroom 2m < 8m, rejected (or partial / escalate)
09:00:00.200 A books trade: reservation 8m converted to utilization 48m
Design considerations.
- Atomicity: the check and the reservation must happen as one operation, using a database transaction with row locking, optimistic concurrency (a version number on the limit) or a single-writer service per limit.
- Hierarchy: a reservation on a book must also reserve at every parent level (desk, division, counterparty group), all-or-nothing.
- Expiry: every reservation has an expiry time, so forgotten reservations do not block capacity forever. Long-dated pipeline reservations (for example loan commitments) may need approval and periodic review.
- Idempotency: retried requests carry a unique reservation key so that a network retry does not reserve twice.
- Conversion matching: the booked trade must reference the reservation ID; differences between the reserved and actual amount are adjusted on conversion.
- Reporting: utilization reports should show actual and reserved amounts separately.
Analogy. A reservation is like holding a hotel room with a booking: the room is not occupied yet, but nobody else can take it until you check in, cancel or the hold expires.
Key takeaways
- Reservations prevent concurrent users from consuming the same headroom twice and guarantee capacity for pipeline deals.
- A reservation is created atomically, counts toward utilization, and is converted, released or expired.
- Reservations must propagate through the limit hierarchy and be idempotent and time-bound.
- Reports should distinguish actual utilization from reserved amounts.
🧪 Practice
- Beginner: A limit of EUR 100m has utilization of EUR 70m and reservations of EUR 20m. How much headroom is available for a new request?
- Intermediate: A reservation of EUR 15m is made at book level, but the request fails at the counterparty-group level because of insufficient headroom. What must happen to the book-level reservation, and why?
- Interview: "Design a limit reservation API used by five trading systems." Hint: define reserve, convert, release and query operations, idempotency keys, expiry semantics, atomic multi-level reservation, behaviour when the limit service is unavailable (fail closed vs fail open per limit type), and events published for monitoring.
<a id="9-regulatory-framework"></a>