Nominal vs Z-spread


I am not able to understand the difference between nominal and zero-volatility spread.

I feel these numbers are just the same.

Theory says that they are the same when the yield curve is flat. In my opinion they are the same also in case the curve is not flat. In fact I tried many examples of different yields (upward sloping for instance) and counted by hand the nominal and z-spread and I always get the same or very similar number (could be from numerical approximations).

Can you provide an example of the bond and yields that have different nominal and zero-volatility spread?

Use a non-linear yield curve. Pull actual data from the Treasury and try to model it that way. I guarantee the zero-volatility spread will not be equal to the nominal spread.

* I’m going to modify what I said and take away the linear restriction. Linear yield curves should still work, as long as the line doesn’t have a slope of 0 (that is, it has *some* volatility, and thus has an observable zero-volatility spread). Show us what you’re doing and maybe we can see where you’re going wrong.

Ok, so the simple example. Imagine a bond with zero par value and payments of 100 every period. The spot rates for 3 periods are 2%, 60%, 2%.

So the price of risk-free bond is 100/1.02+100/1.60^2+100/1.02^3=231.333949

To count yield to maturity I counted IRR of three payments of 100 with initial cf=-231.333949 - the result is the yield=14.2135116%

Now to count spreads I assume I have a bond with price 50. I will count nominal spread and z-spread for the bond.

Counting IRR of three payments of 100 with initial cf=-50 I get yield=191.963957%

Nominal spread is: 191.963957%-14.2135116%=177,7504454%

Now I check if z-spread is also 177,7504454%, to do this I add the spread to all rates in PV of bond price calculation:


Oooops. Surprise - the bond is 2% cheaper so there is small difference between z-spread and nominal one. But in many earlier calculations the differences were non-existent or very small.

So maybe I should ask - are above calculations correct? If so, it seems I understand the topic.

Thank you.

When I went through all of this, and admittedly it took me a while to wade through the scenario you gave, I got the same values for YTM and the nominal spread.

You did notice that your z-spread was slightly different since it priced the bond cheaper than 50. When I solved, I got a z-spread of approximately 173.8% (it’s actually just slightly less).

Sorry it took so long to get back to you, but you do seem to understand that the values change.

Here’s a relatively useful video for seeing the pricing in action:

Thanks a lot for your help