| Financial Toolbox | Search  Help Desk |
| zbtyield | Examples See Also |
Zero curve from coupon bond yields, using bootstrap method.
Syntax
[zr, cd] = zbtyield(bonds, y, sd, ocomp, obasis, maxiter) [zr, cd] = zbtyield(bonds, y, sd, ocomp, obasis) [zr, cd] = zbtyield(bonds, y, sd, ocomp) [zr, cd] = zbtyield(bonds, y, sd)
Arguments
bondsbonds must have the same number of columns.[md cpn rv per basis eom] where
mddatenum to convert date strings to serial date numbers.cpnrv100.per1, 2, 3, 4, 6, and 12. Default = 2.basis0 = actual/actual (default),1 = 30/360, 2 = actual/360, 3 = actual/365.eommd is an end-of-month date for a month having 30 or fewer days. 0 = ignore flag, meaning that a bond's coupon payment date is always the same day of the month. 1 = set flag (default), meaning that a bond's coupon payment date is always the last day of the month.ybonds, respectively. The number of rows (N) must match the number of rows in bonds.sdocompzr. Allowed values are:12 = semi-annual compounding (default)3 = compounding three times per year4 = quarterly compounding6 = bimonthly compounding12 = monthly compoundingobasiszr. A scalar.0 = actual/actual (default), 1 = 30/360, 2 = actual/360, 3 = actual/365.maxiterzr. A scalar. Default = 50. A value greater than 50 may slow processing.Description
[zr, cd] = zbtyield(bonds, y, sd, ocomp, obasis, maxiter)
uses the bootstrap method to return a zero curve given a portfolio of coupon bonds and their yields. A zero curve consists of the yields to maturity for a portfolio of theoretical zero-coupon bonds that are derived from the input bonds portfolio. The bootstrap method that this function uses does not require alignment among the cash-flow dates of the bonds in the input portfolio. It uses theoretical par bond arbitrage and yield interpolation to derive all zero rates. For best results, use a portfolio of at least 30 bonds evenly spaced across the investment horizon.
zrcd. In aggregate, the rates in zr constitute a zero curve.zbtyield returns the mean zero rate for that maturity.
cdzr. These dates begin with the earliest maturity date and end with the latest maturity date md in the bonds matrix. Use datestr to convert serial date numbers to date strings.Example
Given data and yields to maturity for 12 coupon bonds, two with the same maturity date; and given the common settlement date:bonds = [datenum('6/1/1998') 0.0475 100 2 0 0;
datenum('7/1/2000') 0.06 100 2 0 0;
datenum('7/1/2000') 0.09375 100 6 1 0;
datenum('6/30/2001') 0.05125 100 1 3 1;
datenum('4/15/2002') 0.07125 100 4 1 0;
datenum('1/15/2000') 0.065 100 2 0 0;
datenum('9/1/1999') 0.08 100 3 3 0;
datenum('4/30/2001') 0.05875 100 2 0 0;
datenum('11/15/1999') 0.07125 100 2 0 0;
datenum('6/30/2000') 0.07 100 2 3 1;
datenum('7/1/2001') 0.0525 100 2 3 0;
datenum('4/30/2002') 0.07 100 2 0 0];
y = [0.048;
0.06 ;
0.089;
0.053;
0.069;
0.064;
0.078;
0.059;
0.071;
0.069;
0.057;
0.068];
sd = datenum('12/18/1997');
Set semi-annual compounding for the zero curve, on an actual/365 basis. Derive the zero curve within 50 iterations.
ocomp = 2; obasis = 3; maxiter = 50;Execute the function
[zr, cd] = zbtyield(bonds, y, sd, ocomp, obasis, maxiter)which returns the zero curve
zr at the maturity dates cd. Note the mean zero rate for the two bonds with the same maturity date*.
zr =
0.0480
0.0577
0.0909
0.0529
0.0699
0.0724*
0.0584
0.0716
0.0696
0.0526
0.0687
cd =
729907(serial date number for 01-Jun-1998)
730364(01-Sep-1999)
730439(15-Nov-1999)
730500(15-Jan-2000)
730667(30-Jun-2000)
730668(01-Jul-2000)*
730971(30-Apr-2001)
731032(30-Jun-2001)
731033(01-Jul-2001)
731321(15-Apr-2002)
731336(30-Apr-2002)
See Also
zbtprice and other functions for Term Structure of Interest Rates
References
Fabozzi, Frank J. "The Structure of Interest Rates." Ch. 6 in Fabozzi, Frank J. and T. Dessa Fabozzi, eds. The Handbook of Fixed Income Securities. 4th ed. New York: Irwin Professional Publishing. 1995. McEnally, Richard W. and James V. Jordan. "The Term Structure of Interest Rates." Ch. 37 in Fabozzi and Fabozzi, ibid. Das, Satyajit. "Calculating Zero Coupon Rates." Swap and Derivative Financing. Appendix to Ch. 8, pp. 219-225. New York: Irwin Professional Publishing. 1994.