Credit Default Swaps (CDS) and Credit Derivatives › CDS Pricing Framework

Michael BrenndoerferNovember 18, 20257 min read
Quantitative FinanceAll chapters
Part 4 of 15Swaps and Credit Derivatives
Chapter 22Credit Default Swaps (CDS) and Credit Derivatives › CDS Pricing Framework
Reading section 7 of 16 · CDS Pricing Framework · 7 minSection 7 of 16 · 7 min

Book contents

Section 7 of 16 · 7 min read

Credit Default Swaps (CDS) and Credit Derivatives › CDS Pricing FrameworkOne section · Sections in this chapter7 / 16 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

The fair CDS spread is determined by the no-arbitrage condition: at inception, the present value of the premium leg must equal the present value of the protection leg. Let's develop this framework step by step, building from the basic principle that a fairly priced derivative should have zero net value at inception.

The logic is straightforward: if the premium leg were worth more than the protection leg, no rational investor would sell protection, since they would be receiving less than the value of the risk they assume. Conversely, if the protection leg were worth more, no investor would buy protection at that price. Market equilibrium occurs only when both legs have equal present value, making either side of the transaction fair.

Setting Up the Valuation

Consider a CDS with maturity TT, premium payments at times t1,t2,…,tnt_1, t_2, \ldots, t_n (typically quarterly), and a CDS spread of ss. Let:

  • Q(ti)Q(t_i) = probability of survival to time tit_i
  • D(ti)D(t_i) = discount factor for time tit_i (from the risk-free curve)
  • RR = recovery rate
  • NN = notional principal
  • Δti=ti−ti−1\Delta t_i = t_i - t_{i-1} = time between payment dates

These building blocks allow us to express the value of each leg as a sum of expected, discounted cash flows. The survival probabilities capture the likelihood that each payment occurs, while the discount factors convert future values to present values using the time value of money.

Present Value of Premium Leg

The protection buyer pays premiums only while the reference entity survives. The expected present value of the premium leg is:

PVpremium=s×N×∑i=1nΔti×Q(ti)×D(ti)PV_{\text{premium}} = s \times N \times \sum_{i=1}^{n} \Delta t_i \times Q(t_i) \times D(t_i)

where:

  • ss: CDS spread
  • NN: notional principal
  • Δti\Delta t_i: time accrual factor for period ii
  • Q(ti)Q(t_i): survival probability to payment date tit_i
  • D(ti)D(t_i): discount factor for payment date tit_i
  • nn: total number of payment periods

This formula multiplies each premium payment by the probability that it will be made (survival probability) and discounts it to present value. The product Δti×Q(ti)×D(ti)\Delta t_i \times Q(t_i) \times D(t_i) represents the expected, discounted value of receiving one unit of spread payment at time tit_i. By summing over all payment dates and multiplying by the spread and notional, we obtain the total present value of the premium stream.

We also need to account for accrued premium if default occurs between payment dates. Adding this gives:

PVpremium=s×N×[∑i=1nΔti×Q(ti)×D(ti)+Accrual Adjustment]PV_{\text{premium}} = s \times N \times \left[\sum_{i=1}^{n} \Delta t_i \times Q(t_i) \times D(t_i) + \text{Accrual Adjustment}\right]

where:

  • ss: CDS spread
  • NN: notional principal
  • Δti\Delta t_i: time accrual factor
  • Q(ti)Q(t_i): survival probability
  • D(ti)D(t_i): discount factor
  • Accrual Adjustment\text{Accrual Adjustment}: expected value of premium accrued between the last payment and default
  • nn: total number of payment periods

The accrual adjustment accounts for the fact that if default occurs, say, two months into a quarterly period, the protection buyer typically pays the premium for those two months. This adjustment is often small but contributes to accurate pricing, particularly for shorter-dated contracts where accrual represents a larger fraction of total payments.

For simplicity, we often use the risky annuity factor (sometimes referred to as the RPV01 on a unit notional basis):

RPV01=∑i=1nΔti×Q(ti)×D(ti)\text{RPV01} = \sum_{i=1}^{n} \Delta t_i \times Q(t_i) \times D(t_i)

where:

  • RPV01\text{RPV01}: risky annuity factor (sum of discounted survival probabilities)
  • Δti\Delta t_i: accrual period
  • Q(ti)Q(t_i): survival probability
  • D(ti)D(t_i): discount factor
  • nn: total number of payment periods

The risky annuity factor is a powerful summary statistic. It tells us the present value of receiving 1 unit of spread per year for the life of the contract, accounting for both discounting and survival probability. The word "risky" in RPV01 distinguishes this from a risk-free annuity, which would assume certain survival. The risky annuity is always less than or equal to the corresponding risk-free annuity because there is some probability that the payments will cease due to default.

