computingZspread {bondAnalyst} | R Documentation |
Calculates Z-Spread.
Description
Calculates Z-Spread.
Usage
computingZspread(coupons, mv, bondPv, n, spots)
Arguments
coupons |
A number. |
mv |
A number. |
bondPv |
A number. |
n |
A number. |
spots |
A vector. |
Details
In fixed-income security analysis, it is important to understand why bond prices and yields-to-maturity change. In this context, it is useful to separate a yield-to-maturity into two components: the benchmark and the spread. The benchmark yield for a fixed-income security with a given time-to-maturity is the base rate which is often a government bond yield. The spread is the difference between the yield-to-maturity and the benchmark. So a Z-spread (zero-volatility spread) is based on the all benchmark spot rates taken from the spot curve. It is the constant spread that is added to each spot rate such that the present value of the cash flows matches the price of the bond (Adams & Smith, 2019).
According to information provided by Adams and Smith (2019), the method computingZspread()
is developed to calculate Z-Spread based on the entire benchmark spot curve. Here, coupons
stands for dollar value of the Coupon Payment, mv
is maturity value of the bond, bondPv
is present value or price of the bond, n
is number of years, and spots
is vector of spot rates taken from the spots curve. An output with the value 0.0234 means Z-Spread of 234 bps.
Value
Input values to five arguments coupons
,mv
,bondPv
, n
and spots
.
Author(s)
MaheshP Kumar, maheshparamjitkumar@gmail.com
References
Adams,J.F. & Smith,D.J.(2019). Introduction to fixed-income valuation. In CFA Program Curriculum 2020 Level I Volumes 1-6. (Vol. 5, pp. 107-151). Wiley Professional Development (P&T). ISBN 9781119593577, https://bookshelf.vitalsource.com/books/9781119593577
Examples
computingZspread(coupons=5,mv=100, bondPv=92.38,n=3,spots=c(0.0486,0.0495,0.0565))
computingZspread(coupons=50,mv=1000,bondPv=923.8,n=3,spots=c(0.0486,0.0495,0.0565))
computingZspread(coupons= 6,mv=100,bondPv=100.75,n=2,spots=c(0.021,0.03635))