In this assignment you will estimate the term structure model proposed by Nelson and
Siegel (1987). In the model, on any given date the instantaneous forward rate that applies
at maturity τ is
f(τ ) = β0 + β1e
−λτ + β2(λτ )e
where β0, β1, β2 and λ are model parameters.
The zero rate that applies to maturity τ is then given by
r(τ ) = β0 + (β1 + β2)
1 − e
- The U.S. Department of the Treasury publishes every day the Daily Treasury Par Yield
Curve Rates. With your own words, briefly explain what is the Treasury par yield curve,
and how market practitioners could use this information.
- The daily Treasury par yield curve rates are reported for 1, 2, 3 and 6 months, and for 1,
2, 3, 5, 7, 10, 20 and 30 years. Using all these maturities, estimate the Nelson-Siegel model
on the following dates:
Follow the procedure that I used in class, that is, minimize the sum of the square pricing
(Pi − P
where P and P
model denote the true and model implied price of each bond, respectively, and
N is the number of bonds used on a given day in your estimation. Of course, do not use the
the 2-month rate if it is not available.
In a nicely formatted table, for each date report your estimates for β0, β1, β2 and λ. Also
report the root-mean square error defined as RMSE =
- For each date mentioned in the previous point:
• Generate a plot that shows the daily term structure of zero rates for maturities ranging
from 0 to 30 years.
• Describe the shape of each the term structure of zero rates, and relate your description
to the macro-economic environment prevalent on those dates.
- Using the parameters computed on 2/2/2022, compute the invoice and flat price of a
Treasury bond paying semi-annual coupons of 1.875% per year over a notional of $100 with
maturity date 5/15/2050. Also report the yield-to-maturity of the bond expressed as a rate
per year with semi-annual compounding.
- Redo 2. by restricting β2 = 0. Briefly comment on the advantages (if any) of the NelsonSiegel model over the restricted model.
- Save your report as a pdf file and name it .pdf. Upload
your report and the Excel spreadsheet that you used in your computations to Canvas. If
you decide to use Python (or other programming language) instead of Excel, please append
your code as an Appendix at the end of your report.