Skip to content
All library documents

Pricing a Bond from Spot Rates and Z-Spread

Article Quant Q&A · Author: TourEiffel

Summary

The document explains how to estimate a bond’s value by discounting each scheduled coupon and principal payment. It adds the bond’s z-spread to the relevant spot rate, uses the resulting rates to calculate discount factors, and sums the discounted cash flows. A worked example applies this approach to a semiannual coupon bond using a US dollar swap curve and compares the estimated price with a market quote.

The answer confirms the basic approach but identifies two calibration details that can explain a pricing gap: the z-spread depends on the reference discount curve used to calculate it, and discounting must match the spot rates’ compounding convention. For semiannually compounded rates, it gives a corresponding discount factor formula and notes the estimated price impact in the example. The discussion is limited to one bond and does not establish that the spread or curve convention is appropriate for every instrument or market quote.

Key ideas

  • A bond price can be estimated as the sum of discounted coupon and principal cash flows.
  • A z-spread is added to the spot rate at each payment tenor before discounting.
  • The curve used to calculate the z-spread must match the curve used in the valuation.
  • Discount factors must use a compounding convention consistent with the quoted spot rates.
  • Differences in curve choice or compounding can contribute to a gap between a model price and a market quote.

Tags

Full text
# Calculate Bond Price knowing Z-Spread


# Calculate Bond Price knowing Z-Spread












From my point of view, to calculate the price of a bond, we just need to add the discounted cash flows.

The discount factor calculation is as follows:

In my theory knowing the z-spread of a bond I can recalculate bond price price by calculating the discount factor as follows:

Typo in there (r+ZSpread)

For me, the Z-Spread should be added to each tenor of my swap curve (US DOLLAR SWAPS (30/360, S/A) CURVE.)

Using a bootstrap method we convert the curve to a forward curve.

Bond DES ;

```
Coupon : 2.999
Z-Spread : 270
Maturity date : 01/22/2032
```

Below are the cash flows of the above bond:

```
Payment Date    Interest    Principal   Spot Rates  Z-Spread + Spot Year Frac   DF (Z-Spread + Spot)    Actualized cashflows : 
01/22/2023      14,995.00   0           3.214085    5.914085        0.480555556 0.971979598                 14,574.83
07/22/2023      14,995.00   0           3.35687     6.05687         0.980555556 0.942338266              14,130.36
01/22/2024      14,995.00   0           3.289998    5.989998        1.480555556 0.915133568                 13,722.43
07/22/2024      14,995.00   0           3.159455    5.859455        1.980555556 0.890430913                 13,352.01
01/22/2025      14,995.00   0           3.050788    5.750788        2.480555556 0.867056193                 13,001.51
07/22/2025      14,995.00   0           2.984593    5.684593        2.980555556 0.844143772                 12,657.94
01/22/2026      14,995.00   0           2.93197     5.63197         3.480555556 0.821992634                 12,325.78
07/22/2026      14,995.00   0           2.896597    5.596597        3.980555556 0.800294373                 12,000.41
01/22/2027      14,995.00   0           2.882752    5.582752        4.480555556 0.778693079                 11,676.50
07/22/2027      14,995.00   0           2.876007    5.576007        4.980555556 0.757511829                 11,358.89
01/22/2028      14,995.00   0           2.884586    5.584586        5.480555556 0.73633777              11,041.38
07/22/2028      14,995.00   0           2.895551    5.595551        5.980555556 0.715592051                 10,730.30
01/22/2029      14,995.00   0           2.916294    5.616294        6.480555556 0.69491409              10,420.24
07/22/2029      14,995.00   0           2.937327    5.637327        6.980555556 0.674680021                 10,116.83
01/22/2030      14,995.00   0           2.964055    5.664055        7.480555556 0.654618418                 9,816.00
07/22/2030      14,995.00   0           2.990264    5.690264        7.980555556 0.635009906                 9,521.97
01/22/2031      14,995.00   0           3.023403    5.723403        8.480555556 0.61546551              9,228.91
07/22/2031      14,995.00   0           3.055618    5.755618        8.980555556 0.596374489                 8,942.64
01/22/2032      14,995.00   1,000,000   3.098086    5.798086        9.480555556 0.577128251                 585,782.29
```

But the following gives me a bond price of : 79.1 where the market quote 83.67.

Is my calculation methodology correct, or did I miss understood the use of z-spread ?

## Answer by Chris Edmonton (score 1, accepted)

https://quant.stackexchange.com/a/71794

Your methodology is correct. 2 comments: (1) the Z-Spread = 270bp is calculated by Bloomberg over your default discount curve; you could check whether it is the SOFR curve or the LIBOR curve; (2) if your spot rates are semiannually compounded, the discount factors should actually be calculated as (1 + y/2)**(-2*t), where y = (Spot + Z-Spread) and t = (Year Frac) (impact here: 0.67% of principal).

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.