Present Value of Protection Leg

The protection seller pays (1−R)×N(1-R) \times N upon default. Since default can occur at any time, we integrate over all possible default times:

PVprotection=(1−R)×N×∫0TD(t)×q(t) dtPV_{\text{protection}} = (1-R) \times N \times \int_0^T D(t) \times q(t) \, dt

where:

  • RR: recovery rate
  • NN: notional principal
  • D(t)D(t): discount factor at time tt
  • q(t)q(t): default probability density function
  • TT: time to maturity

This integral captures the expected protection payment by weighting the discounted loss given default by the probability density of default at each instant. The protection payment (1−R)×N(1-R) \times N is fixed given our recovery assumption, so the key unknown is when default might occur. The integral sums up the contributions from all possible default times, with each contribution weighted by how likely default is at that moment.

The default density q(t)=−dQ(t)dtq(t) = -\frac{dQ(t)}{dt} represents the likelihood of default occurring exactly at time tt. This derivative of the survival function converts cumulative probabilities into instantaneous rates. For a constant hazard rate:

q(t)=λe−λtq(t) = \lambda e^{-\lambda t}

where:

  • q(t)q(t): default probability density
  • λ\lambda: constant hazard rate
  • tt: time

Notice that this density function declines over time. This occurs not because the entity becomes safer, but because for default to happen at time tt, the entity must first survive until then. As time passes, the pool of possible default times shrinks because some probability mass has already been "used up" by earlier potential defaults.

In practice, we often discretize this integral by assuming defaults occur at payment dates:

PVprotection≈(1−R)×N×∑i=1nD(ti)×[Q(ti−1)−Q(ti)]PV_{\text{protection}} \approx (1-R) \times N \times \sum_{i=1}^{n} D(t_i) \times [Q(t_{i-1}) - Q(t_i)]

where:

  • RR: recovery rate
  • NN: notional principal
  • D(ti)D(t_i): discount factor at payment date ii
  • Q(ti−1)−Q(ti)Q(t_{i-1}) - Q(t_i): probability of default occurring in period ii
  • nn: total number of payment periods

The term Q(ti−1)−Q(ti)Q(t_{i-1}) - Q(t_i) represents the probability of defaulting between times ti−1t_{i-1} and tit_i. This discretization simplifies computation considerably while remaining accurate for practical purposes, especially when payment periods are short (quarterly or more frequent). The approximation essentially assumes that all defaults within a period occur at the period end, which slightly undervalues the protection leg by deferring the expected payment date.

Fair CDS Spread

To find the fair spread, we equate the present value of the premium leg to the present value of the protection leg. Since the notional principal NN appears on both sides, it cancels out:

PVpremium=PVprotection(no-arbitrage condition)s×N×RPV01=(1−R)×N×∑i=1nD(ti)[Q(ti−1)−Q(ti)](substitute leg values)s=(1−R)×∑i=1nD(ti)[Q(ti−1)−Q(ti)]RPV01(solve for s)s=(1−R)×∑i=1nD(ti)[Q(ti−1)−Q(ti)]∑i=1nΔti×Q(ti)×D(ti)(expand RPV01)\begin{aligned} PV_{\text{premium}} &= PV_{\text{protection}} && \text{(no-arbitrage condition)} \\ s \times N \times \text{RPV01} &= (1-R) \times N \times \sum_{i=1}^{n} D(t_i) [Q(t_{i-1}) - Q(t_i)] && \text{(substitute leg values)} \\ s &= \frac{(1-R) \times \sum_{i=1}^{n} D(t_i) [Q(t_{i-1}) - Q(t_i)]}{\text{RPV01}} && \text{(solve for $s$)} \\ s &= \frac{(1-R) \times \sum_{i=1}^{n} D(t_i) [Q(t_{i-1}) - Q(t_i)]}{\sum_{i=1}^{n} \Delta t_i \times Q(t_i) \times D(t_i)} && \text{(expand RPV01)} \end{aligned}

where:

  • ss: fair CDS spread
  • NN: notional principal (cancels out)
  • RR: recovery rate
  • D(ti)D(t_i): discount factor at time tit_i
  • Q(t)Q(t): survival probability
  • Δti\Delta t_i: accrual period
  • nn: total number of payment periods

This is the fundamental CDS pricing formula. The numerator represents expected losses from default, while the denominator is the risky annuity factor. The ratio tells us what annual spread payment, made contingent on survival, would have the same present value as the expected protection payment contingent on default. This formula generalizes our earlier approximation s≈λ(1−R)s \approx \lambda(1-R) by properly accounting for discounting and the precise timing of cash flows.