Credit Spread Pricing
Caplet Volatility Stripping
by Dr Richard Diamond
CQF FINAL PROJECT 2020
Fundamentals + Techniques
Certificate in Quantitative Finance 1/88
Preparation
Start collecting data and planning the project for you.
It is up to you to source and clean the suitable data.
Webex session on Equities Data. If you can’t get hold of some data:
make reasonable assumptions, even generate the data.
Set your option strikes and maturities, clean rows with missing rates in
BOE data, assume reasonable CDS spreads, etc.
A. You can adopt code for specific partial tasks, not model as a whole,
amending it for your purpose (not copy/paste). B. Use ready libraries
with expertise – quadratic optimisation, kernels, etc – methods have to
be suited to the task. C. You are welcome to implement complex
numerical methods vs. ready solution if able to.
Certificate in Quantitative Finance 2/88
Numerical Techniques
Implement numerical techniques from the first principles as
necessary. Pricing a spread/CVA from simulated curve/optimal
allocation is the result.
What to code: pricing formulae, Black-Litterman calculation, SDE
simulation, matrix form regression, Engle-Granger, interpolation,
numerical integration, Cholesky, t-copula formula, CDS bootstrap,
features computation…
Use ready solutions for: covariance shrinkage, nearest correlation,
ML numerical methods (eg, decision trees, neural nets), low latency
RNs, kernel density (cdf estimation), QR-decomposition (PCA),
EGARCH estimation, Johansen Procedure…
The lists are not exhaustive.
Certificate in Quantitative Finance 3/88
Project Report
A full mathematical description of the models employed as well
as numerical methods. Remember accuracy and convergence!
Results presented using a plenty of tables and figures, which
must be interpreted not just thrown at the reader.
Pros and cons of a model and its implementation, together with
possible improvements.
Demonstrate ‘the specials’ of your implementation: own
research, own coding of complex methods, use of the
industrial-strength libraries of C++, Python or VBA + NAG.
Instructions on how to use software if not obvious.
The code must be thoroughly tested and well-documented.
Certificate in Quantitative Finance 4/88
CQF Electives
See Project Brief for the full current table.
Counterparty Credit
Risk – CR, IR
CDS, survival probabilities and hazard rates reviewed. Three key numerical methods for quant finance pricing (Monte-Carlo, Binomial Trees,
Finite Di↵erence). Monte Carlo for simple LMM. Review of Module Five
on Credit with a touch on the copula method. Outcome: covers CVA
Computation clearly and reviews of credit spread pricing techniques.
Risk Budgeting – PC
primary choice
Reviews the nuance of Modern Portfolio Theory, ties in VaR and Risk
Decomposition with through derivations and expectation algebra. Gives
simple examples of figures you need to compute and then combine with
portfolio optimisation. Risk-budgeting portfolio from Video Part 10.
Advanced Volatility
Modeling – LV primary
Considers the main kinds of PDEs (stochastic volatility and jump di↵usion) and their analytical solution: the main approach to solve stochastic
volatility (Heston model) is via Fourier Transform. In-depth on integration Outcome: Local Volatility topic o↵ers a classic pricing PDE, which
can be solved by techniques from this elective.
C++ – Dev Consider this a revised version of C++ Primer/ initial certificate course.
Small examples will guide you through identifiers, data types and operations with them. That is followed by debugging, control structures
and vignette cases on useful numerical techniques such as CDF, intetion and use of th The large final part is about functions and
Certificate in Quantitative Finance 5/88
Final Day is ✘12th 13th July 2020 ✘✘✘✘
Don’t Extend Your Luck!
Certificate in Quantitative Finance 6/88
1 Introduction to CQF Final Project
2 Pricing a credit product: kth-to-default Basket CDS
3 Aspects of LMM Calibration
4 Interest Rate Swap: Exposure Profile, OIS Discounting
Certificate in Quantitative Finance 7/88
Pricing for Credit Products
Certificate in Quantitative Finance 8/88
Case Study
In 2008 AIG Financial Products Corp had notional CDS exposure to
highly rated CDSs of roughly $450-500 billion concentrated on
banks, with about $60 billion exposed to subprime mortgages.
Viewing CDS as a leveraged purchase of bond, consider the
implications.
Outright purchase of $450 billion worth of corporate bonds
(especially subordinated bank debt) would have attracted
everyone’s attention: C-level management, counterparties,
regulators. CDS positions did not.
Certificate in Quantitative Finance 9/88
Consider the exposure as if you were a risk manager: CDSs
typically have 5Y maturities, and rates were about 5.5% in 2008.
A five-year par bond with a rate of 5.5% has a sensitivity to credit
spreads, or credit DV01, of about $435 per one basis point for $1
million notional.
$450 billion notional will have exposure of $200 million per one
basis point. A move of 50 bps would generate roughly $10 billion
in losses. Mid-2007 through early 2008, spreads on five-year
AAA financial issues rose from about 50 bps to about 150 bps…
Re-worked from: A Practical Guide to Risk Management, Coleman (2011)
Certificate in Quantitative Finance 10/88
Single-name CDS: credit curves
Certificate in Quantitative Finance 11/88
What is a Basket CDS?
Structured credit product, an OTC credit exotic. Product
characteristics and pricing methodology give a practical insight in how
to price tranched products (pools of securities), with correlation.
If the k number of defaults occur
the contract terminates, the protection buyer receives
LGD = (1 – R) × 1
5 × N
Protection seller receives PL = s × 10 million per year. Paid
periodically in arrears (vs. upfront fee CDS). Five reference names,
2m notional each, with maturity T = 5 years.
Certificate in Quantitative Finance 12/88
Potential Pricing
1st to default ‘Equity’ | 22 bps Gaussian | t copula |
2nd to default | 10 bps | |
5th to default | 1.6 bps |
s = DL
PL is computed separately for each k-th to default. The spread is
an expectation over the joint loss distribution (with simplification).
Certificate in Quantitative Finance 13/88
Credit Spreads
There are spreads on standardised CDS indices, such as CDX North
America and iTraxx Europe (5Y maturity) baskets of 50 top credit
quality corporate names.
Why interest in synthetic credit? Selling protection (CDS) means
the same exposure as buying a bond – leveraged,eg, borrowing the
initial purchase price of the bond. Receive premiums until the
maturity or default, and pay out the principal in case of default.
Price a fair spread for a basket of five reference names by sampling
default times from both, Gaussian and Student’s t copulae.
Certificate in Quantitative Finance 14/88
Hazard Rates Data (five snapshots)
What does default time τk depend on?
τ ∼ Exp(λ1Y , … , λ5Y )
For each reference name, we have to bootstrap hazard rates from
the credit curve ‘today’.
5 single-name par spread CDS with maturities up to 5Y.
Matching discounting curve for 1Y,…, 5Y points.
assume recovery rate R = 40% (there are LGD models)
CDS Lecture illustrates how to bootstrap implied survival probabilities
and thus, hazard rates.
Certificate in Quantitative Finance 15/88
Credit Curves (term structure), bps
Certificate in Quantitative Finance 16/88
Survival Probabilities
The cumulative survival probability relates to hazard rate function:
log P(0, tm) = – Z0tm λsds = – Xm
i=j
λj∆tj (1)
P(0, tm) is survival probability up to time tm
λj is hazard rate between j – 1 to j
∆tj is gap between each period, likely to be 1 year
P(0, tm) is ‘like’ a discounting factor.
Certificate in Quantitative Finance 17/88
Hazard Rate for Each Tenor
Assuming hazard rate function as piecewise constant, we bootstrap
iteratively for each tenor ∆tj (year)
λ1 = – 1
∆t log P(0, t1)
λm = – 1
∆t log P(0, tm) –
m–1
Xj=1
λj (2)
We can express the intensity as a ratio of survival probabilities:
λm = – 1
∆t log P(0, tm) + ∆1t log P(0, tm–1)
λm = – 1
∆t log PP(0, (0, tmtm–)1) (3)
Certificate in Quantitative Finance 18/88
IHP calibrated on single-name CDS
For each name, we have a term structure λb1Y , … , λb5Y , a calibration
to the Inhomogenous Poisson process (IHP).
Certificate in Quantitative Finance 19/88
Exponential inter-arrival times
Suppose a simulation gives us correlated (u1, … , u5).
Our task is to convert ui ! τi, done individually for each
reference name by using (five) hazard rate from the curve
τName 1 ∼ Exp(λ1Y , … , λ5Y )
τName 2 ∼ Exp(λ1Y , … , λ5Y )
Exponential CDF is u = 1 – e–λτ so,
log(1 – u) = –λτ τ
There is input u but two unknowns λτ and τ.
Certificate in Quantitative Finance 20/88
Marginal default time (for each name)
τ = tm–1 + δt
1 First, we find the year of default,
i.e., determine that default occurs between tm–1 and tm.
2 Second, we estimate the year fraction δt or use accruals.
Certificate in Quantitative Finance 21/88
Year of default
Iterate adding up hazard rates λj
τ = inf (t > 0 : log(1 – u) ≥ – Xt λm)
where default occurs if inequality holds and
tm
–1 ≤ τ ≤ tm
Comparison is done on negative scale because log(1 – u) < 0.
If the inequality holds after adding λm then default occurs.
Certificate in Quantitative Finance 22/88
Validating example
Using absolute values to compare on positive scale
j log(1 – u)j ≤ X λ
We construct a validation table, where small u implies a default
u | jlog(1 – u)j |
0.90 | 2.3 |
0.50 | 0.69 |
0.25 | 0.2877 |
0.10 | 0.1054 |
0.05 | 0.0513 |
Certificate in Quantitative Finance 23/88
Exact default time
Exact default time τ = tm–1 + δt requires year fraction δt
1 – u = exp – Z0tm–1+δt λsds! = P(0, tm–1) exp – Ztmt–m–1 1+δt λsds!
log P(10,–tmu–1) = –δtλm
δt = – 1
λm log P(10,–tmu–1) (4)
What matters in practice is how default event is determined and
settled. Assume δt = 0.5 is called accruals.
τ = tm–1 + δt
Certificate in Quantitative Finance 24/88
Copula. Correlation of Default Events
Certificate in Quantitative Finance 25/88
Marginal Distributions
Question
What is the distribution of default time is for each reference name?
Answer
It is an Exponential Distribution parametrised empirically by a set of
five hazard rates (piecewise constant, per year).
τName 1 ∼ Exp(λ1Y , … , λ5Y )
τName 2 ∼ Exp(λ1Y , … , λ5Y )
Certificate in Quantitative Finance 26/88
Copula Method
A great deal of flexibility by separating:
Marginal distributions for default times τi
Dependence structure (correlation: linear, rank, calibrated
based on MLE by an optimiser)
The joint distribution for k-th to default time across all reference
names τk ∼ Fk(t1, t2, … , tn) has no closed form. However,
F(x1, x2, … , xn) ≡ C(u1, u2, … , un)
Let’s review the concept of copula.
Certificate in Quantitative Finance 27/88
Joint Student’s t Distribution
Joint distributions are cumbersome to work with and might have no
analytical solution for CDF and ICDF.
Certificate in Quantitative Finance 28/88
Student’s t Copula
Applying Student’s t CDF to marginals means re-scaling to a uniform
[0, 1] projection. This should look familiar:
Certificate in Quantitative Finance 29/88
Sampling from copula
Copula method is a way to structure Monte Carlo: generate a
correlated set (u1, u2, u3, u4, u5).
The approach is non-parametric which gives it a flexibility. The joint
distribution of default time τk unknown for each case of k-th to
default.
τk ∼ Fk(t1, t2, … , tn)
Implementation boils down to Cholesky decomposition Σbρ = AA0
We generate independent Normal RNs, and impose correlation
by XSim = AZ, then convert back USim = Φ(XSim)
Certificate in Quantitative Finance 30/88
Historic Credit Spreads, bps
Correlating levels of credit spreads is spurious (unit root variables!).
Certificate in Quantitative Finance 31/88
Data for Default Correlation
Estimate correlation from historical PD data, as implied by credit
spreads.
5Y tenor is a good reference point;
daily or weekly changes; one-two year period.
Getting daily historical quotes for CDS and discounting a year or two
back can be a challenge. Common substitutes:
historical returns data (equity, bond yields) OR base correlation
available from traded correlation instruments.
Certificate in Quantitative Finance 32/88
Distribution Fitting:
To apply correlation/transform to uniform easily we need data close to Normal
histograms
Obtain the time series for 5Y tenor point (CDS, PD, prices) and
plot histograms. Non-stationary variables produce bi-modal
histograms.
Convert variables to changes ∆CDS, ∆PD or returns,
subtracting means if necessary, and generate histograms.
Hazard rate are already log-differences of the survival
probabilities / – log PP(0, (0, tmtm–)1).
This is experimentation: demo can be provided but coding not to be shared.
Certificate in Quantitative Finance 33/88
Pseudo-samples: Normalising
Maximum Likelihood requires sample data transformed into uniform
pseudo-samples UHist t . A simple recipe:
Take data and convert into standardised changes (returns) Z.
∆CDS, ∆PD ! ZHist
Under all assumptions (Normal distribution, volatility known)
UHist t = Φ(ZHist)
The drawback is that histograms of UHist t might not be that uniform!
Interferes with correlation.
Certificate in Quantitative Finance 34/88
Pseudo-samples: Kernel Smoothing (for pdf)
The proper recipe is UHist t = Fb(PD) – you are not limited to PD data.
Also computable Z = Φ–1(U).
This is numerically involved and involves at least two steps,
fitting a pdf to a kernel function
numerical integration over kernel to compute Empirical CDF Fb()
Matlab ksdensity() gives ready implementation. Use ‘ecdf’ and vary
bandwidth ‘bw’ to obtain good-looking uniform histograms (each reference
name). If things not uniform try more amenable data, eg, returns.
Certificate in Quantitative Finance 35/88
Dependence Fitting:
Plot 2D scatter plots (one reference name vs. another)
Original data, variables such as CDS5Y , prices – is this a valid
move?
Changes ∆CDS if using those.
Pseudo-samples U – what does this plot represent?
The plots helps to visualise dependence, now moving on to formal
estimation of 5 × 5 correlation matrix.
Certificate in Quantitative Finance 36/88
Correlation Matrix
Once we got Normal Z from pseudo-samples UHist t it is
straightforward to calculate linear correlation matrix Σ = ρ(Z).
Good enough for Gaussian copula.
But t copula sampling requires rank correlation.
Spearman’s rho is estimated on pseudo-samples ΣS = ρ(U).
A separate formula Στ = ρτ(X) is defined for Kendall’s tau.
Use ρ = 2 sin π6 ρS and ρ = sin π2 ρτ ‘to linearlise’ rank
correlation.
The inferred linear correlation matrix is not guaranteed to be positive definite
as required for Cholesky – so the nearest correlation matrix is obtained.
Certificate in Quantitative Finance 37/88
t copula
Fitting t copula gives an explicit exercise in Maximum Likelihood.
Two parameters to calibrate: correlation matrix Σb and ν, degrees of
freedom. This is what ready software does and comes up with
unrealistic correlations by optimisaiton.
argmax
ν (Xt=T1 log c(uHist t ; ν, Σb))
u0
Hist is a 1 × 5 row vector of observations for five reference names .
Certificate in Quantitative Finance 38/88
Log-likelihood of t copula
-500
-400
-300
-200
-100
0
100
200
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
Log-Likelihood
Degrees of freedom
Figure: Use rank correlation matrix input, repeat calculation of the sum of
log-likelihoods for each value of ν = 1 … 25 and plot.
Certificate in Quantitative Finance 39/88
t copula density
c(u; ν, Σb) = p1jΣj ΓΓv+v2 2 n ΓΓv+v2 2 1!n 1 + Tv–1(u0)Σv–1Tv–1(u)–
v+n
2
Qn i=1 1 + Tv–1v(ui)2 –
v+1
2
u0 is a row vector of 1 × 5 that represents an observation of spreads
(scaled) for five reference names on a given day.
the denominator is calculated element-wise by drawing ui from u0.
the nominator of the last term produces a scalar 1 × 5 × 5 × 5 × 5 × 1.
in VBA use EXP(GAMMALN()). ICDF for Student’s t Tv–1 code in Q&A,
apply elementwise.
Certificate in Quantitative Finance 40/88
Sampling from Gaussian copula
1 Compute decomposition of correlation matrix Σb = A A0.
Use the simplest option of Cholesky decomposition if the matrix
is positive definite.
2 Draw an n-dimensional vector of independent standard Normal
variables Z = (z1, · · · , zn)0.
3 Compute a vector of correlated variables by X = AZ.
4 Use Normal CDF to map to a uniform vector U = Φ(X).
Convert each uniform variable to default time ui ! τi using hazard
rates structure for each name.
Inefficiency: quasi RN generators generate uniform variables, which
we convert to Normal plane to impose correlation, and then convert
Certificate in Quantitative Finance back to uniform. 41/88
Sampling from t copula
Differences are rank correlation and chi-squared RN.
1 Compute decomposition of correlation matrix Σb = A A0.
2 Draw an n-dimensional vector of independent standard Normal
variables Z = (z1, · · · , zn)0.
3 Draw an independent chi-squared random variable s ∼ χ2 ν.
Compute n-dimensional Student’s t vector Y = Z=qνs .
4 Impose correlation by X = AY.
5 Map to a correlated uniform vector by U = Tv(X) using t CDF.
Certificate in Quantitative Finance 42/88
Why t copula?
1 If your calibrated (or reasonably assumed) d.f. ν = 7.
2 The chi-squared random variable s ∼ χ2 ν is obtained by drawing
ν squared Normal random variables, separately
s = Z12 + Z22 + … + Z72
t copula means stronger co-movement. If simulated u1 = 0.1, then
u2 ≈ 0.1 is likely.
Think of the impact on the spread: multiple defaults together raise the
spread for k-th to default, compared to Gaussian.
Certificate in Quantitative Finance 43/88
Where is the copula?
Question
Usually at this stage, a question is asked: “Where in these algorithms
is the copula?”
Answer
What we do with imposing correlation by Cholesky result A is
equivalent to factorisation of the copula into a set of linear equations.
Check CDO lecture for two-dimensional Cholesky solution for A (p.52)
σ1 0
ρσ2 p1 – ρ2σ2 !
Certificate in Quantitative Finance 44/88
Review [Reference]
We have covered how to:
estimate appropriate correlation matrix
sample a correlated random U = (u1, … , un) from copula
convert each random variable into default time ui ! τi
In our simulation of correlated default events, their marginal
distributions τi ∼ Exp(λb) are kept separately from dependence
structure, a linear correlation matrix Σb.
The joint distribution for kth-to-default time across all reference
names τk ∼ Fk(t1, t2, … , tn) ≡ C(u1, u2, … , un) has been represented
by a factorised copula (Cholesky linear system).
Certificate in Quantitative Finance 45/88
Spread Computation
Certificate in Quantitative Finance 46/88
kth-to-default spread
Par spread of kth-to-default swap is derived by equating DL = PL.
s =
< DL >
< PLs✄ > =
(1 – R) Pm i=1 Z(0, ti) (Fk(ti) – Fk(ti–1))
∆t Pm i=1 Z(0, ti) (1 – Fk(ti))
Assume, we simulated default times (τN1, τN2, τN3, τN4, τN5)1..10,000
The joint distribution τk ∼ Fk(t1, t2, … , tn) remains unknown. It is
likely to be a different distribution for each kth-to-default instrument.
Certificate in Quantitative Finance 47/88
Total Expected Loss
Structured credit pricing is simplified by introducing the Total
Expected Loss, an expectation over the joint distribution,
E[Fk(t)] = Lk Li – Li–1 = 1
5 × Notional
E[s] = (1 – R) Pm i=1 Z(0, ti) (Li – Li–1)
∆t Pm i=1 Z(0, ti) (NP – Li)
To satisfy the expectation, the fair spread is calculated using
Monte-Carlo.
Certificate in Quantitative Finance 48/88
Upon k-th to default, the notional payment is made by protection seller for the
defaulted entity.
s is fair spread of the contract paid dt 1 times per annum until τk or
maturity. ∆t ≈ ti – ti–1 is an accrual factor.
summation in the spread is over m years, with τ = tm–1 + δt.
Z(t, T) is a risk-free zero coupon bond price as discount factor.
R is recovery rate, LGD = 1 – R.
NP = 1 is notional principal. We invest 1 5 of notional in each name.
Certificate in Quantitative Finance 49/88
Spread Computation: 1st to default, τ1
Loss Function per time period Li – Li–1 = 15 × NP. This simplifies
computation.
s =
(1 – R)Z(0, τ1) × 1 5
Z(0, τ1) τ1 × 5 5
For τ1 < 5 years, Z(0, τ1) in the DL numerator coincides with one in
PL denominator. We keep it in both expressions because we
compute average PL and DL separately.
Each kth-to-default basket is priced as a separate instrument.
Simulations can be saved and re-used but Nsim likely to be different.
Price by both, Gaussian and t copulæ.
Certificate in Quantitative Finance 50/88
Spread Computation: 1st to default, table
If default time τk ≥ 5 years then DL = 0 but the paid premium has to
be discounted. Assuming annual payment, discretisation goes
Z(0, 1) × 1 + Z(0, 2) × 1 + … + Z(0, 5) × 1
0 (1 – R)=5 0 0 0 (1 – R)=5 . . .
DF × 5 τ1 DF × 5 DF × 5 DF × 5 τ1 . . .
Very small default times τk lead to large spreads and interfere with
convergence. Can introduce a floor τk = max(^ τk, 0.25).
Average DL and PL across simulations separately, and calculate the
spread one time. Done to improve convergence.
Certificate in Quantitative Finance 51/88
Spread Computation: 2nd to default
2nd-to-default also protects from the loss in single name
s = | (1 – R)Z(0, τ2) × 1 5 Z(0, τ1)(τ1 – 0) × 5 5 + Z(0, τ2)(τ2 – τ1) × 45 |
Poses problem of 1) more than two defaults within the same
increment of time (year) and 2) removal of referenced entity
(non-removal has the simpler PL = Z(0, τ2)τ2).
Reference entities that have defaulted before k-th default are
removed from the portfolio, reducing its value by 1 5 × NP each.
The rule is consistent with the Removal of Defaulted Reference Entity
provisions of ISDA Terms.
Certificate in Quantitative Finance 52/88
Model Validation
The fair spread for k-th to-default Basket CDS should be less
than k-th –1. Why?
Risk and Sensitivity Analysis of the spread is important
1 default correlation among reference names: either stress-test by
constant high/low correlation or ± percentage change in correlation
from the actual estimated levels.
2 credit quality of each individual name (change in credit spread,
credit delta) as well as recovery rate.
Correlation matrix is key input, so make sure to explain:
1 historical sampling of default correlation matrix, and
2 choice of the stress-testing levels of correlation, i.e., what kind of
event they represent
Certificate in Quantitative Finance 53/88
Sensitivity to constant correlation
As default correlation increases to very high levels, spreads for
different kth-to-default instruments lapse. Why?
Which default correlation levels have you obtained from linear and
rank correlation measures?
Certificate in Quantitative Finance 54/88
Data Requirements – Reference
1 A snapshot of credit spreads on a given day is used in estimation
of hazard rates:
For each reference name, the term structure of hazard rates for 1Y,
2Y,…5Y (non-cumulative) parametrises the distribution of default
time τ.
2 Historical credit spreads data is needed for estimation of the
(inferred) linear correlation matrix of PD.
Alternative estimation of default correlations is possible. Please
see below and consult with the Q&A.
3 Discounting curve data is necessary for both, hazard rates
bootstrapping and basket spread s calculation. Approximate.
Certificate in Quantitative Finance 55/88
Basket CDS Implementation Step-by-Step
1 For each reference name, bootstrap implied default probabilities
from quoted CDS and convert them to hazard rates.
2 Estimate the appropriate inputs for ‘sampling from copula’, i.e.,
correlation matrix and degrees of freedom.
3 For each simulation, repeat the following routine:
1 Sample a vector of correlated uniform random variables – you will
need to implement sampling from both Gaussian and Student’s t
copula separately.
2 Use hazard rates of each reference name to convert the
corresponding uniform variable of ui into exact default time τi.
3 Based on τk calculate the discounted values of premium and
default legs.
4 Average premium and default legs across simulations separately.
Calculate the fair spread s.
Certificate in Quantitative Finance 56/88
1 Introduction to CQF Final Project
2 Pricing a credit product: kth-to-default Basket CDS
3 Aspects of LMM Calibration
4 Interest Rate Swap: Exposure Profile, OIS Discounting
Certificate in Quantitative Finance 57/88
LMM Calibration: Caplet Volatility
Stripping
Certificate in Quantitative Finance 58/88
Caplet
A caplet is an interest rate option that pays a cashflow based on the
value of LIBOR at a re-set time Ti.
DFOIS(0, Ti+1) × max(L(Ti, Ti+1) – K, 0) × τ × N (5)
L(Ti, Ti+1) is the forward LIBOR. Assume L(Ti, Ti+1) = fi
τ is year fraction that converts an annualised rate
N is the notional that can be scaled as N = 1
The cashflow is paid for the period τ = [Ti, Ti+1] in arrears.
Certificate in Quantitative Finance 59/88
Payoff and parity
Buying a caplet gives protection from an increase in LIBOR rate:
L – (L – K )+ = min(L, K )
Alternatively for a floorlet:
max(L, K )
Put-call parity for caplet and floorlet becomes:
Buying a caplet and selling a floorlet with the same strike gives a
payoff equal to a FRA contract. Consider
(L – K )+ – (K – L)+ = (L – K ) | always |
where FRA fixed rate is equal to the strike, so (f – K ). | |
Certificate in Quantitative Finance | 60/88 |
Pricing Skew
Caplet/floorlet cashflow in basis points for a range of strikes:
ITM options just have the larger cashflows – the relationship almost
linear. But this is not in implied volatility terms.
Volatility skew present in cap/floor markets. Derivatives models,
such as LMM, are calibrated for each strike separately.
Certificate in Quantitative Finance 61/88
Caplet cashflow is computed in HJM MC.xlsm, however you need
to run Solver manually on fixed inputs (spreadsheet updating off).
To find implied volatility σimp cap, use the root-finding on Black (1976)
formula
Cap cash = Z(0, Ti) [fi N(d1) – K N(d2)] τi
1 + fiτi
d1,2 = ln(fi=K) ± 0.5σ2T
σpT
fi = F(t, Ti, Ti+1) forward LIBOR at the caplet expiry Ti, paid over
[Ti, Ti+1].
Z(Ti, Ti+1) = 1=(1 + fiτi) is discounting factor for LMM. For OIS
discounting do fi∗ = fi – LOIS.
Certificate in Quantitative Finance 62/88
To calibrate the LMM = To strip caplet volatility.
The market-quoted caps σcap(Ti–1, Ti) trade with expiries
1Y, 2Y, 3Y, etc.
Stripped 3M caplet sequence σcpl(Ti–1, Ti) gives an approximation
to time-dependent volatility function σinst(t).
Calibration to swaptions (Rebonato Method) is appropriate if you
have those instruments.
5 × 5 swaption matures in 5 years, after which IRS will be alive for a
further 5 years. The implied volatility denoted V5,10.
Certificate in Quantitative Finance 63/88
Market Cap Quotes
From: LIBOR Market Model in Practice by Gatarek, et al. (2006), Ch
7.
Certificate in Quantitative Finance 64/88
Calibrating LMM on caplets
We make sense of Algorithm 7.1 in Gatarek, et al. (2006, page 76).
1 ATM strikes for caplets are equal to the forward-starting swap
rates, obtained directly from the forward curve today.
S(t, Ti, Ti+1) or S(Ti; T0∗, T3∗M) gives K cpl
Textbook recites the common formula 7.4 (page 72). These
strikes are used when converting implied volatilities to cash
prices.
Certificate in Quantitative Finance 65/88
2 Extrapolate market volatilities [0, T], assuming flat volatility for
the first period σMkt cap(t, T6M) = σMkt cap(t, T1Y )
✘σcap ✘(✘t,✘T3✘M✘), σcap(t, T6M), σcap(t, T9M), σMkt cap(t, T12M), σcap(t, T18M), …
3 Convert into cash prices capMkt(t, T9M), capMkt(t, T12M), … using
Black formula.
Certificate in Quantitative Finance 66/88
4 Actual caplet stripping
cpl(T6M, T9M) = capMkt(t, T9M) – cpl(T3M, T6M)
cpl(T9M, T12M) = capMkt(t, T1Y ) – cpl(T6M, T9M) – cpl(T3M, T6M)
The expression relies on the model-free fact that caplet cashflows
add up to the cap cashflow: capT = PT i cpli
capMkt(t, T9M) = ✘cpl ✘(t✘, T✘3M✘) + cpl(T3M, T6M) + cpl(T6M, T9M)
capMkt(t, T12M) = 0 + cpl(T3M, T6M) + cpl(T6M, T9M) + cpl(T9M, T12M)
Certificate in Quantitative Finance 67/88
5 Use the root-finding on Black formula to convert caplet cashflows
into volatilities σ(0.25, 0.5), σ(0.5, 0.75), σ(0.75, 1) cpl(Ti–1, Ti) , σcap(Ti–1, Ti). |
Even if the annualised implied volatility σ is taken the same for the
initial period, say 16%
cpl(T3M, T6M) < cap(t, T6M)
cpl(T3M, T6M) cap(t, T1Y )
Cpl cash = Z(0, Ti) [fi N(d1) – K N(d2)] τi 1 + fiτi |
Certificate in Quantitative Finance 68/88
Caplets
Stripped caplet volatility on a given day (Gatarek, et al., 2006)
Consistent with actual vs implied (Understanding Volatility Lecture).
Certificate in Quantitative Finance 69/88
Instantaneous Volatility
After volatility stripping, we moved from 1.0 year to 0.25 increment.
But, the implied volatility remains an average over the actual,
instantaneous volatility (via integration).
σcap(t, Ti–1, Ti) = sTi–11– t Zt Ti–1 σinst(τ)2 dτ
Fitting to a, b, c, d function.
Piecewise constant instantaneous volatility assignment – Section
7.4 in Gatarek et al. (2006).
Σcpl ) Σinst
Certificate in Quantitative Finance 70/88
Volatility Fitting
We would like the term structure of volatility to be time-homogeneous,
σinst(t) = φi h(a + b(Ti–1 – t)) × e–c(Ti–1–t) + di × 1ft<Ti–1g
a, b, c, d are the same for all tenors! Obtained by setting up the
optimisation task: assume φi = 1 , row with σStripped, guess a, b, c, d
and compute initial σFitted in another row
argmin X σStripped – σFitted2
for each cell compute the squared difference and run Solver that
varies a, b, c, d to minimise the sum of squared differences.
Optimisation can be enhanced by modifier 0.9 < φi < 1.1 to create a
near-perfect fit.
Certificate in Quantitative Finance 71/88
Parametrised Instantaneous Volatility
Zt Ti–1 σinst(τ)2 dτ = 41c3 4ac2d[e2c(t–Ti–1)] + …
The so called FRA/FRA covariance matrix for instantaneous volatility,
our Σinst, also has a, b, c, d-parametrised, closed-form solution –
these ‘integrated covariances’ can be used in LMM SDE if
pre-multiplied by DF and year fraction.
Z ρij σi(τ) σj(τ) dτ = e–βjti–tjjφiφj 41c3 4ac2d[ec(t–Ti ) + e2c(t–Tj )] + …
The complete parametric solutions to be found in CQF Lecture on the
LMM and Peter Jaekel’s textbook.
Certificate in Quantitative Finance 72/88
Parametric Correlation
The simplest parametric fit for correlations with β ≈ 0.1 has merits for
longer tenors
ρij = e–β(ti–tj )
The two-factor parametric form of Schoenmakers and Coffey (2003):
ρij = exp –mji —j1j [– ln β1 + β2 …]
works for situations that are different from the stylised empirical
observations.
Certificate in Quantitative Finance 73/88
Empirical Correlation
First, changes (in forward rates) at the neighbouring tenors tend to
correlate stronger
Corr[∆fi–1, ∆fi] > Corr[∆fi–3, ∆fi]
Second, correlation is higher towards the long end of the curve.
Corr[∆fi–1, ∆fi] < Corr[∆fj–1, ∆fj] for j i
At the short end the rates tend to behave more independently from
one another. This is due to being most sensitive to the principal
component/primary risk factor of rising the level in the risk-free rate
and the entire curve. Further, for 3M, 6M and 1Y tenors there is own
dynamics because of how specific market instruments are traded.
Certificate in Quantitative Finance 74/88
LIBOR Market Model SDE
Certificate in Quantitative Finance 75/88
LMM Notation
The LIBOR Market Model was designed to operate with forward rates
and denotes them as fi, where
fi = F(t; ti, ti+1)
The forward rate re-sets at time ti and matures at time ti+1.
Discount factor is represented in the LIBOR model as
Z(t; Ti+1) ≡ 1
1 + τifi
This is discount factor over the forward period τi = ti+1 – ti! We need
‘one step back’ in LMM SDE.
Certificate in Quantitative Finance 76/88
Rolling-forward risk-neutral world
LMM SDE is defined under the measure Qm(t), known as the rolling
forward risk-neutral world.
We just keep discounting the drift.
If you would like to see how LMM SDE is derived, please review CQF
Lifelong Lecture on LMM by Tim Mills.
Z(t; Ti) is a function of forward rates Fj(0 ≥ j ≥ i – 1). It is not a
function of forward rates Fi
Z(t; Ti) = Z(t; Tj) × Z(Tj, Ti) = Z(t; Tj)
1 + τjFj where j = i – 1
Taylor series means dZi / dt, dFj, dFjdFk, dFjdt, …
dFjdFk = FjFk σj σk ρjkdt
Certificate in Quantitative Finance 77/88
LMM SDE
Using a discretely rebalanced money market account as Numeraire,
the forward rate fi follows the log-normal process
dfi
fi | = | j=m(t) | σi σj ρijdt + σi dWiQm | (6) |
iX
τjfj
1 + τjfj (t) m(t) is an index for the next re-set time. This means that m(t) is the
smallest integer such that t∗ ≤ tm(t).
Certificate in Quantitative Finance 78/88
LMM SDE discretised (single-factor)
The SDE (6) is for the log-normal dynamics of fi given by the
instantaneous FRAs. It is solved into a discretised version as follows:
fi(tk+1) = fi(tk) exp
24
0@
σi(ti–k–1)
iX
j=k+1
τjfj(tk) σj(tj–k–1)ρij
1 + τjfj(tk)
–
12
σi2(ti–k–1) τk + σi(ti–k–1)φipτk (7)
where fj(tk) = fj and σj(tk) = σj(t) for tk < t < tk+1.
Notation tj–k–1 means we refer to the previous time step k – 1.
This discretisation is optimal HOWEVER we might fall back to the
original SDE – if we prefer to use integrated covariances and/or more
affine computation.
Certificate in Quantitative Finance 79/88
Forward LIBOR
By column arrangement reveals the logic all rates being under the
same measure.
LMM model output with credit to Numerical Methods book and CCP Elective
by Dr Alonso Pena.
The result, simulated curve, will be on the diagonal.
Certificate in Quantitative Finance 80/88
Consider rate L4(9M) = fi(tk+1), is the last simulated tenor, it will
have no drift because it is ‘under the terminal measure’.
Rate L4(6M) = fi(tk+1) has only one integrated covariance.
Rate L4(3M) = fi(tk+1) will have the largest summation in the
drift, that encapsulates [3M, 6M] and [6M, 9M] caplets.
L2(3M) = L2(0) × exp [σ2(t0) × σ2(t0) × 1 …]
L3(3M) = L3(0) × exp [σ3(t0) × (σ2(t0) × ρ3,2 + σ3(t0) × 1) …]
because j = k + 1 = 2, assume σ1(t0) does not exist as corresponds
to L1(0) which has no caplet.
Column Li(0) represents fixed and known LIBOR spot today (here, in
0.25 increment).
Certificate in Quantitative Finance 81/88
SDE Simulation
LMM evolves log-normal dynamics of fi
f(t + dt) = f(t) exp (df)
The curve evolved in discrete tenor chunks, arranged in column.
HJM evolves only the Normal increment dfi (Gaussian model)
¯f(t + dt, τ) = ¯f(t, τ) + d¯f
d¯f are Normally distributed and the curve in row assumes
evolution in continuous time dt (not dt = 0.25).
Certificate in Quantitative Finance 82/88
For CVA Calculation
Certificate in Quantitative Finance 83/88
Interest Rate Swap MtM exposure over tenor time
(a) MtM simulations of exposure, and (b) Expected Exposure EE as
the worst case, (c) Potential Future Exposure PFE.
An example of exposure analytics that encompasses, both EE and
multiple PFE. From: Fernando R. Liorente, CQF Delegate
Certificate in Quantitative Finance 84/88
EE and PFE consider positive exposure only, when L6M > K and
the payer swap cashflow is positive.
MtM values are cashflows (each reset point, discounted) form
the full curve 7! [0, 5Y],
then the curve 7! [0, 4.5] simulated at t = 0.5,
then 7! [0, 4] simulated at t = 1,
etc.
HJM Model MC IRS.xlsm provides one kind of implementation –
pricing is simplified and based on one-off curve – your
implementation might vary, for example in how you approach
discounting, and use full simulated curves.
Certificate in Quantitative Finance 85/88
LOIS Spread: constant or curve
LOIS scan be constant spread or tenor-based ‘curve’.
Li,6M – 6M to OIS spread 8i
Certificate in Quantitative Finance 86/88
Source: Yield Cuve v3.xls by Richard Diamond
Certificate in Quantitative Finance 87/88
Fwd 1M LIBOR can be seen as risk-adjusted 1M LIBOR (spot)
Source: BOE/Bloomberg data processed by Richard Diamond
Certificate in Quantitative Finance 88/88