MAT1856/APM466 Assignment #1: Yield Curves solution


Original Work


5/5 - (5 votes)

1.1 Introduction
You are to follow the Canadian Government bond prices for consecutive days in a two-week period (10
days, starting Jan 14), for the purposes of calculating a yield curve (ytm curve), spot curve, and forward
curve for each day. Please obtain this data from
This assignment is split into 2 parts, the first asks questions about some fundamentals of fixed income and
mathematical finance. The second will be an empirical exercise in generating yield curves, and in particular
the 1, 2, 3, 4 and 5 year rates, and analyizing these rates.
1.2 Expectations
1. You may use Excel or any programming language of your choice to answer the “empirical questions”.
2. Please have your final report typset using LATEX, for which is particularly useful.
3. Each of the “fundamental questions” must be answered in clear and coherent sentences – no math.
4. An Appendix including all your code, and a bibliography must be included.
5. You may, and are encouraged, to discuss how to do these questions with your peers. However, your
write-up must be done individually, and the sharing of your write-up before the deadline is prohibited.
Additional Notes: Marks will be awarded for each question as either full-, half-, or zero-marks according to if
the question was answered with a few small mistakes, substantial mistakes but fundamental idea still correct, or
fundamental idea wrong / no answer respectively. -10 marks (each) if expectations 2, 3, or 4 not adhered to.
2 Questions
2.1 Fundamental Questions – 25 points
1. (4 points) Why shouldn’t you use bonds with an initial term (maturity − issue date) of 30 years for
calculating points on the yield curve less than 5 years out? Should the on-the-run Canadian 5 year
bond be used to calculate the 5 year point of the yield curve instead of a 10 year bond even if a 10
year bond has a maturity closer to exactly 5 years away? (Please provide at least two reasons for
(Hint: Coupons, and financial flows.)
2. (6 points) In the second part of this assignment, you are to derive the spot curve up to 5 years out
via bootstrapping for each day in your data-set. Please list a subset of bonds for which you will feed
into a bootstrapping algorithm and explain your choice for each bond chosen. You may use a day
count which rounds days to the nearest month (I.e., Jan 10th becomes Jan 1, Mar 20 becomes Apr
1, and the length of time between Mar 20 and Jan 10 would be 3 months).
(Note: To easily refer to a bond, please use the following convention: “CAN 2.5 Jun 24” refers to
the Canadian Government bond with a maturity in June 24 and a coupon of 2.5).
Assignment 1: Yield Curves, Luis Seco 2
3. (15 points total) The final part of this assignment asks you to treat the 1,2,3,4,5 year points of
the yield curve as time series, and compute the eigenvalues and eigenvectors of the associated 5×5
covariance matrix of log-returns.
(a) (10 points) Explain what the distribution of eigenvalues tells you about the characteristics of
the time series associated with the 1,2,3,4,5 year points on the yield curve.
(b) (5 points) Give two examples of financial classes for which you would expect to have the covariance matrices of the log-returns of assets within said classes produce completely different
distributions of eigenvalues, and explain why this would be so. Examples of financial classes
could be “US Stocks”, “Canadian Government Bonds”, “Euro Hedge Funds”, “FX Swaps”, etc.
4. (Bonus: 10 points, math allowed) Describe the motivation and mathematics behind a mathematical
model other than bootstrapping that at least two central banks (state which banks) use to derive
their long-term spot curves. Please also state two advantages and one disadvantage of the described
(Complete answers only – no half marks.)
2.2 Empirical Questions – 75 points
5. (40 points total)
(a) (10 points) Provide a well-labeled plot with a yield curve (ytm curve) corresponding to each day
of data superimposed on-top of each other. You may use any interpolation technique you deem
appropriate provided you include a reasonable explanation for the technique used.
(b) (15 points) Write a pseudo-code (a simple explanation of an algorithm) for how you would derive
the spot curve with terms ranging from 1-5 years from your chosen bonds in part 2. (Please
also recall the day convention simplifications provided in part 2 as well.) Then a well-labeled
plot with a spot curve corresponding to each day of data superimposed on-top of each other.
(c) (15 points) Write a pseudo-code for how you would derive the 1-year forward curve with terms
ranging from 2-5 years from your chosen bonds in part 2 (I.e., a curve with the first point being
the 1yr-1yr forward rate and the last point being the 1yr-4yr rate). Then provide a well-labeled
plot with a forward curve corresponding to each day of data superimposed on-top of each other.
6. (20 points) Calculate two covariance matrices for the time series of daily log-returns of yield, and
forward rates (no spot rates). In other words, first calculate the covariance matrix of the random
variables Xi
, for i = 1, . . . , 5, where each random variable Xi has a time series Xi,j given by:
Xi,j = log(ri,j+1/ri,j ), j = 1, . . . , 9
then do the same for the following forward rates – the 1yr-1yr, 1yr-2yr, 1yr-3yr, 1yr-4yr.
7. (15 points) Calculate the eigenvalues and eigenvectors of both covariance matrices.