Zero curve bootstrapping from coupon bond data given price

`[ZeroRates, CurveDates] = zbtprice(Bonds, Prices, Settle,`

OutputCompounding)

| Coupon bond information
used to generate the zero curve. An Columns are | |

| Maturity date of the bond, as a serial date number. Use | |

| Coupon rate of the bond, as a decimal fraction. | |

| (Optional) Redemption or face value of the bond. Default = 100. | |

| (Optional) Coupons per year of the bond, as an integer. Allowed values are 0, 1, 2 (default), 3, 4, 6, and 12. | |

| (Optional) Day-count basis of the bond: 0 = actual/actual (default) 1 = 30/360 (SIA) 2 = actual/360 3 = actual/365 4 = 30/360 (BMA) 5 = 30/360 (ISDA) 6 = 30/360 (European) 7 = actual/365 (Japanese) 8 = actual/actual (ICMA) 9 = actual/360 (ICMA) 10 = actual/365 (ICMA) 11 = 30/360E (ICMA) 12 = actual/actual (ISDA) 13 = BUS/252
For more information, see | |

| (Optional) End-of-month flag. This flag applies only
when | |

| Column vector containing
the clean price (price without accrued interest) of each bond in | |

| Settlement date, as a scalar serial date number. This represents time zero for deriving the zero curve, and it is normally the common settlement date for all the bonds. | |

| (Optional) Scalar that sets
the compounding frequency per year for the output zero rates in | |

| Annual compounding | |

| Semiannual compounding (default) | |

| Compounding three times per year | |

| Quarterly compounding | |

| Bimonthly compounding | |

| Monthly compounding | |

| Continuous compounding |

```
[ZeroRates, CurveDates] = zbtprice(Bonds, Prices, Settle,
OutputCompounding)
```

uses the bootstrap method to return
a zero curve given a portfolio of coupon bonds and their prices. 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; specifically, the interest rates for cash flows
are determined using linear interpolation. For best results, use a
portfolio of at least 30 bonds evenly spaced across the investment
horizon.

| An If
more than one bond has the same maturity date, |

| An |

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.

Was this topic helpful?