Pricing a Bond from Spot Rates and Z-Spread
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.