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:
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 ?
=BCurve("s23")
. Thanks a lot. $\endgroup$