CDS Pricing and Hazard Rate Models
A credit default swap prices the exchange between a running premium and a contingent protection payment, with both legs weighted by survival and discounted on the collateral curve. The quoted spread is therefore a joint statement about default timing, recovery, discounting, and risk premia—not a literal default probability.
Premium and protection legs
Let \(Q(t)\) be survival probability, \(D(t)\) the discount factor, \(s\) the annual CDS spread, and \(R\) recovery. For premium dates \(t_i\), a simplified discrete valuation is:
PV_premium = N s Σ α_i D(t_i) Q(t_i)
PV_protection = N (1 - R) Σ D(t_i) [Q(t_{i-1}) - Q(t_i)]
Set the legs equal for the par spread. Production code adds accrued premium on default and integrates over each accrual period; ignoring it biases calibration, particularly for distressed names.
| Assumption | Consequence |
|---|---|
| constant recovery | standard but model-dependent |
| piecewise hazard | bootstraps cleanly by CDS tenor |
| deterministic rates | common for vanilla calibration |
| independence of rates/default | approximation, not fact |
Under a constant hazard \(\lambda\), \(Q(t)=\exp(-\lambda t)\). The mnemonic spread ≈ (1-R) λ follows only under simplifying assumptions. It is useful for scale, not a calibration algorithm.
import numpy as np
def cds_legs(spread, recovery, hazards, dfs, accruals, notional=1.0):
survival = np.r_[1.0, np.exp(-np.cumsum(hazards * accruals))]
premium = notional * spread * np.sum(accruals * dfs * survival[1:])
default_prob = survival[:-1] - survival[1:]
protection = notional * (1 - recovery) * np.sum(dfs * default_prob)
return premium, protection
Bootstrap a survival curve
Given market spreads at 1Y, 3Y, 5Y, and 10Y, solve one non-negative piecewise-constant hazard rate per interval so each quoted maturity reprices. Bootstrapping survival rather than independently converting each spread avoids calendar arbitrage. Enforce decreasing survival and inspect implied forward hazards: jagged forward hazards often flag stale inputs, inconsistent conventions, or an unstable solver.
Risk and the CDS-bond basis
Credit DV01 measures PV change for a one-basis-point parallel CDS-spread move. Jump-to-default measures loss conditional on immediate default, approximately N(1-R) for sold protection before offsets. Recovery sensitivity is nonlinear because calibration changes hazards when recovery changes.
The CDS-bond basis compares CDS spread with a bond-implied credit spread. It may reflect funding, deliverability, repo specialness, liquidity, counterparty risk, and coupon effects. A basis trade needs cash-bond financing and careful default settlement modeling; it is not a pure forecast of convergence.
Credit spreads can be useful state variables in equities, as discussed in credit-spread equity signals, but use point-in-time constituents and lagged data.
Model limits
Single-name CDS calibration does not model correlated defaults. Portfolio tranches need a dependence model, and wrong-way counterparty exposure requires joint credit-market dynamics. Even vanilla PV depends on ISDA date rules, business-day adjustment, standard coupon/upfront convention, and the correct discount curve.
Key takeaways
- CDS spread equates survival-weighted premium and protection legs.
- Bootstrap a non-negative hazard curve from all maturities; do not equate spread with default probability.
- Manage credit DV01, jump-to-default, recovery, funding, and liquidity risks separately.
Calibration controls
Use standard ISDA schedules and validate a calibrated curve by repricing both the upfront and running-coupon representation of quoted contracts. Check that survival is monotone, implied default probabilities are non-negative, and each forward hazard is economically plausible. A solver can fit prices while producing an unstable curve if constraints are absent.
Separate market-data interpolation from model extrapolation. Long-dated CDS may be illiquid, so a 10-year hazard is often inferred through sparse quotes. Report sensitivity to recovery and extrapolation assumptions, especially when using the curve for long-dated counterparty exposure or illiquid-credit valuation. Sensitivity is not a nuisance: it is the uncertainty that a risk limit should absorb.
Also distinguish physical default probabilities from risk-neutral probabilities implied by CDS. The latter include default risk premia, liquidity, and supply-demand effects, so they are appropriate for derivative valuation but not automatically for expected credit-loss forecasting. A research model can combine both views, but it must state which probability measure drives each decision.
Document this distinction in downstream limits and performance attribution as well.
