An investigation into popular methods for constructing yield curves by Paul Fourie du Preez Submitted in partial fulfillment of the requirements for the degree Magister Scientiae in the Department of Mathematics and Applied Mathematics in the Faculty of Natural and Agricultural Sciences University of Pretoria Pretoria September 2011 © University of Pretoria Declaration I, the undersigned, declare that the dissertation, which I hereby submit for the degree Magister Scientiae at the University of Pretoria, is my own work and has not previously been submitted by me for any degree at this or any other tertiary institution. Signature: ...................................................... Name: Paul Fourie du Preez Date: 15 September 2011 i Abstract An investigation into popular methods for constructing yield curves P.F. du Preez Supervisor: E. Maré Department of Mathematics and Applied Mathematics, University of Pretoria, Pretoria Thesis: M.Sc. September 2011 In this dissertation we survey a variety of methods for constructing zero-coupon yield curves. We show that, when accuracy is of the utmost importance, the bootstrap described by Hagan and West (2006), Smit (2000), and Daeves and Parlar (2000) provides the ideal framework. This bootstrap requires the use of an interpolation algorithm, and a large portion of this dissertation will thus be devoted to the task of establishing an ideal method for interpolating yield curve data. Only two of the interpolation methods considered in this dissertation are seen to perform promisingly: the monotone convex method developed by Hagan and West (2006), and the monotone preserving r(t)t method developed in this dissertation. We show that the monotone preserving r(t)t method performs slightly better than the monotone convex method, in terms of the continuity of the forward curve, and in terms of the stability of the interpolation function. When economic appeal is of the utmost importance, we find parametric models to be more suitable than bootstrapping. However, we show that bootstrapping can be used to obtain a hypothetical set of zero-coupon bond prices, which can be used to calibrate parametric models. We compare the performance of the Nelson and Siegel (1987) and Svensson (1992) models, when applied to a historic set of South African swap curves, and show that the Svensson (1992) model performs better than the Nelson and Siegel (1987) model on a consistent basis. ii Acknowledgements First and foremost I offer my sincerest gratitude to my supervisor, Professor Eben Maré, for his support and guidance throughout the process of writing this dissertation. His wisdom, knowledge and commitment to the highest standards has served as a constant source of inspiration and motivation. Without him this dissertation would not have been completed. I would like thank Graham Smale, director of the Interest Rates division of the Johannesburg Stock Exchange (JSE), for giving me the opportunity to investigate the possibility of replacing the methodology behind the JSE’s set of yield curves. His comments and suggestions have been invaluable. iii Contents Declaration i Abstract ii Acknowledgements iii Contents iv List of Figures vii List of Tables x Nomenclature xii 1 Introduction 1 2 Benchmark Securities 2.1 Bond Curves and Swap Curves . . . . . . . . . . 2.2 The South African Money Market . . . . . . . . . 2.2.1 The Market for Overnight (Call) Deposits 2.2.2 SABOR . . . . . . . . . . . . . . . . . . . 2.2.3 T-Bills and JIBAR . . . . . . . . . . . . . 2.3 The South African Swap Curve . . . . . . . . . . 2.4 The South African Bond Curve . . . . . . . . . . 3 Literature Review 3.1 Spline-Based Models . . . . . . . . . . . 3.1.1 Mcculnosh (1975) . . . . . . . . . 3.1.2 Vasicek and Fong (1982) . . . . . 3.1.3 Fisher et al. (1995) . . . . . . . . 3.1.4 Quant Financial Research (2003) 3.1.5 Hagan and West (2006) . . . . . 3.2 Parametric Models . . . . . . . . . . . . 3.2.1 Nelson and Siegel (1987) . . . . . 3.2.2 Svensson (1992) . . . . . . . . . . iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 7 7 8 9 11 11 . . . . . . . . . 14 14 15 15 16 17 18 19 20 22 v CONTENTS 3.3 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 Traditional Methods of Interpolation 4.1 Linear Interpolation . . . . . . . . . . 4.1.1 Linear Interpolation on r(t) . . 4.1.2 Linear Interpolation on r(t)t . . 4.1.3 Linear Interpolation on C(t) . . 4.1.4 Linear Interpolation on log(r(t)) 4.2 Cubic Interpolation . . . . . . . . . . . 4.2.1 Natural Cubic Splines . . . . . 4.2.2 Cubic Hermite Interpolation . . 4.3 Quartic Interpolation . . . . . . . . . . 4.4 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 25 25 26 26 27 29 31 33 34 37 5 Monotone Convex Interpolation 5.1 Suitable Forward Rates . . . . . 5.2 The Basic Interpolator . . . . . 5.3 Enforcing Monotonicity on f (t) 5.4 Enforcing Positivity on f (t) . . 5.5 Continuity in f (t) . . . . . . . . 5.6 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 38 39 41 44 46 47 6 Monotone Preserving r(t)t Interpolation 6.1 The Interpolation Function . . . . . . . . 6.2 The Monotonicity Region for r(t)t . . . . 6.3 Extrapolation . . . . . . . . . . . . . . . 6.4 Earlier Examples . . . . . . . . . . . . . 6.5 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 49 53 54 55 . . . . . . . 56 57 57 58 59 59 62 68 . . . . . 69 69 70 72 73 73 . . . . . . 7 Implementation 7.1 Locality . . . . . . . . . . . . . . 7.1.1 Monotone Preserving r(t)t 7.1.2 Monotone Convex . . . . . 7.1.3 Natural Cubic Splines . . 7.2 Stability . . . . . . . . . . . . . . 7.3 Parametric Models . . . . . . . . 7.4 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Conclusions 8.1 Spline-Based Models . . . . . . . . . . . . . 8.2 Interpolation . . . . . . . . . . . . . . . . . 8.3 Parametric Models . . . . . . . . . . . . . . 8.3.1 The Nelson and Siegel (1987) Model 8.3.2 The Svensson (1992) Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi CONTENTS 8.4 Final Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Appendices A Basic Fixed Income Mathematics A.1 Elementary Relations . . . . . . . . . . . A.2 Arbitrage Free Pricing . . . . . . . . . . A.3 Coupon Bonds . . . . . . . . . . . . . . A.3.1 The Bond Pricing Formula . . . . A.3.2 Bond Price Relations . . . . . . . A.4 Interest Rate Swaps . . . . . . . . . . . . A.4.1 The Value of a Just Started Swap A.5 FRAs . . . . . . . . . . . . . . . . . . . A.6 Short-Term Interest Rate Futures . . . . B Historic South African Yield Curves 75 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 76 78 78 78 81 82 82 84 85 87 C Arbitrage Potential 97 C.1 FRAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 C.2 Forward Starting Swaps . . . . . . . . . . . . . . . . . . . . . . 99 D Code 102 D.1 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 D.2 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 D.3 Parametric Function . . . . . . . . . . . . . . . . . . . . . . . . 111 List of References 114 List of Figures 2.1 2.2 2.3 2.4 4.1 4.2 4.3 5.1 5.2 5.3 Historic spread (%) between the 5-year point on the South African swap and bond curves. . . . . . . . . . . . . . . . . . . . . . . . . Historical values of the SABOR rate (%). . . . . . . . . . . . . . . Historical JIBAR and T-Bill rates (%) . . . . . . . . . . . . . . . (a) Historical n−month JIBAR rates . . . . . . . . . . . . . (b) Historical n−day T-Bill rates . . . . . . . . . . . . . . . Historic South African swap and bond curve surfaces (%), for maturities ranging from 1 day to 30 years, from September 2000 to June 2011. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (a) Bond curve surface . . . . . . . . . . . . . . . . . . . . . (b) Swap curve surface . . . . . . . . . . . . . . . . . . . . . Forward curves (%) obtained by applying several variations of linear interpolation to the rates in Table 4.1. . . . . . . . . . . . . . . . (a) Linear on r(t) . . . . . . . . . . . . . . . . . . . . . . . . (b) Linear on log(r(t)) . . . . . . . . . . . . . . . . . . . . . (c) Linear on C(t) . . . . . . . . . . . . . . . . . . . . . . . (d) Linear on r(t)t . . . . . . . . . . . . . . . . . . . . . . . Forward curves (%) obtained by applying several variations of cubic interpolation to the rates in Table 4.1. . . . . . . . . . . . . . . . (a) Natural Cubic on r(t) . . . . . . . . . . . . . . . . . . . (b) Bessel on r(t) . . . . . . . . . . . . . . . . . . . . . . . . (c) Natural Cubic on r(t)t . . . . . . . . . . . . . . . . . . . (d) Bessel on r(t)t . . . . . . . . . . . . . . . . . . . . . . . Forward curve (%) obtained by applying quartic interpolation to the rates in Table 4.1. . . . . . . . . . . . . . . . . . . . . . . . . Possibilities for g. . . . . . . . . . . . . . . . . . . . . . . . . . . . Spot and forward rate curves (%) obtained by applying the monotone convex method to the rates in Table 4.1. . . . . . . . . . . . (a) r(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) f (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spot curve and forward curves (%) obtained by applying the monotone convex method to the rates in Table 5.1. . . . . . . . . . . . vii . 7 . 9 . 10 . 10 . 10 . 13 . 13 . 13 . . . . . 29 29 29 29 29 . . . . . 34 34 34 34 34 . 36 . 41 . 46 . 46 . 46 . 47 viii LIST OF FIGURES (a) (b) 6.1 6.2 6.3 6.4 7.1 7.2 7.3 7.4 7.5 r(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 f (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Region where φ(αi , βi ) ≥ 0. . . . . . . . . . . . . . . . . . . . . . Fritsch and Carlson Monotonicity Region. . . . . . . . . . . . . . Spot and forward curves (%) obtained by applying the monotone preserving r(t)t method to the rates in Table 4.1. . . . . . . . . . (a) r(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) f (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spot and forward rate curves (%) obtained by applying the monotone preserving r(t)t method to the rates in Table 5.1. . . . . . . (a) r(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) f (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 . 53 . 54 . 54 . 54 . 55 . 55 . 55 Original and “blipped” spot rate curves (%) obtained by applying various methods of interpolation to the rates in Table 4.1. “Blipped” curves obtained by changing the input at t = 4, from 4.4% to 5.4%. (a) Monotone Preserving r(t)t . . . . . . . . . . . . . . . . . . (b) Monotone Convex . . . . . . . . . . . . . . . . . . . . . . (c) Natural Cubic Spline on r(t)t . . . . . . . . . . . . . . . . Bootstrapped South African bond curves (%) on 5 June 2003, together with the curves obtained by changing the yield to maturity of the R194 from 9.14% to 9.15%, under various methods of interpolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (a) Natural Cubic Spline . . . . . . . . . . . . . . . . . . . . . (b) Monotone Preserving r(t)t . . . . . . . . . . . . . . . . . . (c) Monotone Convex . . . . . . . . . . . . . . . . . . . . . . Spot and forward curves (%) obtained by applying the Nelson and Siegel (1987), and Svensson (1992) models to various bootstrapped South African swap curves on 10 February 2011. . . . . . . . . . . . (a) Natural Cubic Spline - NS . . . . . . . . . . . . . . . . . . (b) Monotone Convex - NS . . . . . . . . . . . . . . . . . . . . (c) Monotone Preserving r(t)t - NS . . . . . . . . . . . . . . . (d) Natural Cubic Spline - NSS . . . . . . . . . . . . . . . . . (e) Monotone Convex - NSS . . . . . . . . . . . . . . . . . . . (f) Monotone Preserving r(t)t - NSS . . . . . . . . . . . . . . Historic values of R2 obtained by applying the Nelson and Siegel (1987), and Svensson (1992) models to a historic set of bootstrapped South African swap curves. . . . . . . . . . . . . . . . . . . . . . . (a) NS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) NSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spot curves (%) obtained by applying the Nelson and Siegel (1987), and the Svensson (1992) models to the South African swap curve on 4 August 2003 and on 2 April 2009. . . . . . . . . . . . . . . . . 60 60 60 60 62 62 62 62 64 64 64 64 64 64 64 66 66 66 67 ix LIST OF FIGURES 7.6 (a) NS: 4-August-2003 . . . . . . . . . . . . . . . . . . . . . (b) NSS: 4-August-2003 . . . . . . . . . . . . . . . . . . . . (c) NS: 2-April-2009 . . . . . . . . . . . . . . . . . . . . . . (d) NSS: 2-April-2009 . . . . . . . . . . . . . . . . . . . . . . Historic asymptotic rates (%) of the Svensson (1992) model, when applied to a historic set of South African swap curves. . . . . . . (a) r(0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) r(40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1 Historic (a) (b) (c) (d) B.2 Historic (a) (b) (c) (d) (e) (f) (g) (h) B.3 Historic (a) (b) (c) (d) South African swap and bond curves (%). . 7 Aug 2000 . . . . . . . . . . . . . . . . . 31 Jan 2001 . . . . . . . . . . . . . . . . . 30 Oct 2001 . . . . . . . . . . . . . . . . . 30 Jul 2002 . . . . . . . . . . . . . . . . . South African swap and bond curves (%). . 30 Apr 2003 . . . . . . . . . . . . . . . . . 30 Jan 2004 . . . . . . . . . . . . . . . . . 1 Nov 2004 . . . . . . . . . . . . . . . . . 3 Aug 2005 . . . . . . . . . . . . . . . . . 3 May 2006 . . . . . . . . . . . . . . . . . 5 Feb 2007 . . . . . . . . . . . . . . . . . . 7 Nov 2007 . . . . . . . . . . . . . . . . . 7 Aug 2008 . . . . . . . . . . . . . . . . . South African swap and bond curves (%). . 11 May 2009 . . . . . . . . . . . . . . . . 11 Feb 2010 . . . . . . . . . . . . . . . . . 11 Nov 2010 . . . . . . . . . . . . . . . . . 11 May 2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 67 67 67 . 68 . 68 . 68 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 87 87 87 87 88 88 88 88 88 88 88 88 88 89 89 89 89 89 C.1 Spot and forward rate curves (%) obtained by bootstrapping the input securities in Table C.1. . . . . . . . . . . . . . . . . . . . . (a) Natural Cubic Spline . . . . . . . . . . . . . . . . . . . . (b) Monotone Convex . . . . . . . . . . . . . . . . . . . . . (c) Monotone Preserving r(t)t . . . . . . . . . . . . . . . . . (d) Linear on r(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 99 99 99 99 D.1 Flow diagram illustrating the interaction between different programmes used in the construction of parametric and spline-based yield curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 List of Tables 4.1 Example used by Hagan and West (2006) to illustrate the inadequacies of various methods of interpolation. . . . . . . . . . . . . . 28 5.1 Example illustrating how the monotone convex method can produce discontinuous forward rates. Note, all rates are expressed as percentages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.1 Statistics for kM (r)k obtained by bootstrapping a historic set of South African bond curves, under various methods of interpolation. Statistics for kM (f )k obtained by bootstrapping a historic set of South African bond curves, under various methods of interpolation. Inputs to the South African bond curve on 5 June 2003. . . . . . . Spot rates (%) obtained by bootstrapping the South African swap curve on 10 February 2011 under various methods of interpolation. Values of R2 obtained by applying the Nelson and Siegel (1987), and Svensson (1992) models to the rates in Table 7.4. . . . . . . . . 7.2 7.3 7.4 7.5 B.1 The set of money market inputs (%) used to construct the swap and bond curves illustrated in Figures B.1, B.2 and B.3. All rates are quoted as simple annualised rates. Note, * indicates that for the relevant date, the relevant instrument was not used as a swap or bond curve input. . . . . . . . . . . . . . . . . . . . . . . . . . B.2 The set of bonds used to construct the bond curves illustrated in Figures B.1, B.2 and B.3. . . . . . . . . . . . . . . . . . . . . . . B.3 The set of yields (%) corresponding to bonds in Table B.2 . . . . B.4 The set of FRAs used to construct the swap curves illustrated in Figures B.1, B.2 and B.3. . . . . . . . . . . . . . . . . . . . . . . B.5 The set of yields (%) corresponding to the FRAs in Table B.3. . . B.6 The set of swaps used to construct the swap curves illustrated in Figures B.1, B.2 and B.3. . . . . . . . . . . . . . . . . . . . . . . B.7 The set of yields (%) corresponding to the swaps in Table B.6. . . 60 61 61 63 65 . 90 . 91 . 92 . 93 . 94 . 95 . 96 C.1 Inputs to the South African swap curve on 10 February 2011. All rates are expressed as simple annualised rates. . . . . . . . . . . . . 98 x LIST OF TABLES xi C.2 Equilibrium FRA rates (%) on 10 February 2011, under various methods of interpolation. . . . . . . . . . . . . . . . . . . . . . . . . 100 C.3 Equilibrium forward starting swap rates (%) on 10 February 2011, under various methods of interpolation. . . . . . . . . . . . . . . . . 101 Nomenclature Notation (*) r(t0 , t) Description The continuously compounded spot rate of interest, applicable from t0 to t. f (t0 : t1 , t2 ) The continuously compounded forward rate of interest, observed at time t0 , applicable from t1 to t2 . f (t0 : t) The instantaneous forward rate observed at time t0 , applicable to time t. Z(t0 : t) The cost at time t0 , of a zero-coupon bond maturing at time t. Z(t0 : t) is referred to as the time t discount factor. C(t0 : t) The value that one unit of currency invested at time t0 would accumulate to at time t. C(t0 : t) is referred to as the time t capitalisation factor. [A] The rounded all-in price at time t0 , of a coupon paying bond settling at time tsettle ≥ t0 . Rn The equilibrium n-year swap rate observed at time t0 . F (t0 : t1 , t2 ) The equilibrium t1 × t2 FRA rate observed at time t0 . Ff uture (t0 : t1 , t2 ) The yield at time t0 , on a short-term interest rate future that expires at time t1 , and that references the forward rate from t1 to t2 . Note, the abovementioned notation is aimed to be consistent with that of Hagan and West (2006), and Hagan and West (2008). Much of the mathematics associated with zero-coupon yield curves is greatly simplified when working with continuously compounded rates. As such, throughout this dissertation, unless explicitly stated otherwise, we will assume that all rates are continuously compounded. (*) Note: throughout this dissertation, unless explicitly stated otherwise, we will assume that t0 = 0, and omit t0 from the defined notation. Furthermore, r(t) will never be used to denote the so-called short rate of interest. xii Chapter 1 Introduction The term structure of interest rates measures the relationship among the yields on zero-coupon bonds (referred to as spot rates) that differ only in their term to maturity. A yield curve is then a plot depicting the spot rate of interest for a continuum of maturities, in some time interval. Yield curves have a number of roles to perform in the functioning of a debt capital market, including: 1. The valuation of any future cash flow (series of cash flows) is done off a yield curve. 2. Various risk metrics particular to fixed income portfolios are calibrated from either historical or simulated yield curves. 3. Yield curves give an important indication as to the market’s expectation regarding the state of future interest rates. 4. Yield curves are often analysed for the purpose of establishing fixed income trading strategies. 5. Yield curves are used to calibrate no-arbitrage term structure models, like the models of Ho and Lee (1986), Hull and White (1990), and Cox et al. (1977). As noted by Andersen (2007), only a finite set of fixed income securities trade in practice, very few of which are zero-coupon bonds. As such, a model is required to interpolate between adjacent maturities of observable securities, and to extract spot rates from more complicated securities such as coupon bonds, swaps, and Forward Rate Agreements (FRAs). Academics and practitioners have been researching such curve building models for decades. As noted by the Bank for International Settlements (2005), these models can broadly be categorised as parametric or spline-based models. 1 CHAPTER 1. INTRODUCTION 2 Under parametric models, the entire yield curve is explained through a single parametric function, with the parameters typically estimated through the use of some least-squares regression technique. Important contributions in this field have come from Nelson and Siegel (1987), and Svensson (1992). As noted by Andersen (2007), the resulting fit of such parametric functions to observed security prices is typically too loose for mark-to-market purposes, and may result in highly unstable term structure estimates. As such, financial institutions involved in the trading of fixed income securities rarely rely on parametric models. Under spline-based models, the yield curve is made up of piecewise polynomials, where the individual segments are joined together continuously at specific points in time (called knot points). Such methods involve selecting a set of knot points, extracting the corresponding set of spot rates, and finally interpolating; in order to obtain spot rates for a continuum of maturities. Mcculnosh (1971) was the first article to suggest modelling the yield curve in such a fashion. Various methods exist for extracting the set of zero-coupon spot rates corresponding to the chosen set of knot points. Typically, a multivariate optimisation routine is employed whereby the objective is to establish the set of spot rates, which, when combined with an appropriate method of interpolation, produces a yield curve that minimises pricing errors. Such methods have been proposed by Mcculnosh (1975), Vasicek and Fong (1982). Fisher et al. (1995), Waggoner (1997) and Tangaard (1997). The problem with this type of approach is that the resulting yield curve is rarely capable of exactly pricing back all inputs . Hagan and West (2006) describe an alternative procedure for extracting the set of spot rates which corresponds to the chosen set of knot points. These authors describe a process called bootstrapping, whereby: 1. The set of knot points are chosen to correspond to the maturity dates of the set of input instruments. 2. The set spot rates which corresponds to the set of knot points are found via a simple iterative technique. The above-mentioned iterative procedure will converge to a set of spot rates, which, when combined with the chosen method of interpolation, will produce a curve that exactly prices back all input securities. This bootstrap is a generalisation of the iterative bootstrap discussed in Smit (2000). The process of bootstrapping, however, was first described in Fama and Bliss (1987). Regardless of how spot rates corresponding to the chosen set of knot points are extracted, careful consideration has to be given to the chosen method of interpolation. Some methods result in discontinuities in the forward rate curve whilst others are incapable of ensuring a strictly decreasing curve of discount CHAPTER 1. INTRODUCTION 3 factors. Both scenarios are unacceptable in a practical framework. Discontinuities in the forward rate curve makes no sense from an economic, or an intuitive point of view (unless the discontinuities are on or around meetings of monetary authorities), whilst a non-decreasing curve of discount factors implies arbitrage opportunities (see Appendix A). A large component of this report will be devoted to the topic of interpolation. We will attempt to establish the most appropriate method for interpolating yield curve data. The simplest method for interpolating between two points is by connecting them through a straight line. Such methods can be applied to a variety of functions, such as the spot rate function, the discount factor function, the negative log discount factor function etc. Some variations of linear interpolation are capable of ensuring a strictly decreasing curve of discount factors, however, all variations of linear interpolation imply discontinuities in the forward rate curve. In order to produce continuous forward rate curves, researchers often apply cubic methods of interpolation. Under such methods, cubic polynomials are fitted between curve input data at adjacent knot points. The parameters of the polynomials can then be solved to satisfy a variety of criteria, such as continuity, differentiability, monotonicity etc. Such methods can also be applied to a variety of yield curve functions. Hagan and West (2006) note that all of the “traditional” cubic methods are incapable of ensuring strictly positive forward rates (which is synonymous with non-decreasing discount factors). Furthermore, as noted by Andersen (2007), some cubic methods have an inherent lack of locality, in the sense that a local perturbation of curve input data will cause “ringing”, and cause changes in the data far away from the perturbed data point. Hagan and West (2006) developed the monotone convex method of interpolation, which is claimed to be capable of ensuring a positive and (mostly) continuous forward rate curve. In this dissertation, we perform an in-depth review of the monotone convex method, and assess the method’s suitability for interpolating yield curve data. Furthermore, we introduce our own method of interpolation, and prove that this method (which we label the monotone preserving r(t)t method) is capable of ensuring a positive and continuous forward rate curve. The motivation for the monotone preserving r(t)t method follows from the observation that negative forward rates imply non-decreasing discount factors, and vice versa. Constructing an interpolation algorithm capable of preserving the monotonicity of the discount factors, is thus sufficient for ensuring positive forward rates. Monotonicity in the discount factors implies monotonicity in r(t)t, which is achieved by applying the work done in the field of shape preserving cubic Hermite interpolation, by authors such as Akima (1970), Fritsch and Carlson (1980) and de Boor and Swartz (1977). CHAPTER 1. INTRODUCTION 4 When constructing a particular yield curve, deciding on an appropriate method of calibration is only half of the problem; we also have to decide on a set of benchmark securities to which we can calibrate our model. As noted by Hagan and West (2008), by excluding too many securities one runs the risk of disposing of meaningful market information. On the other hand, by including too many securities one runs the risk of obtaining implausible yield curves, with a multitude of turning points. As such, we will devote an entire chapter to the topic of benchmark securities in the South African market. Ultimately, the objective of this dissertation will be to establish the “best” method for constructing yield curves; where “best” should be interpreted in terms of: 1. Accuracy 2. Economic appeal 3. Stability Note, the concept of a “best” method for constructing yield curves might not be universal, and might depend on which of the abovementioned attributes one chooses to place the most emphasis on. CHAPTER 1. INTRODUCTION 5 The structure of this dissertation will be as follows: Chapter Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Appendix A Appendix B Appendix C Appendix D Objective To give background on the South African fixed income market. The aim here will be to give the reader an understanding of the securities that are typically used to calibrate yield curves in the South African market. To survey available literature in the field of yield curve construction. We will consider various parametric and spline-based models in an attempt to eliminate offhand, any models which we consider to be ill-suited. To survey a variety of “traditional” methods of interpolation, and to illustrate the dangers associated with each of these methods. To survey the monotone convex method of interpolation, and to assess the method’s suitability for interpolating yield curve data. To introduce the monotone preserving r(t)t method of interpolation, and to assess the method’s suitability for interpolating yield curve data. To distinguish between the monotone convex, and the monotone preserving r(t)t methods of interpolation. We base our assessment on the performance of these methods, when applied to historic market data. Furthermore, we illustrate how parametric models, like the models of Nelson and Siegel (1987), and Svensson (1992), can be used as a technique for “smoothing” spline-based yield curve models. To conclude our findings and make an assessment as to the “best” method for constructing yield curves. To introduce the mathematical concepts that are necessary in order to obtain an understanding of how the prices of various fixed income securities are related to zero-coupon yield curves. To give a graphical illustration of the various shapes that have been adopted by the South African swap and bond curves. To illustrate, by way of an example, the potential for arbitrage that exists in a world where a unified method of interpolation is not agreed upon. To provide the VBA and python code used to generate the results referenced in this dissertation. Chapter 2 Benchmark Securities The task of constructing a yield curve can be particularly daunting; not only do we have to decide on a curve building model, but we also need to decide on a set of benchmark instruments to which we can calibrate the particular model. The aim of this chapter will be to shed light on the securities typically used to calibrate yield curves in the South African market. 2.1 Bond Curves and Swap Curves When constructing a yield curve, one needs to have an understanding of the concept of credit. The return we expect to receive when lending funds depends on the probability of default, on the part of the entity borrowing the funds. Constructing a yield curve through the use of securities with different credit characteristics is thus nonsensical, the credit characteristics of all input securities should be identical. Typically, we will need to distinguish between sovereign yield curves, and interbank yield curves. The standard approach when calibrating sovereign yield curves is to make use of government bonds and T-bills. As such, these curves (considered to be a proxy for risk-free yield curves) are often referred to as bond curves. When calibrating interbank yield curves, the standard approach is to use Negotiable Certificates of Deposit (NCDs), FRAs and swaps. As such, interbank curves are often referred to as swap curves. Figure 2.1 illustrates the basis point spread between the 5-year point on the South African swap and bond curves, from August 2000 to February 2011. It is interesting to note that, although we would always expect the spread to be positive, there are instances where the spread has been negative. The most logical explanation for this phenomenon would be that during these instances, there existed a relative over-supply of South African government bonds, or a relative over-demand for floating for fixed ZAR swaps. 6 CHAPTER 2. BENCHMARK SECURITIES 7 140 120 100 80 60 40 20 0 20 40 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Figure 2.1: Historic spread (%) between the 5-year point on the South African swap and bond curves. 2.2 The South African Money Market The term money market refers to the market for short-term (1 year or less) borrowing and lending. The core of any money market consists of banks borrowing and lending to each other. Typical money market instruments include T-bills, NCDs, commercial paper and bankers acceptances. In this section, we describe the typical inputs used to calibrate the money market section of bonds and swap curves in the South African market. 2.2.1 The Market for Overnight (Call) Deposits A call account is an account where funds deposited are available on demand. Funds that are deposited in a call account are typically referred to as money placed on call. In South Africa, funds placed on call typically earn interest on an overnight basis, but capitalisation only occurs on the last day of each month. An investor leaving his/her money on call from time t0 to time D, where D is the last day of the month in which t0 falls, would thus receive 0) , and r̄ is the arithmetic average of the (1 + r̄α) at time D, where α = (D−t 365 daily overnight rates observed from t0 to D. CHAPTER 2. BENCHMARK SECURITIES 8 As noted by West (2009), one possible method which can be used to model 1 the overnight capitalisation factor, C(t0 , t0 + 365 ), is as follows y 12/365 1 )= 1+ , (2.2.1) 365 12 where y is the quoted overnight call rate. When considering an instrument that actually pays and accrues overnight interest, at a rate y, the overnight capitalisation factor will be modelled as C(t0 , t0 + 1 1 y 365 . C(t0 , t0 + )= 1+ 365 365 (2.2.2) In the absence of an observable overnight capitalisation factor, we would have to rely on an appropriate method of extrapolation, in order to construct the overnight section of the yield curve. 2.2.2 SABOR In South Africa, the South African Benchmark Overnight Rate on deposits (SABOR) is regarded as a benchmark overnight rate. The SABOR replaced the South African Overnight Interbank Average (SAONIA) rate on 28 March 2007. As noted by South African Reserve Bank (2006), the objective with the calculation and publication of the SAONIA rate was to provide a benchmark for rates paid on overnight interbank funding as part of enhancing the transparency and price discovery in the interbank market. In addition, it was intended to be a reliable indicator of liquidity conditions in the overnight market. Despite these intentions, the SAONIA rate suffered from a number of shortcomings, including: 1. It lacked credibility because the information submitted by banks was not verified by the South African Reserve Bank (SARB). 2. It was very volatile. Moreover, this volatility was unrelated to changes in underlying liquidity or market conditions, but rather reflected shifts of weighting among different categories of banks. 3. It did not reflect market conditions and showed little relation to other money-market rates. 4. Because it included only interbank transactions, it captured only a very small portion of the overnight money market. 9 CHAPTER 2. BENCHMARK SECURITIES The SABOR was designed to address these shortcomings. As described in Money Market Liaison Group (2007), the SABOR is calculated as a volumeweighted average of overnight interbank funding at a rate other than the current repo rate of the SARB, and the twenty highest rates paid by banks on their overnight and call deposits, plus a 5% weight for funding through foreign exchange swaps. Figure 2.2 shows the value of the SABOR from inception (15 June 2007) to 28 February 2011. 12 11 10 9 8 7 6 5 8 200 9 200 0 201 1 201 Figure 2.2: Historical values of the SABOR rate (%). 2.2.3 T-Bills and JIBAR In South-Africa, NCDs are typically quoted for 1, 3, 6, 9 and 12-month maturities, whilst T-Bills are typically auctioned for 91, 182, 273, and 364-day maturities. Both securities carry no coupons, and are sold at a discount to par. T-Bills are typically only auctioned once a week, and the secondary market is considered to be illiquid. As such, many practitioners consider South-African T-Bills to be ill-suited yield curve inputs. T-Bills often act as the only guideline as to the rates that investors can receive when depositing money with the South African government, for tenures between 1 day and 12 months. Therefore, the purpose for which the curve is to be used needs to be fully understood before deciding to use or omit such securities. The n-month Johannesburg Interbank Agreed Rate (JIBAR) is calculated as the average mid of the n-month NCD rates quoted by a number (currently 9) 10 CHAPTER 2. BENCHMARK SECURITIES of local and foreign banks. The average is calculated after excluding the two highest and the two lowest mid rates. JIBAR is published for n = 1, 3, 6, 9 and 12. Figure 2.3 shows the values of the 3, 6 and 12-month JIBAR rates from 1 February 1999 to 31 March 2011, as well as the values of the 91, 182, 273 and 364-day T-Bill rates from 13 February 2009 to 11 April 2011. 18 n =3 n =6 n =12 16 14 12 10 8 6 4 2 1 1 5 7 3 9 8 0 0 6 4 200 200 200 200 200 200 200 200 200 200 201 201 (a) Historical n−month JIBAR rates 9.0 n =91 n =182 n =273 n =364 8.5 8.0 7.5 7.0 6.5 6.0 5.5 5.0 2 2 3 3 3 9-0 009-06 009-09 009-1 010-0 010-06 010-09 010-1 011-0 2 2 200 2 2 2 2 2 2 (b) Historical n−day T-Bill rates Figure 2.3: Historical JIBAR and T-Bill rates (%). CHAPTER 2. BENCHMARK SECURITIES 2.3 11 The South African Swap Curve The SABOR is often used as a reference point for the overnight section of the swap curve, whilst the 3-month JIBAR rate is often used as a reference point for the 3-month section of the curve. The 6, 9 and 12-month JIBARs can be used for constructing the 6, 9 and 12-month sections of the swap curve, however, the 3 × 6, 6 × 9, and 9 × 12 month FRAs are often preferred due to liquidity conditions. The 1 to 2-year section of the swap curve is typically constructed through the use of the 12 × 15, 15 × 18, 18 × 21, and the 21 × 24 month FRAs. The remainder of the swap curve is typically constructed through the use of vanilla interest rate swaps, with maturities ranging from 2-years to 30-years. Internationally, Eurodollar Futures (short term futures referencing the three month London Interbank Offer Rate (LIBOR)) are often the most liquid interbank securities, for maturities between 3-months and 5-years. As such, Eurodollar futures are often used to calibrate the 3-month to 5-year section of the swap curve. In South Africa, the JIBAR equivalent of the Eurodollar future, namely the JIBAR future has recently been introduced to the market. In time, these instruments might become the benchmark instruments to use for constructing the 3-month to 5-year section of the swap curve. Note that when constructing a yield curve, one cannot use two or more securities with the same maturity date; for example, we cannot use the 21 × 24 month FRA, and the 2-year swap as yield curve inputs. Typically, when considering two instruments with the same maturity date, one should use the instrument that displays the greatest liquidity. 2.4 The South African Bond Curve In South Africa, there is typically a lack of transparency in the overnight section of the bond curve, and as such, the SABOR is often used to anchor the overnight section of the bond curve. Intuitively, we would expect very little credit to be embedded in an overnight rate, therefore, we will typically not add/subtract any credit spread from the SABOR, when using this rate to anchor the overnight section of the bond curve. The 91; 182; 273 and 364-day T-Bill rates are often used to anchor the 3; 6; 9 and 12-month sections of the bond curve. As noted earlier, the use of South African T-Bills for the purpose of constructing the bond curve poses a number of concerns. If for whatever reason we deem these instruments to be ill-suited inputs to the bond curve, we can model the 3-month to 1-year section by adding/subtracting an appropriate spread from the swap curve. CHAPTER 2. BENCHMARK SECURITIES 12 The 1 to 30-year section of the bond curve is typically constructed through the use of South African government bonds. More specifically, in order to reduce the effect of any liquidity premiums, we typically only consider bonds that are constituents of the GOVI index. The GOVI index is an index that measures the performance of the 10 (at most) most liquid South African government bonds, and only bonds with more than one year to maturity are eligible for GOVI constituency. As such, by only considering GOVI bonds, we avoid any potential maturity conflicts between bonds and money market inputs. Figure 2.4 shows historic South African swap and bond curve surfaces. These surfaces were obtained by considering quarterly data of the BEASSA zero curves, from September 2000 to June 2011. The methodology behind the BEASSA zero curves is described in Section 3.1.4. CHAPTER 2. BENCHMARK SECURITIES 13 (a) Bond curve surface (b) Swap curve surface Figure 2.4: Historic South African swap and bond curve surfaces (%), for maturities ranging from 1 day to 30 years, from September 2000 to June 2011. Chapter 3 Literature Review In this chapter we survey available literature in the field of yield curves construction. We survey a number of parametric models, as well as a number of spline-based models and highlight the strengths and weaknesses of each model. As mentioned earlier, under parametric models, the entire yield curve is explained through a single parametric function, with the parameters typically estimated through the use of some least-squares regression technique. On the other hand, under spline-based models, the yield curve is made up of piecewise polynomials, where the individual segments are joined together continuously at specific points in time (called knot points). 3.1 Spline-Based Models Spline-based yield curve models typically involve minimising the following function min h(t) X N i=1 (Pi − P̂i ) , 2 (3.1.1) where N is the number of securities used as inputs to the model, Pi are the observed security prices, and h(t) is the chosen method of interpolation (the spline function) used to compute the fitted security prices P̂i . As noted by Bliss (1997), h(t) may be defined in terms of the spot rate function, the discount function, or the forward rate function. This section surveys various methodologies that have been proposed for estimating h(t). “Polynomials are wonderful even after they are cut into pieces, but the cutting must be done with care. One way of doing the cutting leads to so-called spline functions.” I.J. Schoenberg. 14 15 CHAPTER 3. LITERATURE REVIEW 3.1.1 Mcculnosh (1975) Mcculnosh (1971) was the first to introduce the use of a quadratic polynomial to estimate the discount function, however, Mcculnosh (1975) realised that modelling the discount function in this fashion produces an instantaneous forward rate curve that “knuckles”. Mcculnosh (1975) overcame the “knuckle” shape by introducing a cubic spline. Under the Mcculnosh (1975) model, the discount function is modelled through the use of a set of cubic polynomials, constrained to be continuous and smooth around each knot point. If t1 , t2 , ..., tk is the pre-defined set of knot points, and Z(t1 ), Z(t2 ), ..., Z(tk ) the corresponding set of discount factors (to be estimated through regression), then under the Mcculnosh (1975) model, the discount function Z(t), is modelled as Z(t) = 1 + β1 + β2 (t − ti ) + β3 (t − ti )2 + β4 (t − ti )3 , (3.1.2) for ti ≤ t ≤ ti+1 , and i = 1, 2, ..., n, where β1 , β2 , β3 and β4 are parameters to be estimated. As noted by Zangari (1997), Shea (1984) estimates these parameters by restricted least squares (RLS). Objections to modelling the discount function in this fashion include: 1. Modelling the discount function through the use of polynomial splines leads to unstable forward rates (see Vasicek and Fong (1982)). 2. There is no sensible way to extrapolate a cubic discount function beyond the longest maturity observed, or before the earliest maturity observed (see Mcculnosh and Kochin (2000)). 3.1.2 Vasicek and Fong (1982) Vasicek and Fong (1982) note that discount functions are principally exponential decays, and since polynomials do not have the same curvature as do exponentials, a polynomial spline function will tend to weave around an exponential discount function. These authors propose to estimate the discount function with exponential splines instead of polynomial splines. They define the variable x = 1 − e−αt , where α is some constant. Z(t) can therefore be defined as the transformation G, where 1 G(x) = D − log(1 − x) α = Z(t). (3.1.3) 16 CHAPTER 3. LITERATURE REVIEW G(x) can then be estimated through polynomial splines in x. Vasicek and Fong (1982) define gi (x) : 0 ≤ x ≤ 1,for i = 1, 2, ..., m, as a set of m polynomial functions that span all polynomials in the linear (G, x)-space. Thus, the functions G and Z have representations as linear combinations of the g-basis functions, such that G(x) = m X βi gi (x). (3.1.4) i=1 Shea (1985) notes that although equation (3.1.4) is linear in the spline parameters (the β 0 s), the g-basis functions are non-linear in α. Estimation of the Vasicek and Fong (1982) parameters therefore cannot avoid the use of nonlinear routines. Shea (1985) further notes that the Vasicek and Fong (1982) model is just as capable of modelling the term structure as are ordinary polynomial splines, but it brings no practical advantage to the modelling task. Furthermore, Shea (1985) finds that the resulting term structure estimates are likely to look very much similar to those from a polynomial spline, and suggests ordinary spline techniques to be used in preference to exponential splines. 3.1.3 Fisher et al. (1995) In order to address the oscillating forward rate curve associated with the method of Mcculnosh (1975), Fisher et al. (1995) fit a cubic spline so as to minimise the following function min h(t) X N i=1 2 (Pi − P̂i ) + λ Z tmax h (t) dt , 00 2 (3.1.5) 0 where tmax denotes the maximum observed maturity date. For calibrating their model, Fisher et al. (1995) recommend modelling h(t) as the forward rate function, and suggest the use of cubic B-splines. The function Z λ tmax h00 (t)2 dt, (3.1.6) 0 is a smoothness penalty, where the parameter λ controls the trade-off between smoothness and goodness of fit, and it is itself selected as part of the estimation process. Note, λ has been refined in the variable roughness penalty (VRP) model of Waggoner (1997), and also by Anderson and Sleath (2001). 17 CHAPTER 3. LITERATURE REVIEW Waggoner (1997) suggests that the variable λ should be a function of time, and models λ(t) as follows: 0.1 100 λ(t) = 100, 000 0≤t≤1 1 ≤ t ≤ 10 t ≥ 10. This decision for λ(t) corresponds to the difference between bills, notes, and bonds. Waggoner (1997) notes that for both in-sample and out-sample tests, the use of a roughness penalty which varies across time improved the ability of the method of Fisher et al. (1995) to price short term securities. Tangaard (1997) and Andersen (2007) suggest modelling h(t) as the discount function, and suggest the use of hyperbolic tension splines. As noted by Andersen (2007), the hyperbolic tension spline can be considered the result of adding a pulling force (tension) to each end point of a cubic spline; as the force is increased, excess convexity and extraneous inflection points are gradually reduced until the curve eventually approaches a linear spline. An obvious objection to these types of smoothing splines, is that they further reduce model accuracy by imposing a trade-off between smoothness and accuracy. Furthermore, these methods require exhausting computational effort. Steeley (2008) notes that results in Anderson and Sleath (2001), and the comparative studies of Ioannides (2003) and Waggoner (1997), question the extra effort expended to estimate the yield curve through the use of such splines. 3.1.4 Quant Financial Research (2003) Define C as the m × n matrix where C(i, j) represents the cash flow of the i’th input security at time tj . The set of m input securities is thus associated with n distinct cash flow dates. The objective is to establish a vector of discount factors Z, such that CZ = 0. (3.1.7) Quant Financial Research (2003) notes that Z cannot be solved in the conventional sense, because typically, n > m. However, singular value decomposition can be performed on C. This expresses C as 0 C = UW V , where 0 0 U U = V V = 1. (3.1.8) (3.1.9) CHAPTER 3. LITERATURE REVIEW 18 Note, W is a diagonal matrix, where each diagonal element is greater than or equal to zero, however, only m of the diagonal elements will be greater than zero. The n × (n − m) matrix B is then formed by taking those columns of V for which the corresponding element of W is zero. B is then a basis for the null space defined by equation (3.1.7). If X is any (n − m) × 1 vector, then its corresponding discount factor, Dx, is defined as Dx = BX. (3.1.10) Dx will satisfy equation (3.1.7). Quant Financial Research (2003) then applies a multivariate optimisation routine in order to establish the vector X, which minimises a particular smoothness penalty function. A complete yield curve is then obtained by applying an appropriate interpolation algorithm to Dx and T , where T is the set of cash flow dates associated with Dx. For this purpose, Quant Financial Research (2003) suggests the use of quartic splines, described in Adams (2001), and Adams and van Deventer (1994). The biggest objection to the approach proposed by Quant Financial Research (2003) is that the interpolation method relies on a complex optimisation routine, and the resulting forward rate curves often display a multitude of turning points. 3.1.5 Hagan and West (2006) Under all of the spline-based models that have been considered thus far, the objective function (3.1.1) is solved through the use of multivariate optimisation routines. Such routines are often complex, and the probability of obtaining local optima is high. Thus, the yield curves resulting from these models, almost always display pricing errors. Researchers often undermine this weakness by attributing model inaccuracies to factors such as bid offer spreads, liquidity premiums and transaction costs. Fama and Bliss (1987) were the first to publish an implementation on a model capable of pricing back all of its inputs exactly. These authors proposed a recursive method of forward rate extraction, whereby the discount rate function is extended each step, by computing the forward rate necessary to price securities with successively longer maturities, given the discount rate function fitted to the previously included issues. This method has become known as the bootstrap method. CHAPTER 3. LITERATURE REVIEW 19 In order to perform the bootstrap described by Fama and Bliss (1987), one would typically require a set of securities, where each payment date coincides with the maturity date of one of the securities in the sample. Hagan and West (2006) describe a generalisation of this bootstrap, and postulate the following iterative technique for constructing the yield curve: Inputs: n input securities maturing at times t1 < t2 < ... < tn . 1. Estimate r(t1 ), r(t2 ), ..., r(tn ).1 2. Interpolate between r(t1 ), r(t2 ), ..., r(tn ) to estimate the spot rates corresponding to each cash flow date of each input instrument. 3. Depending on the type of input instruments (i.e. bonds, swaps, FRAs or futures), use equations (A.3.10), (A.4.7) or (A.5.1) in order to obtain new estimates for r(t1 ), r(t2 ), ..., r(tn ). 4. Repeat steps (2) and (3) until convergence is obtained. Less general versions of this bootstrap are described in Smit (2000), and Daeves and Parlar (2000). This bootstrap will converge to a set of zero coupon spot rates, r(t1 ), r(t2 ), ..., r(tn ), which, combined with the method of interpolation used in step (2), defines a yield curve. The only difficulties associated with this are thus deciding on a set of benchmark securities, and an appropriate method of interpolation. The above-mentioned bootstrap will produce a yield curve capable of pricing back all input securities exactly, a feat that is extremely unlikely to be achieved by any of the spline-based models considered earlier. Furthermore, the bootstrap can incorporate most of the methods of interpolation proposed by other spline-based methods. For the remainder of this paper, this is the only spline-based method that we will consider. 3.2 Parametric Models Yield curves returned by spline-based methods often display undesirable economic properties. Typically these undesirable properties are observed in the forward rate curve. Researchers have attempted to address this issue by constructing yield curves through a single parametric function. 1 Recall that r(t) is used as short hand for r(0, t). 20 CHAPTER 3. LITERATURE REVIEW 3.2.1 Nelson and Siegel (1987) Nelson and Siegel (1987) suggested the following parametric form for the forward rate curve β2 t −t/λ e , (3.2.1) λ where λ > 0. The model consists of four parameters: β0 , β1 , β2 and λ. As noted by Annaert et al. (2010), equation (3.2.1) consists of three parts: a constant, an exponential decay function and a Laguerre function. f (t) = β0 + β1 e−t/λ + Gilli et al. (2010) note that β0 is independent of t, and as such, β0 is often interpreted as the level of long term interest rates. The exponential decay function approaches zero as t tends to infinity, and β1 as t tends to zero. The effect of β1 is thus only felt at the short end of the curve. The Laguerre function on the other hand approaches zero as t tends to infinity, and as t tends to zero. The effect of β2 is thus only felt in the middle section of the curve, which implies that β2 adds a hump to the yield curve. The spot rate function under the model of Nelson and Siegel (1987) is as follows β2 λ β1 λ −t/λ −t/λ 1−e 1−e + − β2 e−t/λ . (3.2.2) r(t) = β0 + t t From equations (3.2.2) and (3.2.1) it follows that both the spot and forward rate function reduce to β0 + β1 , as t → 0. Furthermore, we have that lim r(t) = lim f (t) = β0 . Thus, in the absence of arbitrage we must have that t→∞ t→∞ β0 > 0, and β0 + β1 > 0. Suppose we observe n zero coupon bonds, expiring at times t1 , t2 , ..., tn . Let p1 , p2 , ..., pn denote the prices of these bonds. Note that pi will imply the spot rate of interest corresponding to time ti , for i = 1, 2, ..., n. Let r1 , r2 , ..., rn denote these spot rates. If we assume that the value of λ is known, then the Nelson and Siegel (1987) model reduces to a linear model, which can be solved using linear regression. Define: 1 1 X= .. . 1 λ(1−e−t1 /λ ) t1 λ(1−e−t2 /λ ) t2 .. . λ(1−e−tn /λ ) tn λ(1−e−t1 /λ ) t1 λ(1−e−t2 /λ ) t2 − e−t1 /λ r1 β0 r2 − e−t2 /λ ,Y = .. , B = β1 . .. . . β2 λ(1−e−tn /λ ) r −tn /λ n −e tn CHAPTER 3. LITERATURE REVIEW 21 We would like to obtain a vector B satisfying XB = Y + . By using ordinary least squares (OLS) estimation, we can solve B as follows B = (X 0 X)−1 X 0 Y. (3.2.3) Nelson and Siegel (1987) suggested the following procedure for calibrating their model: 1. Identify a set of possible values for λ. 2. For each of these λ’s, estimate B. 3. For each of these λ’s and their corresponding B’s, estimate Pn (ri − r̂i ) 2 . R = 1 − Pni=1 i=1 (ri − r̄i ) 4. The optimal λ and B are those associated with the highest value of R2 . The above method of calibration has become known as the grid-search method. Alternatively, non-linear optimisation techniques can be used to solve all four parameters simultaneously. However, Ferguson and Raymar (1998), and Cairns and Pritchard (2001) note that such methods are very sensitive to starting values, implying a high probability of obtaining local optima. When calibrating the Nelson and Siegel (1987) model directly to the prices of coupon paying securities, non-linear optimisation techniques are inescapable, again implying a high probability of obtaining local optima. Annaert et al. (2010) note that the estimated parameters obtained by using the grid-search method behave erratically over time, and have large variances. These problems result from multicollinearity issues, i.e. high correlation between the model parameters. Furthermore, this multicollinearity depends on the time to maturity of the securities used to calibrate the model. Diebold and Li (2006), Fabozzi et al. (2005) and de Pooter (2007) attempt to address the multi-collinearity problem by fixing the value of λ over time, whilst Annaert et al. (2010) address the problem by using a ridge regression approach. 22 CHAPTER 3. LITERATURE REVIEW 3.2.2 Svensson (1992) Svensson (1992) extended the Nelson and Siegel (1987) model by adding a second hump term. Under the Svensson (1992) model, the instantaneous forward rate is modelled as follows f (t) = β0 + β1 e−t/λ1 + β2 t −t/λ1 β3 t −t/λ2 + , e e λ1 λ2 (3.2.4) where λ1 , λ2 > 0. The Svensson (1992) model thus consists of four parts: a constant, an exponential decay function and two Laguerre functions. The interpretation of the first three parts are exactly the same as for the Nelson and Siegel (1987) model. The second Laguerre function approaches zero as t tends to infinity and as t tends to zero. The effect of β3 is thus only felt in the middle section of the curve, which implies that β3 adds a second hump to the yield curve. The spot rate function under the Svensson (1992) model is as follows r(t) = β0 + + β1 λ β2 λ1 (1 − e−t/λ1 ) + (1 − e−t/λ1 ) − β2 e−t/λ1 t t β3 λ2 (1 − e−t/λ2 ) − β3 e−t/λ2 . t (3.2.5) From equations (3.2.4) and (3.2.5) it follows that both the spot and forward rate function reduce to β0 + β1 , as t → 0, exactly the same as for the Nelson and Siegel (1987) model. Furthermore, lim r(t) = lim f (t) = β0 , again, ext→∞ t→∞ actly the same as for the Nelson and Siegel (1987) model. In order to prevent possible arbitrage opportunities, we again impose the constraints β0 > 0, and β0 + β1 > 0. The same procedure used to calibrate the Nelson and Siegel (1987) model can be used to calibrate the Svensson (1992) model, i.e. we can linearise the model by fixing the values of λ1 and λ2 . We can then estimate the values of β0 , β1 , β2 , β3 using OLS estimation, from where we can calculate R2 . Finally, we can use a multivariate optimisation routine to find the values of λ1 and λ2 that minimizes 1 − R2 . The biggest advantage that the Svensson (1992) model has over the Nelson and Siegel (1987) model, is that the Svensson (1992) model is capable of producing two yield curve humps. In practice, two yield curve humps are uncommon, but are certainly observed from time to time. We would thus expect the Svensson (1992) model to be the more appropriate model to apply in practice. The fit of both the Nelson and Siegel (1987) and Svensson (1992) models are, however, considered to be too loose for mark-to-market purposes. CHAPTER 3. LITERATURE REVIEW 3.3 23 Remarks In this chapter we surveyed a number of spline-based yield curve models, and found that the bootstrap described by Hagan and West (2006) was the ideal model for further investigation. In particular, the method of interpolation to be used in conjunction with the bootstrap deserves special attention. Much of the remainder of this paper will be devoted to finding suitable methods for interpolating yield curve data. We also surveyed the parametric models suggested by Nelson and Siegel (1987) and Svensson (1992). The Bank for International Settlements (2005) notes that parametric methods, particularly the model of Svensson (1992) are very popular amongst central banks. Central banks typically do not require yield curves that prices back all inputs exactly, when determining monetary policy. In Chapter 7 we show how parametric models can be seen as a technique for “smoothing" bootstrapped yield curves. Chapter 4 Traditional Methods of Interpolation Interpolation is a method of constructing new data points within the range of a discrete set of known data points (called knot points). A rich variety of interpolation methods have been brought forth by physics applications. In this chapter we will survey a variety of these “traditional” methods, and assess their suitability for interpolating yield curve data. A method for interpolating yield curve data will take as inputs: a set of times t1 < t2 ... < tn , and a set of corresponding zero-coupon spot rates r1 < r2 ... < rn , and return a piecewise continuous function; the interpolation function r(t)1 , that allows us to find the zero coupon spot rate that corresponds to any point in time t, where t1 ≤ t ≤ tn . An interpolation function must: 1. Reproduce the input set of spot rates, i.e. we must have that r(ti ) = ri , for 1 = 1, 2, ...., n. 2. Produce a piecewise continuous spot rate function, i.e. we must have that lim r(ti + δ) = lim r(ti − δ), for 1 = 1, 2, ...., n. δ→0 δ→0 Ideally we would like to obtain an interpolation function which satisfies the above-mentioned constraints, and which produces a forward rate curve that is both positive and continuous. Negative forward rates imply arbitrage opportunities (see Appendix A.2, and note that negative forward rates are synonymous with non-decreasing discount factors), whilst discontinuous forward rates make little sense from an economic point of view (except if the jumps occur on or around meetings of monetary authorities). 1 The interpolation function can also be defined in terms of f (t), or Z(t), or any transformation thereof. 24 25 CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 4.1 Linear Interpolation The simplest method of interpolating between two points is by simply connecting them through a straight line. The function value between these points can then be estimated by simply reading off this line. In this section, we investigate the merits of applying linear interpolation to various yield curve functions (see Appendix 4 for a description of how the functions r(t), f (t) and Z(t) are related). 4.1.1 Linear Interpolation on r(t) When applying linear interpolation directly to the spot rate function, the value of r(t), for ti ≤ t ≤ ti+1 is modelled as r(t) = ai + bi t. (4.1.1) By imposing the constraints that r(ti ) = ri , and r(ti+1 ) = ri+1 , we can easily solve for ai and bi to obtain r(t) = ri t − ti ti+1 − t + ri+1 . ti+1 − ti ti+1 − ti The instantaneous forward rate f (t), defined as d r(t)t, dt f (t) = ai + 2bi t, (4.1.2) is then given by (4.1.3) for ti ≤ t ≤ ti+1 . Let fi denote the value of f (t) at ti , and define fi+ and fi− as the values of lim f (ti + δ) and lim f (ti − δ) respectively. From equation (4.1.3) δ→0 δ→0 it follows that fi+ = ai + 2bi ti , (4.1.4) fi− = ai−1 + 2bi−1 ti . (4.1.5) whilst Equations (4.1.4) and (4.1.5) imply that f (t) is sure to have a discontinuity at ti , unless ai − ai−1 = 2ti (bi−1 − bi ). (4.1.6) Furthermore, f (t) will be negative if 1 ri+1 ti − ri ti+1 ri − ri+1 < . ti+1 − ti 2t (ti+1 − ti ) Applying linear interpolation to the spot rate function thus suffers from two distinct drawbacks: the forward curve is likely to have discontinuities, and the method is not necessarily arbitrage free. CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 4.1.2 26 Linear Interpolation on r(t)t This method, referred to as “Raw ” interpolation by Hagan and West (2006), involves applying linear interpolation to the negative log discount factors. Interpolating in this fashion preserves the geometry of the discount factors, implying that positive can be guaranteed in forward rate curve (provided the input set of discount factors are strictly decreasing). The negative log discount factors, i.e. r(t)t is modelled as r(t)t = ai + bi t, (4.1.7) for ti ≤ t ≤ ti+1 . By imposing the constraints that r(ti )ti = ri ti , and r(ti+1 )ti+1 = ri+1 ti+1 , we can easily solve for ai and bi to obtain ti ti+1 (ri − ri+1 ) ti+1 − ti ri+1 ti+1 − ri ti = . ti+1 − ti ai = (4.1.8) bi (4.1.9) From equation (4.1.7) it follows that f (t) is given by f (t) = bi , (4.1.10) for ti ≤ t ≤ ti+1 , implying that f (t) will have a discontinuity at ti , unless bi−1 = bi . It is trivial to see why this method is often referred to as “flat forward ” interpolation. 4.1.3 Linear Interpolation on C(t) Applying linear interpolation to the capitalisation factors ensures that the geometry of the input set capitalisation factors is preserved, which implies that the geometry of the input set of discount factors is preserved. Thus, like linear interpolation on r(t)t, linear interpolation on C(t) is capable of ensuring positive forward rates. The capitalisation factor, C(t), is modelled as C(t) = ai + bi t, (4.1.11) for ti ≤ t ≤ ti+1 . By imposing the constraints that C(ti ) = eri ti , and that C(ti+1 ) = eri+1 ti+1 , we can easily solve for ai and bi to obtain eri+1 ti+1 − eri ti ti+1 − ti ri ti e ti+1 − eri+1 ti+1 ti = . ti+1 − ti ai = (4.1.12) bi (4.1.13) CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 27 From equations (A.1.1) and (4.1.11) it follows that r(t)t = ln ai + bi t , (4.1.14) implying that bi , (4.1.15) ai + b i t for ti ≤ t ≤ ti+1 . Note that f (t) will have a discontinuity at ti , unless f (t) = bi−1 bi = . ai−1 + bi−1 ti ai + bi ti 4.1.4 Linear Interpolation on log(r(t)) Linear interpolation can be applied to the log of the zero coupon spot rates, i.e. log(r(t)) can be modelled as log(r(t)) = ai + bi t, (4.1.16) for ti ≤ t ≤ ti+1 . By imposing the constraints that log(r(ti )) = log(ri ), and that log(r(ti+1 )) = log(ri+1 ), we can easily solve for ai and bi to obtain log(ri )ti+1 − log(ri+1 )ti ti+1 − ti log(ri+1 ) − log(ri ) = . ti+1 − ti ai = (4.1.17) bi (4.1.18) From equation (4.1.16) it follows that r(t) is given by r(t) = eai +bi t , (4.1.19) f (t) = eai +bi ti + bi teai +bi ti = ri (1 + bi t), (4.1.20) implying that for ti ≤ t ≤ ti+1 . Note that f (t) will have a discontinuity at ti , unless eai−1 +bi−1 ti (1 + bi−1 ti ) = eai +bi ti (1 + bi ti ). Equation (4.1.19) implies that it is impossible to obtain negative spot rates under this particular method, making linear interpolation on logr(t) ill-suited for interpolating real interest rate. Furthermore, f (t) will be negative if log(ri ) − log(ri+1 ) > ti+1 − ti , ti implying that linear interpolation on log(r(t)) is not necessarily arbitrage free. CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 28 Hagan and West (2006) use the curve given in Table 4.1 to illustrate the inadequacies of various methods of interpolation. This curve will be used throughout this dissertation for the same purpose. Note that for this particular curve, the set of discount factors are strictly decreasing, implying that the input set of rates is arbitrage free. When interpolating this curve, we should obtain an interpolation function that is still arbitrage free. ti 0.1 1 4 9 20 30 ri (%) 8.1 7 4.4 7 4 3 Zi 0.922193691 0.496585304 0.172044864 0.001836305 0.000335463 0.00012341 Table 4.1: Example used by Hagan and West (2006) to illustrate the inadequacies of various methods of interpolation. Figure 4.1 shows the instantaneous forward rate curves associated each of the variations of linear interpolation that were considered in this chapter, when applied to the rates in Table 4.1. As expected, all four methods exhibit discontinuities at the knot points. Furthermore, the curves produced by linear interpolation on r(t), and linear interpolation on log(r(t)) are negative between the 8 to 10 year region. 29 CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 10 10 8 8 6 6 f(t) f(t) 4 4 2 2 0 0 2 40 5 10 15 t 20 25 20 30 (a) Linear on r(t) 5 10 15 t 20 25 30 25 30 (b) Linear on log(r(t)) 9 12 8 10 7 8 6 f(t) f(t) 5 6 4 3 4 2 2 1 00 5 10 15 t 20 25 30 (c) Linear on C(t) 00 5 10 15 t 20 (d) Linear on r(t)t Figure 4.1: Forward curves (%) obtained by applying several variations of linear interpolation to the rates in Table 4.1. 4.2 Cubic Interpolation The cubic interpolation function is defined as follows r(t) = ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , (4.2.1) for ti ≤ t ≤ ti+1 . Sticking to the notation of Hagan and West (2006), define hi := ti+1 − ti , and mi := (ai+1 − ai )/hi . The interpolation function is typically required to satisfy the following conditions: 1. The interpolation function should return all input zero coupon spot rates. 2. The interpolation function should be continuous. 3. It is typically required that the interpolation function be differentiable. CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 30 Condition (1) be met by requiring that ai = ri , (4.2.2) an−1 + bn−1 hn−1 + cn−1 h2n−1 + dn−1 h3n−1 = rn := an . (4.2.3) for i = 1, 2, ..., n − 1, and that Condition (2), i.e. continuity in the spot rate function can be achieved by requiring that r(ti )+ = r(ti )− , for i = 2, 3, ..., n − 1, i.e. by requiring that ai + bi hi + ci h2i + di h3i = ai+1 , (4.2.4) for i = 1, 2, ..., n − 2. Condition (3) implies continuity in r0 (t), which can be achieved by requiring that r0 (ti )+ = r0 (ti )− , for i = 2, 3, ..., n − 1, i.e. by requiring that bi + 2ci hi + 3di h2i = bi+1 , (4.2.5) for 1 = 1, 2, ..., n − 2. Note that the set of equations (4.2.3), (4.2.4), (4.2.5) and (4.2.6) form a system of 3n − 4 equations in 4n − 4 unknowns. An extra n constraints are thus necessary before the system can be solved. Hagan and West (2006) define bn = bn−1 + 2cn−1 hn−1 + 3dn−1 h2n−1 , (4.2.6) and note that if the values of bi are known, for i = 1, 2, .., n, then the values of ci and di can easily be obtained. Equations (4.2.3), and (4.2.4) imply that di = mi − bi − ci hi , h2i (4.2.7) for i = 1, 2, ..., n − 1. Similarly, equations (4.2.5), (4.2.6) and (4.2.7) imply that 3mi − bi+1 − 2bi hi bi+1 + bi − 2mi , = h2i ci = ⇒ di for i = 1, 2, ..., n − 1. (4.2.8) (4.2.9) CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 4.2.1 31 Natural Cubic Splines The so-called natural boundary conditions are as follows: 1. The spot rate function is required to be smooth, i.e. twice differentiable. This can be achieved by requiring that r00 (ti )+ = r00 (ti )− , for i = 2, 3, ..., n − 1, i.e. by requiring that ci + 3di hi = ci+1 (4.2.10) for i = 1, 2, . . . n − 2. 2. The values r00 (t1 ) and r00 (tn ) are both set equal to zero, i.e. we require c1 + 3d1 h1 cn−1 + 3dn−1 hn−1 = 0. (4.2.11) Equations (4.2.3), (4.2.4), (4.2.5), (4.2.6), (4.2.10) and (4.2.11) define a system of 4n − 4 equations in 4n − 4 unknowns. Burden and Faires (2005) apply the Crout Factorization Algorithm for Tridiagonal Linear Systems to the resulting system of equations in order to derive the following solution algorithm: Input: t1 , ..., tn ; r1 , ..., rn , a1 = r1 , ..., an = rn . Output: ai , bi , ci , di for i = 1, ..., n − 1. 1. for i = 1, 2, ..., n − 1 set αi = 3 3 (ai+1 − ai ) − (ai − ai−1 ). hi hi−1 2. set l1 = 1, µ1 = 0, z1 = 0. 3. for i = 2, 3, ...., n − 1 set li = 2(ti+1 − ti−1 ) − hi−1 µi−1 , µi = hi /li , zi = (αi − hi−1 zi−1 )/li . 4. Set ln = 1, zn = 0, cn = 0. 5. for i = n − 1, n − 2, ..., 1 set ci = zi − µi ci+1 , bi = (ai+1 − ai )/hi − hi (ci+1 + 2ci )/3, di = (ci+1 − ci )/(3hi ). CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 32 The asymptotic properties of a cubic spline applied to the spot rate function are undesirable from an economic point of view. Typically, we will rely on flat extrapolation of r(t), i.e. we will set r(t) = r1 , for t < t1 , and r(t) = rn , for t > tn . Consider f (tn ), equation (A.1.7) implies that f (tn )+ = rn , whilst from equation (4.2.1) we have that f (tn )− = rn + tn bn−1 + 2cn−1 hn−1 + 3dn−1 h2n−1 . It follows that f (t) will have a discontinuity at tn , unless bi + 2ci hi + 3di h2i = 0. Similarly, f (t1 )− = r1 , (4.2.12) whilst f (t1 )+ = r1 + t1 b1 . It follows that f (t) will have a discontinuity at t1 , unless b1 = 0. In an attempt to remedy these discontinuities, researchers often fit natural cubic splines to the r(t)t function. Under such circumstances, the interpolation function is defined as r(t)t = ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 . (4.2.13) Under this approach researchers typically employ flat extrapolation of the forward rate, and set f (t) = f1 , for t < t1 , and f (t) = fn , when t > tn . Note, equation (4.2.13) implies that r(t1 )+ = r1 , whilst equation (A.1.8) implies that r(t1 )− = f1 . It follows that r(t) will have a discontinuity at t1 , unless r1 = f1 . From equation (A.1.7) it follows that r(t) = rn tn + (tn − t)fn , t for t > tn , i.e. r(tn )+ = r(tn )− = rn . A natural cubic spline on r(t)t is thus capable of avoiding discontinuities at tn , however, the spot rate function is likely to display a discontinuity at t1 . Neither a natural cubic spline on r(t), nor a natural cubic spline on r(t)t is capable of ensuring a positive forward rate curve. Figure 4.2 shows the forward rate curves obtained under both of these methods, when applied to the rates in Table 4.1. 33 CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 4.2.2 Cubic Hermite Interpolation The assumption underlying cubic Hermite interpolation is that the value of the derivatives (with respect to time) are known at the knot points, let ri0 denote the value of these derivatives, for i = 1, 2, ..., n. The interpolation function is then constructed such that r0 (ti ) = ri0 , for i = 1, 2, ...., n. Note, the coefficients ai , ci and di can be solved as before, whilst bi = ri0 , (4.2.14) for i = 1, 2, ..., n. In practice, we will rarely be able to observe the values of ri0 , and will typically have to rely on some sort of estimation method. Several methods are possible, Hagan and West (2006) note one such method where ri0 is estimated using a standard three point difference formula. This method is what de Boor (1978, 2001) refers to as the “Bessel ” method. Under the Bessel method, ri0 is estimated as the slope at ti , of the quadratic that passes through (ti−1 , ri−1 ), (ti , ri ) and (ti+1 , ri+1 ), for i = 2, 3, ..., n − 1. The end derivative r10 is estimated as the slope at t1 , of the quadratic that passes through (t1 , r1 ), (t2 , r2 ) and (t3 , r3 ), whilst rn0 is estimated as the slope at tn , of the quadratic that passes through (tn−2 , rn−2 ), (tn−1 , rn−1 ) and (tn , rn ). We thus have that ri0 h (t + t )(r − r ) (t − t )(r − r ) i 1 i i−1 i+1 i i+1 i i i−1 − , = ti+1 − ti−1 ti − ti−1 ti+1 − ti for i = 2, 3, ..., n − 1, whilst 1 h (t3 + t2 − 2t1 )(r2 − r1 ) (t2 − t1 )(r3 − r2 ) i 0 − , r1 = t3 − t1 t2 − t1 t3 − t2 and rn0 = h (t − t )(r 1 (2tn − tn−1 − tn−2 )(rn − rn−1 ) i n n−1 n−1 − rn−2 ) . − tn − tn−2 tn−1 − tn−2 tn − tn−1 As with natural cubic splines, extrapolation is performed by assuming that r(t) = r1 , when t < t1 , and that r(t) = rn , when t > tn . Again, discontinuities in f (t), at t1 and tn are extremely likely. The “Bessel ” method can also be applied to the r(t)t function. Here we assume that the values of the derivatives of r(t), i.e. the values of f (t), are known at the knot points. Figure 4.2 shows the forward rate curves obtained by applying the “Bessel ” on r(t), and the “Bessel ” on r(t)t methods, to the rates in Table 4.1. Clearly, neither of these methods are capable of guaranteeing a positive forward rate curve. 34 CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 15 14 12 10 10 8 5 f(t) f(t) 6 0 4 2 0 5 2 10 5 10 15 t 20 25 4 30 5 (a) Natural Cubic on r(t) 10 15 t 20 25 30 25 30 (b) Bessel on r(t) 10 10 8 8 6 6 f(t) 12 f(t) 12 4 4 2 2 0 0 2 5 10 15 t 20 25 30 (c) Natural Cubic on r(t)t 2 5 10 15 t 20 (d) Bessel on r(t)t Figure 4.2: Forward curves (%) obtained by applying several variations of cubic interpolation to the rates in Table 4.1. 4.3 Quartic Interpolation Adams (2001) suggests modelling f (t) as a fourth degree polynomial, see also Adams and van Deventer (1994), and Lim and Xiao (2002). By requiring continuity in f (t), f 0 (t), f 00 (t) and f 000 (t), a system of equations together with a solution algorithm similar to that developed in Section 4.2.1 can be developed to solve the coefficients of the spline. Hagan and West (2006), however, show that such splines can produce forward rate curves that are wildly oscillating. In this section, we consider a variation of the method proposed by Adams (2001), and model r(t)t as a fifth degree polynomial, under the assumption that the values of f dtd r(t)t, i.e. the values of f (t) are known at the knot points. Furthermore, we assume that the values of f 0 (t) are known at the knot points. 35 CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION The quartic interpolation function is then defined as r(t)t = ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 + ei (t − ti )4 + gi (t − ti )5 , (4.3.1) for ti ≤ t ≤ ti+1 . We require the interpolation function to return the values ri ti , fi and fi0 , for i = 1, 2, ..., n. Furthermore, we require continuity in r(t)t, f (t) and f 0 (t). Note, if r(ti )t+ i = ri ti , for i = 1, 2, ..., n − 1, the interpolation function will return the set of inputs, ri ti , for i = 1, 2, ..., n − 1. Continuity in r(t)t can then be achieved by also requiring that r(ti )− = ri ti , for i = 2, 3, ..., n. These requirements imply that ri ti = ai , (4.3.2) ri+1 ti+1 = ai + bi hi + ci h2i + di h3i + eei h4i + ei h5i , (4.3.3) and that for i = 1, 2, ...., n − 1. Similarly, we will require that fi+ = fi , for i = 1, 2, ..., n − 1, and that fi− = fi , for i = 2, 3, ...., n, implying that fi = b i , (4.3.4) fi+1 = bi + 2ci hi + 3di h2i + 4ei h3i + 5gi h4i , (4.3.5) and that for i = 1, 2, ...., n − 1. Also, we will require that (fi0 )+ = fi0 , for i = 1, 2, ..., n − 1, and that (fi0 )− = fi0 , for i = 2, 3, ...., n, implying that fi0 = 2ci , (4.3.6) 0 fi+1 = 2ci + 6di hi + 12ei h2i + 20gi h3i , (4.3.7) and that for i = 1, 2..., n − 1. From equations (4.3.2) to (4.3.7) it then follows that 1 ri+1 ti+1 − ri ti − fi hi − fi0 h2i = di h3i + ei h4i + gi h5i (4.3.8) 2 fi+1 − fi − fi0 hi = 3di h2i + 4ei h3i + 5gi h4i (4.3.9) 3 0 0 2 fi+1 − fi = 6fi hi + 12ei hi + 20gi hi , (4.3.10) for i = 1, 2, ..., n − 1. CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 36 Equations (4.3.8), (4.3.9) and (4.3.10) can simultaneously be solved to obtain 1 di = 10αi − 4βi + θi 2 1 ei = − 15αi + 7βi − θi hi 1 1 gi = 2 6αi − 3βi + θi , hi 2 (4.3.11) (4.3.12) (4.3.13) where 1 1 ri+1 ti+1 − ri ti − fi hi − fi h2i 3 hi 2 1 βi = 2 fi+1 − fi − fi0 hi hi 1 0 θi = fi+1 − fi0 , hi αi = for i = 1, 2, ..., n − 1. As mentioned earlier, the assumption underlying this method is that the values of fi and fi0 are known, for i = 1, 2, ..., n. Typically, we will know these values at the outset, but will rather have to estimate these values by applying the same three point difference formula described in Section 4.2.2. Figure 4.3 shows the forward curve obtained when applying the quartic method developed here, to the rates in Table 4.1. Clearly, this method is also incapable of ensuring a positive forward rate curve. 12 10 8 f(t) 6 4 2 0 2 5 10 15 t 20 25 30 Figure 4.3: Forward curve (%) obtained by applying quartic interpolation to the rates in Table 4.1. CHAPTER 4. TRADITIONAL METHODS OF INTERPOLATION 4.4 37 Remarks In this chapter, we surveyed a number of “traditional” methods of interpolation. We considered several variations of linear and cubic interpolation, as well as a quartic method. Our aim was to assess the suitability of each of these methods, when applied to yield curve data. Each of the methods considered in this chapter were found to be ill-suited for interpolating yield curve data; either in terms of continuity in f (t), or in terms of the monotonicity of Z(t). Chapter 5 Monotone Convex Interpolation Hagan and West (2006) introduced the monotone convex method of interpolation. This was one of the first methods specifically designed to interpolate yield curve data. The merits of a method specifically designed for interpolating yield curve data is justified in light of the fact that none of the so-called “traditional” methods are capable of ensuring a forward curve that is both positive and continuous. In this chapter we will review the method of Hagan and West (2006), and assess whether or not this method displays the same difficulties associated with “traditional” methods. Note that much of this chapter will be a reprise of Hagan and West (2006), and Hagan and West (2008). 5.1 Suitable Forward Rates The monotone convex method is defined on f (t). As such, an initial set of points fi , i = 1, 2, ..., n, is required before interpolation can commence. This immediately poses a concern seeing as one would almost never start off with a set of points on the instantaneous forward rate curve. These rates must thus be estimated. Consider the set of discrete forward rates fid , for i = 1, 2, ..., n, calculated as fid = ri ti − ri−1 ti−1 . ti − ti−1 (5.1.1) The assumption underlying f1d is that t0 = r0 = 0. Hagan and West (2006) then model fi , i = 1, 2, ..., n − 1, as the slope at time ti , of the quadratic that d passes through (ti−j , fi−j ), for j = 1, 0, −1. The instantaneous forward rates at the end points, i.e. f0 and fn are chosen so as to ensure f00 = 0 = fn0 . 38 CHAPTER 5. MONOTONE CONVEX INTERPOLATION 39 The instantaneous forward rates are thus estimated as fi = ti+1 − ti d ti − ti−1 d fi+1 + f , ti+1 − ti−1 ti+1 − ti−1 i (5.1.2) for i = 1, 2, ..., n − 1, whilst 1 f0 = f1d − (f1 − f1d ) 2 1 fn = fnd − (fn−1 − fnd ). 2 5.2 (5.1.3) (5.1.4) The Basic Interpolator The monotone convex method is defined as an interpolation method on f (t), and as such, we would expect the method to return the input set of instantaneous forward rates; fi , for i = 0, 1, ..., n. Furthermore, we require continuity in f (t), which can be obtained by requiring that f (ti )+ = f (ti )− = fi , for i = 1, 2, ..., n − 1, i.e. by requiring that f (ti ) = fi , and f (ti−1 ) = fi−1 , for i = 1, 2, ..., n. The interpolation function is also required to return the input set of zero-coupon spot rates. Note, equation (A.1.9) implies that Z ti r(ti )ti = r(ti−1 )ti−1 + f (τ )dτ ti−1 =⇒ r(ti )ti − r(ti−1 )ti−1 = =⇒ fid Z ti f (τ )dτ ti−1 1 = ti − ti−1 Z ti f (τ )dτ. (5.2.1) ti−1 It follows that if equation (5.2.1) is satisfied, the method will reproduce the input set of zero-coupon spot rates. The monotone convex method is thus constrained to satisfy: 1 ti − ti−1 for i = 1, 2, ..., n. Z f (ti−1 ) = fi−1 f (ti ) = fi (5.2.2) (5.2.3) f (τ )dτ = fid . (5.2.4) ti ti−1 CHAPTER 5. MONOTONE CONVEX INTERPOLATION Hagan and West (2006) then define x(t) = late t−ti−1 , ti −ti−1 40 for ti−1 ≤ t ≤ ti and postu- f (t) = K + Lx(t) + M x(t)2 . (5.2.5) Equation (5.2.5) can be used in conjunction with conditions (5.2.2), (5.2.3) and (5.2.4) to produce the following system of equations fi−1 = K fi = K + L + M Z ti h i 1 2 d K + Lx(s) + M x(s) ds. fi = ti − ti−1 ti−1 (5.2.6) (5.2.7) (5.2.8) Note that equation (5.2.8) can be reformulated as 1 1 L + M = fid − fi−1 , 2 3 (5.2.9) whilst equations (5.2.6), and (5.2.7) imply that L = fi − fi−1 − M. (5.2.10) The system of equations implied by equations (5.2.9) and (5.2.10) are then easily solved to obtain M = 3fi + 3fi−1 − 6fid , (5.2.11) L = −2fi − 4fi−1 + 6fid . (5.2.12) and The instantaneous forward rate f (t), can thus be rewritten as f (t) = 1 − 4x(t) + 3x(t)2 fi−1 + − 2x(t) + 3x(t)2 fi + 6x(t) − 6x(t)2 fid , for ti−1 ≤ t ≤ ti . (5.2.13) 41 CHAPTER 5. MONOTONE CONVEX INTERPOLATION 5.3 Enforcing Monotonicity on f (t) In order to analyse the monotonicity of f (t), Hagan and West (2006) define g(x) = f (t) − fid . (5.3.1) From equations (5.2.13) and (5.3.1) it follows that g(x) = g(0)(1 − 4x + 3x2 ) + g(1)(−2x + 3x2 ), (5.3.2) g 0 (x) = g(0)(−4 + 6x) + g(1)(−2 + 6x). (5.3.3) from where Hagan and West (2006) seek to construct an interpolation function that preserves the geometry of f (t). This implies that if fi−1 < fid < fi , then f (t) should be increasing on [ti−1 , ti ], whilst if fi−1 > fid > fi , then f (t) should be decreasing on [ti−1 , ti ]. These requirements imply that g should be monotone when g(0) and g(1) are not of the same sign. Hagan and West (2006) analyse the monotonicity of g(x) by analysing the behaviour of g 0 (x) at 0 and 1. Furthermore, these authors show that the cases where g 0 (0) = 0 and g 0 (1) = 0 correspond to g(1) = −2g(0) and g(0) = −2g(1) respectively. These two lines can then be seen to divide the g(0)/g(1) plane into eight sectors, as illustrated in Figure 5.1. g(1) g(0) = −2g(1) g(1) = −2g(0) (i) (ii) (iv) (iii) D g(0) (iii) (iv) (ii) (i) A C Figure 5.1: Possibilities for g. B CHAPTER 5. MONOTONE CONVEX INTERPOLATION 42 The eight sectors illustrated in Figure 5.1 are then divided into four groups, labelled (i) to (iv), defined as: (i) {g(0) > 0, − 12 g(0) ≥ g(1) ≥ −2g(1)} or {g(0) < 0, − 12 g(0) ≤ g(1) ≤ −2g(1)}. (ii) {g(0) < 0, g(1) > −2g(0)} or {g(0) > 0, g(1) < −2g(0)}. (iii) {g(0) > 0, 0 > g(1) > − 21 g(0)} or {g(0) < 0, 0 < g(1) < − 12 g(0)} (iv) {g(0) ≥ 0, g(1) ≥ 0} or {g(0) ≤ 0, g(1) ≤ 0}. The monotonicity of g(x) in each of these four groups can then be analysed as follows: Group (i) (ii) (iii) (iv) Monotonicity g(0) and g(1) are of opposite sign whilst g 0 (0) and g 0 (1) are of the same sign; g is thus monotone, as required. g(0) and g(1) are of opposite sign whilst g 0 (0) and g 0 (1) are also of opposite sign; g is thus not monotone. The interpolation function has to be modified for this region. Note, special attention needs to be given to ensure that the formulas for (i) and (ii) agree on the boundary A. g(0) and g(1) are of opposite sign whilst g 0 (0) and g 0 (1) are also of opposite sign; g is not monotone in this region. The interpolation function has to be modified for this region. Note, special attention needs to be given to ensure that the formulas for (i) and (iii) agree on the boundary B. g(0) and g(1) are of the sign; g is not required to be monotone. The only modifications that are necessary are to ensure that the formulas for (iv) and (ii) agree on C, and that those for (iv) and (iii) agree on D. Note that at A, we have that g(1) = −2g(0), and the interpolation function for (i) reduces to g(x) = g(0)(1 − 4x + 3x2 ) − 2g(0)(−2x + 3x2 ) = g(0)(1 − 3x2 ). Similarly at B, we have that g(1) = − 12 g(0), and the interpolation function for (i) reduces to 1 g(x) = g(0)(1 − 4x + 3x2 ) − g(0)(−2x + 3x2 ) 2 3 2 = g(0)(1 − 3x + x ). 2 CHAPTER 5. MONOTONE CONVEX INTERPOLATION 43 The interpolation function can now be defined for (ii) and (iii), where we will ensure that the interpolation function for (ii) reduces to g(0)(1 − 3x2 ) at A, and that the interpolation function for (iii) reduces to g(0)(1 − 3x + 32 x2 ) at B. In order to construct the interpolation formulas for (ii), (iii), and (iv), Hagan and West (2006) proceed as follows: 1. For the sectors comprising (ii), Hagan and West (2006) model g(x) as 0≤x≤η g(0) 2 x−η g(x) = g(1) + (g(1) − g(0)) η<x≤1 1−η where g(0) g(1) − g(0) g(1) + 2g(0) . = g(1) − g(0) η = 1+3 Constructing g in this fashion ensures that g is monotonic, as desired, and R1 that 0 g(x)dx = 0. Furthermore, we have that η → 0 as g(1) → −2g(0), which implies that g(x) = g(0)(1 − 3x2 ) at A. 2. For the sectors comprising (iii), Hagan and West (2006) model g(x) as x−η 2 g(1) + (g(1) − g(0)) 0≤x<η g(x) = 1 − η g(1) η≤x≤1 where η = 3 g(1) . g(1) − g(0) Constructing R 1 g in this fashion ensures that g is monotonic, as desired, and that 0 g(x)dx = 0. Also, η → 1 as g(1) → − 12 g(0), implying that g(x) = g(0)(1 − 3x + 32 x2 ) at B. 3. For the sectors comprising (iv) we seek an interpolation function that will reduce to the formula given by (ii) at C, and to the formula given by (iii) at D. Hagan and West (2006) achieve this by defining g as η−x 2 A + (g(0) − A) 0<x<η η A x=η g(x) = 2 x−η A + (g(1) − A) η<x<1 1−η CHAPTER 5. MONOTONE CONVEX INTERPOLATION 44 where g(1) g(1) + g(0) g(0)g(1) . A = − g(0) + g(1) η = The choices for A and η ensures that the formula for (ii) and (iv) converge at g(0) = R0, and that the formula for (iii) and (iv) converge at g(1) = 0, 1 and that 0 g(x)dx = 0. 5.4 Enforcing Positivity on f (t) Equation (5.3.1) implies that f will be positive if g(x) ≥ −fid . (5.4.1) Assume that fid ≥ 0, for i = 1, 2, ..., n, and fi ≥ 0, for i = 0, 1, ..., n, i.e. assume the input set of discount factors are strictly decreasing. It is trivial to see that condition (5.4.1) will be met at ti , for i = 1, 2, ..., n. The interpolation function is constructed such that g is monotone on the intervals (i), (ii) and (iii). It follows that condition (5.4.1) will be met throughout each of these intervals (if the inequality is met at the endpoints of the interval, and the interpolation function is monotone on the entire interval, then the inequality must be met throughout the entire interval). The only group that requires further analysis is (iv); consider the following scenarios: 1. g(0), g(1) ≤ 0: Here we have that g 0 (1) ≤ 0 and g 0 (0) ≥ 0, implying that g is concave down. It follows that g(x) ≥ −fid , for x ∈ (0, 1), since g(x) ≥ min(g(0), g(1)) ≥ −fid . 2. g(0, g(1) ≥ 0: Here we have that g 0 (1) ≥ 0, and g 0 (0) ≤ 0, implying that g is concave up, with a local minimum at g(x) = − It follows that if − g(0)g(1) . g(0) + g(1) g(0)g(1) ≥ −fid , g(0) + g(1) then we must have that g(x) > −fid , for x ∈ (0, 1), since g(x) ≥ − g(0)g(1) ≥ −fid . g(0) + g(1) CHAPTER 5. MONOTONE CONVEX INTERPOLATION 45 The sufficient condition for f to be positive is thus g(0)g(1) ≤ fid . g(0) + g(1) (5.4.2) Note that if 0 < g(0), g(1) ≤ 2fid , then g(0) + g(1) 1 1 = + g(0)g(1) g(0) g(1) 1 1 ≥ + d d 2fi 2fi 1 , = fid from where (5.4.3) g(0)g(1) ≤ fid , g(0) + g(1) as long as 0 < g(0), g(1) ≤ 2fid , which is equivalent to requiring that fi , fi−1 ≤ 3fid . The instantaneous forward curve will thus be positive, as long as fi , fi−1 ≤ 3fid , for i = 1, 2, ..., n. Hagan and West (2006) note that the instantaneous forward curve should be kept well away from any negative values, and thus choose to enforce a slightly tighter clamping; these authors require that fi , fi−1 ≤ 2fid . Figure 5.2 shows the spot and forward rate curves that were obtained by applying the monotone convex method to the rates in Table 4.1. Of the methods considered thus far, this is the only method capable of producing a forward rate curve that is both positive and continuous, for this particular example. Note that from equation (A.1.9) it follows that the spot rate function can be calculated as Z t d g(x(s))ds + fi−1 (ti − ti−1 ) /t, (5.4.4) r(t) = ri−1 ti−1 + ti−1 where ti−1 ≤ t ≤ ti . 46 CHAPTER 5. MONOTONE CONVEX INTERPOLATION 9 12 8 10 7 8 6 6 5 4 4 2 3 20 5 10 15 20 25 30 35 00 5 (a) r(t) 10 15 20 25 30 35 (b) f (t) Figure 5.2: Spot and forward rate curves (%) obtained by applying the monotone convex method to the rates in Table 4.1. 5.5 Continuity in f (t) In this section we illustrate a potential weakness of the monotone convex method; after altering the interpolation function to preserve the monotonicity of f (t), the method no longer guarantees continuity in f (t). Consider the scenario where g(0) = 0. The group under consideration is thus (iv), and the interpolation function is given by η−x 2 A + (g(0) − A) η A g(x) = x−η 2 A + (g(1) − A) 1−η 0<x<η x=η η<x<1 where g(1) g(1) + g(0) g(0)g(1) A = − . g(0) + g(1) η = Under this particular scenario η = 1, A = 0, to the effect that g(x) = 0, for x ∈ (0, 1), implying that f (t) = fid , for ti−1 ≤ t ≤ ti . The problem that arises is that unless fid = fi , f (t) will have a discontinuity at ti , since we will have that f (ti )− = fid 6= fi = f (ti )+ . (5.5.1) 47 CHAPTER 5. MONOTONE CONVEX INTERPOLATION fid 5.00 5.00 5.00 5.00 3.50 r(t) 5.00 5.00 5.00 5.00 4.50 t 0.1 4 10 20 30 fi 5.00 5.00 5.00 4.25 3.125 Table 5.1: Example illustrating how the monotone convex method can produce discontinuous forward rates. Note, all rates are expressed as percentages. Consider the curve in Table 5.1, and note that g(0) is zero for 10 ≤ t < 20. As such, f (t4 )− = 5% 6= 4.25% = f4 = f (t4 )+ , implying that f (t) will have a discontinuity at t = 20, as seen in Figure 5.3. 6.0 6.0 5.5 5.5 5.0 5.0 4.5 4.5 4.0 4.0 3.5 3.5 3.0 3.0 2.5 2.5 2.00 5 10 15 (a) r(t) 20 25 30 2.00 5 10 15 20 25 30 (b) f (t) Figure 5.3: Spot curve and forward curves (%) obtained by applying the monotone convex method to the rates in Table 5.1. 5.6 Remarks In this chapter we surveyed the monotone convex method of interpolation, introduced by Hagan and West (2006). We saw that, of the methods considered thus far, this is the only method capable of producing a positive and continuous forward rate curve, when applied to the rates in Table 4.1. The forward rate curves produced under monotone convex interpolation are however nondifferentiable; a problematic property when calibrating term structure models, like the models of Hull (2006), Ho and Lee (1986) and Cox et al. (1977). Furthermore, we identified a scenario under which the monotone convex method produces a discontinuity in the forward rate curve. Chapter 6 Monotone Preserving r(t)t Interpolation Much research was done in the 1970’s and 1980’s in the field of shape preserving cubic Hermite interpolation. Akima (1970), Fritsch and Carlson (1980) and de Boor and Swartz (1977) are but a few authors that attempted to construct a cubic interpolation function that is capable of preserving the monotonicity of its inputs. In this chapter, we will apply the theory of monotone preserving cubic interpolation, in order to develop an arbitrage free method for interpolating yield curve data. We label this method the monotone preserving r(t)t method. 6.1 The Interpolation Function Consider an interpolation function of the following form r(t)t = ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , (6.1.1) where ti ≤ t ≤ ti+1 . We wish to estimate the parameters ai , bi , ci and di so as to ensure that the interpolation function preserves the monotonicity of r(t)t. We thus seek an interpolation function that satisfies the following conditions: 1. All input rates must be reproduced. The interpolation function must thus satisfy r(ti )ti = ri ti , for i = 1, 2, ..., n. 2. We require continuity in the spot rate, i.e. the interpolation function − must satisfy ri t+ i = ri ti , for i = 1, 2, ..., n. 3. We require continuity in the forward rate curve, i.e. the interpolation function must satisfy fi+ = fi− , for i = 1, 2, ..., n. 48 49 CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 4. We require that the interpolated yield curve be arbitrage free, i.e. r(t)t must be monotone increasing. We will omit this requirement when dealing with real (i.e. inflation-linked) curves. A similar analysis to that done in Section 4.2.2 can be used to show that ai = ri ti b i = fi d − bi+1 − 2bi 3fi+1 ci = hi d bi+1 + bi − 2fi+1 , di = h2i for i = 1, 2, ..., n − 1, where we assume that bn = fn , and where fid is calculated as ri ti − ri−1 ti−1 fid = , ti − ti−1 for i = 1, 2, ..., n. At the outset, the values of the fi ’s will not be known, and will have to be estimated. We will use the same three point difference formula used by Hagan and West (2006) in order to estimate the value of fi , for i = 1, 2, ..., n. The work done by Akima (1970), Fritsch and Carlson (1980), and de Boor and Swartz (1977) focusses on methods for estimating the fi ’s, so as to ensure that the interpolation function preserves the shape of its inputs. 6.2 The Monotonicity Region for r(t)t Hyman (1983) notes a simple generalisation of what was recognised by de Boor and Swartz (1977), namely that if the data is locally increasing at ti , and if d fi ≤ 3min(fi+1 , fid ), (6.2.1) then r(t)t will be monotone in the interval (ti , ti+1 ), for i = 1, 2, ..., n − 1. Fritsch and Carlson (1980) independently developed the same monotonicity condition. We will use the analysis developed by Fritsch and Carlson (1980) to prove the monotonicity region for r(t)t. Assume that r(t)t is as in equation (6.1.1), and that the set of discrete forward rates fid , for i = 1, 2..., n, are all positive. Furthermore, assume that the instantaneous forward rates fi , for i = 1, 2, ...., n, are all positive. CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 50 Note, under this method f (t) is given by f (t) = bi + 2ci (t − ti ) + 3di (t − ti )2 d ) 2(−2fi − fi+1 + 3fi+1 = fi + (t − ti ) hi d 3(fi + fi+1 − 2fi+1 ) + (t − ti )2 , 2 hi (6.2.2) for ti ≤ t ≤ ti+1 , whilst f 0 (t) is given by f 0 (t) = 2ci + 6di (t − ti ) d 2(−2fi − fi+1 + 3fi+1 ) = hi d ) 6(fi + fi+1 − 2fi+1 + (t − ti ). 2 hi (6.2.3) In order to establish the monotonicity condition implied by equation (6.2.1), we need to distinguish between three different scenarios: d =0 1. fi + fi+1 − 2fi+1 d <0 2. fi + fi+1 − 2fi+1 d 3. fi + fi+1 − 2fi+1 > 0. d Consider the scenario where fi + fi+1 − 2fi+1 = 0. In this case f (t) is a straight line connecting fi and fi+1 . Since fi , fi+1 ≥ 0, we have that f (t) ≥ 0 for t ∈ (ti , ti+1 ), implying that r(t)t is monotone increasing under this scenario. d < 0. In this case f (t) is a parabola Consider the scenario where fi + fi+1 − 2fi+1 which is concave down, implying that f (t) ≥ min(fi , fi+1 ) ≥ 0. d Finally, consider the scenario fi + fi+1 − 2fi+1 > 0. In this case f (t) is a parabola which is concave up, i.e. f (t) has a unique minimum in [ti , ti+1 ]. Since fi , fi+1 ≥ 0, it must follow that if this unique minimum is greater than zero, then f (t) ≥ 0 for t ∈ (ti , ti+1 ). d > 0. The only scenario that requires further analysis is where fi + fi+1 −2fi+1 Observe that under this particular scenario f (t) has a local minimum at d hi (2fi + fi+1 − 3fi+1 ) t = ti + , d 3(fi + fi+1 − 2fi+1 ) ∗ (6.2.4) and the value of f at t∗ is given by f (t∗ ) = fi − d (2fi + fi+1 − 3fi+1 )2 , d 3(fi+1 + fi − 2fi+1 ) (6.2.5) CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 51 It is trivial to note that r(t)t will be monotone increasing in (ti , ti+1 ) if one of the following conditions is satisfied: 1. t∗ < ti or t∗ > ti+1 . 2. f (t∗ ) ≥ 0. d d Fritsch and Carlson (1980) define α = fi /fi+1 , and β = fi+1 /fi+1 , from where ∗ ∗ we can rewrite t and f (t ) as t∗ = ti + hi (2αi + βi − 3) , 3(αi + βi − 2) (6.2.6) and d , f (t∗ ) = φ(αi , βi )fi+1 where φ(αi , βi ) = αi − 1 (2αi + βi − 3)2 . 3 α i + βi − 2 (6.2.7) (6.2.8) d > 0. Note, equation (6.2.6) implies that t∗ < ti Assume that fi + fi+1 − 2fi+1 when 2αi + βi − 3 ≤ 0. (6.2.9) Similarly, t∗ > ti+1 when hi (2αi + βi − 3) − hi ≥ 0, 3 (αi + βi − 2) (6.2.10) d which is equivalent to requiring that αi + 2βi − 3 ≤ 0. Since fi+1 ≥ 0, equation ∗ (6.2.7) implies that f (t ) ≥ 0, when φ(αi , βi ) ≥ 0 It follows that r(t)t will be monotone increasing on (ti , ti+1 ) if one of the following conditions is satisfied: 1. αi + 2βi − 3 ≤ 0 2. 2αi + βi − 3 ≤ 0 3. φ(αi , βi ) ≥ 0 4. αi + βi − 2 ≤ 0. d The final condition follows from the fact that f (t) ≥ 0 when fi + fi+1 − 2fi+1 ≤ 0, as proved earlier. CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 52 Note, φ(αi , βi ) = 0 is the ellipse described by 3αi (αi + βi − 2) − (2αi + βi − 3)2 = 0. (6.2.11) 4.0 3.5 3.0 β 2.5 2.0 1.5 1.0 0.5 0.00.0 0.5 1.0 1.5 2.0 α 2.5 3.0 3.5 4.0 Figure 6.1: Region where φ(αi , βi ) ≥ 0. The region in which φ(αi , βi ) ≥ 0 is illustrated by the grey shaded area in Figure 6.1. Combining this ellipse with the three remaining monotonicity constraints produces the monotonicity region in Figure 6.2. The shaded areas represent the areas where r(t)t will be monotone increasing. The area bounded by the α and β axis, and the dotted lines at α = 3 and β = 3 represents the de Boor and Swartz (1977) monotonicity region. This region implies that if αi , βi ≤ 3, then r(t)t will be monotone increasing. d Requiring that αi , βi ≤ 3 is equivalent to requiring that fi , fi+1 ≤ 3fi+1 , and can be achieved by requiring that d fi ≤ 3min(fid , fi+1 ), (6.2.12) for i = 1, 2, ..., n − 1. Note that if condition (6.2.12) is satisfied, then f (t) will be positive on the interval (tn−1 , tn ), provided fn ≤ 3fnd . CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 53 As with the monotone convex method, we will require f (t) to stay well clear of any negative values, thus, we will clamp fi as follows d )), fi = min(fi , 2min(fid , fi+1 (6.2.13) for i = 1, 2, ..., n − 1, and fn = min(fn , 2fnd ). (6.2.14) Note that if negative forward rates are allowed, i.e. when considering inflationlinked yield curves, we will simply omit the clamping proposed by equations (6.2.13) and (6.2.14). 4.0 3.5 3.0 β 2.5 2.0 1.5 1.0 0.5 0.00.0 0.5 1.0 1.5 2.0 α 2.5 3.0 3.5 4.0 Figure 6.2: Fritsch and Carlson Monotonicity Region. 6.3 Extrapolation We will require that f be constant before t1 and after tn . More specifically, we will require that f (t) = f1 when t < t1 , and we will require that f (t) = fn when t > tn . From equation (A.1.9) it follows that Z t r(t)t = r0 t0 + f1 dt 0 = f1 t, (6.3.1) 54 CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION when t < t1 . Similarly, we will require that Z t fn dt r(t)t = rn tn + tn = rn tn + fn (t − tn ), (6.3.2) when t > tn . 6.4 Earlier Examples Figure 6.3 shows the spot and forward rate curves that were obtained by applying the monotone preserving r(t)t method to the rates in Table 4.1. 9 12 8 10 7 8 6 6 5 4 4 2 30 5 10 15 (a) r(t) 20 25 30 00 5 10 15 20 25 30 (b) f (t) Figure 6.3: Spot and forward curves (%) obtained by applying the monotone preserving r(t)t method to the rates in Table 4.1. For this particular example we see that both the spot and forward rate curves produced by the monotone preserving r(t)t method look remarkably similar to those produced under the monotone convex method. Like the monotone convex method, the monotone preserving r(t) method is also capable of producing a positive and continuous forward rate curve, for this particular example. Figure 6.4 shows the spot and forward rate curves that were obtained by applying the monotone preserving r(t)t method to the rates in Table 5.1. The monotone preserving r(t)t method clearly does not suffer from the same discontinuity in f (t), witnessed under the monotone convex method. However, the increase in both f (t) and r(t), witnessed in the 10 − 20 year region of the curve makes little intuitive sense. 55 CHAPTER 6. MONOTONE PRESERVING R(T )T INTERPOLATION 5.1 5.5 5.0 5.0 4.9 4.5 4.8 4.0 4.7 3.5 4.6 4.50 5 10 15 (a) r(t) 20 25 30 3.00 5 10 15 20 25 30 (b) f (t) Figure 6.4: Spot and forward rate curves (%) obtained by applying the monotone preserving r(t)t method to the rates in Table 5.1. 6.5 Remarks In this chapter, we introduced a new method for interpolating yield curve data. This method, labelled as the monotone preserving r(t)t method, is capable of ensuring forward rate curves that are both positive and continuous. However, as for the monotone convex method, the forward curves produced under the monotone preserving r(t)t method are non-differentiable at the knot points. In Chapter 7 we analyse the locality of this method (amongst others), and we investigate the performance of this method (amongst others) when applied to actual market data. Chapter 7 Implementation In Chapters 4 to 6 we analysed the adequacy of various methods of interpolation, for the purpose of interpolating yield curve data. Our assessment was based solely on the continuity and positivity of the forward rate curve. Of the methods that were considered, only the monotone convex and the monotone preserving r(t)t methods performed adequately. In this chapter, we will attempt to distinguish between the monotone convex and the monotone preserving r(t)t methods, on grounds of locality and stability. For the sake of comparison, we will also analyse the locality and the stability of the natural cubic spline method. Analysing the stability of the aforementioned methods will require the bootstrapping of a historical set of curves, and for this purpose, we will consider bootstrapping a historic set of South African bond curves. Furthermore, we will consider an example of the South African swap curve for the purpose of: 1. Illustrating the effect that interpolation has on the mark-to-market of instruments not included in the bootstrap, and to illustrate how arbitrage opportunities might arise as a result of practitioners not using a unified method of interpolation. 2. Illustrating how parsimonious models like those of Nelson and Siegel (1987) (henceforth referred to as the NS model) and Svensson (1992) (henceforth referred to as the NSS model), can be fitted to bootstrapped yield curves. 56 CHAPTER 7. IMPLEMENTATION 57 The smoothing of bootstrapped yield curves might be necessary for a number of reasons, including: 1. No-Arbitrage models of the short-rate, like the models of Ho and Lee (1986), and Hull and White (1990), that are calibrated off an observed yield curve, require a differentiable forward curve. None of the arbitragefree methods of interpolation that have been considered thus far satisfy this property. 2. Bootstrapping frequently produces forward rate curves that make little sense from an economic point of view. This is of particular concern to monetary policy makers concerned about expectations of future interest rates. As such, monetary policy makers often prefer parametric yield curve models (see the Bank For International Settlements (2005)). We conclude this chapter with an analysis of the performance of the NS and the NSS models, when calibrated to a set of bootstrapped South African swap curves. 7.1 Locality If we change the value of an input at ti , then we would like to know the interval (ti−l , ti+u ), on which the interpolated yield curve values change. Hagan and West (2006) define l and u as locality indeces, and use them to determine the degree to which an interpolation algorithm is local. 7.1.1 Monotone Preserving r(t)t Under this method, the interpolation function is given by 1 ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , t for ti ≤ t ≤ ti+1 , where r(t) = ai = ri ti bi = f i 3mi − bi+1 − 2bi ci = hi bi+1 + bi − 2mi di = . h2i (7.1.1) CHAPTER 7. IMPLEMENTATION 58 The discrete set of instantaneous forward rates fi , for i = 1, 2, ..., n, are estimated as follows fi = ti − ti−1 d ti+1 − ti d fi+1 + f , ti+1 − ti−1 ti+1 − ti−1 i (7.1.2) for i = 1, 2, ..., n − 1, whilst 1 fn = fnd − (fn−1 − fnd ). 2 (7.1.3) d . It Changing the value of ri would clearly affect the values of fid and fi+1 d follows from equation (7.1.2) that changing the value of fi would affect the d values of fi and fi−1 , whilst changing the value of fi+1 would affect the values of fi+1 and fi . Changing the value of ri thus affects the values of fi−1 , fi and fi+1 , which in turn, affects the coefficients ci−2 , ci−1 , ci and ci+1 . The value of r(t) will thus be affected on the interval (ti−2 , ti+2 ). It follows that the monotone preserving r(t)t method has locality indices l = u = 2. 7.1.2 Monotone Convex Under this method, the interpolation function is given by Z t r(t)t = ri ti + [K + Lx(s) + M x(s)2 ]ds, (7.1.4) ti for ti ≤ t ≤ ti+1 , where1 K = fi d L = −(4fi + 2fi+1 − 6fi+1 ) d M = 3fi + 3fi+1 − 6fi+1 . (7.1.5) (7.1.6) (7.1.7) The instantaneous forward rates under this method are estimated as in equations (7.1.2) and (7.1.3). A similar analysis to that done for the monotone preserving r(t)t method can then be used to show that the monotone convex method also has locality indices l = u = 2. 1 Before enforcing any monotonicity or positivity conditions. 59 CHAPTER 7. IMPLEMENTATION 7.1.3 Natural Cubic Splines The interpolation function under a natural cubic spline on r(t) is given by r(t) = ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , (7.1.8) for ti ≤ t ≤ ti+1 , where ai = ri , and bi , ci and di are found by applying the Crout factorisation algorithm to the system described in Section 4.2.1. Under the Crout factorisation algorithm, we firstly make use of ri and ti , for i = 1, 2..., n, in order to obtain bn−1 , cn−1 and dn−1 . The values bn−i , cn−i , dn−i for i = 2, 3, ..., n − 1, are then found recursively. It follows that if we change an input at ti , then r(t) would be affected on the entire interval (t1 , tn ). It follows that the natural cubic spline has locality indices l = i − 1 and u = n − i. In order to illustrate the effect of locality, we consider rates in Table 4.1. Figure 7.1 illustrates how the spot rate curves would change, under each of the methods considered here, when changing the input at t = 4, from 4.4% to 5.4%. 7.2 Stability If we change the value of an input at ti , then we would like to know by how much the interpolated yield curve values can change in other sections of the curve. Hagan and West (2006) suggest measuring this noise feature on spot and forward rate curves via the following norms ∂r(t) kM (r)k = sup max i ∂ri t ∂f (t) kM (f )k = sup max . i ∂fi t (7.2.1) (7.2.2) Hagan and West (2006) estimate these norms by calculating the maximum difference, in the supremum norm, between the original curve and any of the 2n curves obtained by changing any of the nodes up or down by one basis point. These differences can be estimated by testing at discrete points along the entire curve. The estimated norms are then expressed in terms of basis points. 60 CHAPTER 7. IMPLEMENTATION 9 Original Curve Blipped Curve 8 8 7 7 6 6 r(t) r(t) 9 5 5 4 4 30 5 10 15 20 t 25 Original Curve Blipped Curve 30 30 5 (a) Monotone Preserving r(t)t 10 15 t 20 25 30 (b) Monotone Convex 9 Original Curve Blipped Curve 8 7 r(t) 6 5 4 3 20 5 10 15 t 20 25 30 (c) Natural Cubic Spline on r(t)t Figure 7.1: Original and “blipped” spot rate curves (%) obtained by applying various methods of interpolation to the rates in Table 4.1. “Blipped” curves obtained by changing the input at t = 4, from 4.4% to 5.4%. In order to gauge the stability of the interpolation methods considered in this chapter, we calculated kM (r)k and kM (f )k, for a set of South African bond curves spanning the period from 31 July 2000, to 4 February 2011. kM (r)k and kM (f )k were estimated by testing at discrete points along the entire curve, in steps of one day each. For each of the curves under consideration, we used the exact same set of inputs as those that were used to construct the corresponding BEASSA perfect fit bond curves. Method Mean Std Deviation Monotone Preserving r(t)t 2.51575 0.94715 Monotone Convex 5.77360 16.41524 Natural Cubic Spline on r(t) 3.08915 1.45311 Table 7.1: Statistics for kM (r)k obtained by bootstrapping a historic set of South African bond curves, under various methods of interpolation. 61 CHAPTER 7. IMPLEMENTATION Table 7.1 shows the average and standard deviation of kM (r)k, obtained by applying the aforementioned methods of interpolation, in order to bootstrap our historical set of bond curves. Table 7.2 shows the corresponding statistics for kM (f )k. Method Mean Std Deviation Monotone Preserving r(t)t 18.95963 8.93328 Monotone Convex 40.06395 31.81627 Natural Cubic Spline on r(t) 25.01856 11.33013 Table 7.2: Statistics for kM (f )k obtained by bootstrapping a historic set of South African bond curves, under various methods of interpolation. The results in Table 7.2 and Table 7.1 suggest that both the spot and forward rate curves produced under the monotone preserving r(t)t method is more stable than the corresponding curves under the monotone convex method. In order to justify this statement, consider the South African bond curve on 5 June 2003. Table 7.3 shows the inputs that were used to construct this particular curve. Instrument Overnight call rate R194 R153 R157 R186 Rate (%) 13.00 9.14 9.15 9.20 8.66 Table 7.3: Inputs to the South African bond curve on 5 June 2003. Note, the overnight call rate is expressed as a simple annual rate, whilst the yields on the set of bonds are Nominal Annual Compounded Semi-annually (NACS). Figure 7.2 shows the spot rate curves that were obtained by bootstrapping the set of instruments in Table 7.3, under each of the interpolation methods considered in this chapter. Furthermore, Figure 7.2 shows the curves that were obtained after changing the yield to maturity of the R194, from 9.14% to 9.15%, and then re-bootstrapping. Clearly, changing the yield of the R194 has a significant effect on the curvature of the short end of the yield curve, under the monotone convex method. Because of the excessive increase in curvature, we end up with a scenario where changing the yield to maturity of the R194 by one basis point, leads to an increase in the three day spot rate of around 230 basis points. 62 CHAPTER 7. IMPLEMENTATION 13 13 12 12 11 11 10 10 9 9 8 8 70 5 10 15 20 70 25 5 10 15 20 25 (b) Monotone Preserving r(t)t (a) Natural Cubic Spline 13 12 11 10 9 8 70 5 10 15 20 25 (c) Monotone Convex Figure 7.2: Bootstrapped South African bond curves (%) on 5 June 2003, together with the curves obtained by changing the yield to maturity of the R194 from 9.14% to 9.15%, under various methods of interpolation. 7.3 Parametric Models In Section 3.2.1 we discussed a procedure that can be used to calibrate the Nelson and Siegel (1987) class of parsimonious yield curve models, given a set of observed zero-coupon bond prices. The problem practitioners face when attempting to apply this approach, is that we rarely observe a deep and liquid zero-coupon bond market. We postulate using bootstrapped yield curves to construct a set of hypothetical zero-coupon bond prices. These hypothetical prices can then be used to calibrate parametric models. 63 CHAPTER 7. IMPLEMENTATION As an example, consider the South African swap curve on 10 February 2011. In particular, consider bootstrapping this curve under each of the interpolation methods considered earlier, and calculating a hypothetical set of zero-coupon bond prices corresponding to a discrete set of maturities. Consider using the calibration procedure discussed in Section 3.2.1 in order to fit the NS, and NSS models to the abovementioned hypothetical set of zerocoupon bond prices. Table 7.4 shows the rates that were used for calibration, under each method of interpolation. t 0.003 0.25 0.5 0.75 1 1.25 1.5 1.75 2 3 4 5 6 7 8 9 10 12 15 20 25 30 NCS 5.27962 5.53633 5.57416 5.65288 5.76877 5.92658 6.10477 6.29204 6.49294 7.13443 7.58548 7.91565 8.15041 8.32019 8.43365 8.51187 8.55066 8.57822 8.51706 8.30855 8.08958 7.65908 MC 5.27962 5.53765 5.57474 5.65288 5.76877 5.92658 6.10475 6.29213 6.49309 7.13451 7.58556 7.9157 8.15045 8.32027 8.43373 8.51194 8.55072 8.57819 8.51736 8.30792 8.08945 7.66138 MP 5.27962 5.53754 5.57478 5.65288 5.76877 5.92658 6.10475 6.29213 6.49309 7.13451 7.58556 7.91573 8.15049 8.32027 8.43372 8.51193 8.55071 8.57818 8.51735 8.3079 8.08853 7.66073 Table 7.4: Spot rates (%) obtained by bootstrapping the South African swap curve on 10 February 2011 under various methods of interpolation. NCS denotes natural cubic spline, MC denotes monotone convex, and MP denotes monotone preserving r(t). Figure 7.3 shows the curves that were obtained after calibrating the NS and NSS models to the rates in Table 7.4. Both spot and forward curves are seen to be remarkably similar, for both parsimonious models and across all methods of interpolation. 64 CHAPTER 7. IMPLEMENTATION 9.5 9.5 r(t) r(t) Input Rates 9.0 f(t) 8.5 8.5 8.0 8.0 7.5 7.5 7.0 7.0 6.5 6.5 6.0 6.0 5.5 5.5 5.00 5.00 5 10 15 20 25 Input Rates 9.0 30 (a) Natural Cubic Spline - NS f(t) 5 10 15 20 9.5 r(t) r(t) Input Rates f(t) 8.5 8.0 8.0 7.5 7.5 7.0 7.0 6.5 6.5 6.0 6.0 5.5 5.5 5 10 15 20 25 Input Rates 9.0 8.5 30 5.00 (c) Monotone Preserving r(t)t - NS f(t) 5 10 15 20 25 30 (d) Natural Cubic Spline - NSS 9.5 9.5 r(t) r(t) Input Rates 9.0 f(t) 8.5 8.0 8.0 7.5 7.5 7.0 7.0 6.5 6.5 6.0 6.0 5.5 5.5 5 10 15 20 25 (e) Monotone Convex - NSS Input Rates 9.0 8.5 5.00 30 (b) Monotone Convex - NS 9.5 9.0 5.00 25 30 5.00 f(t) 5 10 15 20 25 30 (f) Monotone Preserving r(t)t - NSS Figure 7.3: Spot and forward curves (%) obtained by applying the Nelson and Siegel (1987), and Svensson (1992) models to various bootstrapped South African swap curves on 10 February 2011. 65 CHAPTER 7. IMPLEMENTATION Table 7.5 shows the values of R2 that were obtained by calibrating the NS, and NSS models to the rates in Table 7.4. For this particular example, the NSS model is seen to perform slightly better than the NS model, across all methods of interpolation. Interpolation NCS MC MP NS 0.993564 0.993549 0.993554 NSS 0.997966 0.997970 0.997973 Table 7.5: Values of R2 obtained by applying the Nelson and Siegel (1987) and Svensson (1992) models to the rates in Table 7.4. Here NCS denotes natural cubic spline, MC denotes monotone convex, and MP denotes monotone preserving r(t). Historical Performance In order to obtain an understanding as to which parsimonious model is best suited for constructing accurate yield curves, we applied the NS and the NSS models to a set of daily South African swap curves, spanning 31 August 2000 to 6 February 2011. Each curve was constructed by using the same set of inputs as those used to construct the corresponding BEASSA swap curves. Bootstrapping the daily set of swap curves was done by considering one method of interpolation only, namely the monotone preserving r(t)t method. Since the spot curves obtained by bootstrapping under different methods of interpolation are unlikely to differ substantially, we would expect the calibration of any parsimonious model to be largely unaffected by the method of interpolation used to perform the bootstrap. Figure 7.4 shows the values of R2 that were obtained by calibrating the NS and the NSS models to our historic set of swap curves. Clearly, the NSS model is capable of capturing the shape of the South African yield curve much better than the NS model. 66 CHAPTER 7. IMPLEMENTATION 1.0 0.9 1.00 0.8 0.7 0.98 0.6 0.96 0.5 0.4 0.94 0.3 200 1 1-0 200 1 2-0 1 3-0 200 1 4-0 200 1 5-0 200 200 1 6-0 1 7-0 200 (a) NS 8-0 200 1 1 9-0 200 1 0-0 201 201 1 1-0 1 1-0 200 1 1 1 1 1 1 1 1 1 1 2-0 003-0 004-0 005-0 006-0 007-0 008-0 009-0 010-0 011-0 2 2 2 2 2 2 2 2 2 200 (b) NSS Figure 7.4: Historic values of R2 obtained by applying the Nelson and Siegel (1987), and Svensson (1992) models to a historic set of bootstrapped South African swap curves. Figure 7.4 shows that during the middle stages of 2003, as well as during the early stages of 2009, the NS model performed extremely poorly at fitting the South African swap curve. The NSS model was, however, seen to perform well on a consistent basis. Figure 7.5 attempts to answer why the NS model performed so poorly during the aforementioned periods. In particular, Figure 7.5 illustrates the fit provided by the NS and NSS models on 14 August 2003, and on 2 April 2009. During the middle stages of 2003, as well as towards the early stages of 2009, the South African swap curve displayed two humps. During these stages, the South African swap curve was decreasing at the short end (0-2 years), increasing in the middle section (2-20 years), and again decreasing towards the latter stages (20-30 years). From Figure 7.5 it is clear that the NS model is ill-suited for fitting curves with more than one hump. It is clear that the NSS model should be the model of choice when attempting to fit a parametric function to observed yield curve data. As noted by Bliss (1997), the NSS model can be extended further to handle curves with more than two humps. 67 CHAPTER 7. IMPLEMENTATION 12.0 12.0 NS Input Rates 11.5 11.0 11.0 10.5 10.5 10.0 10.0 9.5 9.5 9.0 9.0 8.5 8.5 8.0 8.0 7.50 5 10 15 20 25 30 7.50 (a) NS: 4-August-2003 9.5 8.0 8.0 7.5 7.5 7.0 7.0 6.5 6.5 15 20 (c) NS: 2-April-2009 15 20 25 30 25 NSS Input Rates 9.0 8.5 10 10 9.5 8.5 5 5 (b) NSS: 4-August-2003 NS Input Rates 9.0 6.00 NSS Input Rates 11.5 30 6.00 5 10 15 20 25 30 (d) NSS: 2-April-2009 Figure 7.5: Spot curves (%) obtained by applying the Nelson and Siegel (1987), and the Svensson (1992) models to the South African swap curve on 4 August 2003 and on 2 April 2009. 68 CHAPTER 7. IMPLEMENTATION 7.3.0.1 Asymptotic Properties Parsimonious yield curve models are designed to make economic sense. We would thus prefer the asymptotic properties of such models to make economic sense. Recall from Section 3.2.2 that lim r(t) = β0 + β1 , t→0 and lim r(t) = β0 . t→∞ Figure 7.6 shows the values of β0 + β1 and r(40), for each of the swap curves in our sample. We consider r(40) to be a more practical depiction of the level of long-term interest rates than β0 . Figure 7.6 suggests that the asymptotic properties of the NSS model make economic sense. 12 13 12 11 11 10 10 9 9 8 8 7 7 6 6 200 1 1-0 200 1 2-0 1 3-0 200 1 4-0 200 1 5-0 200 200 1 6-0 1 7-0 200 (a) r(0) 8-0 200 1 1 9-0 200 1 0-0 201 201 1 1-0 1 1-0 200 1 1 1 1 1 1 1 1 1 1 2-0 003-0 004-0 005-0 006-0 007-0 008-0 009-0 010-0 011-0 2 2 2 2 2 2 2 2 2 200 (b) r(40) Figure 7.6: Historic asymptotic rates (%) of the Svensson (1992) model, when applied to a historic set of South African swap curves. 7.4 Remarks In this chapter we attempted to distinguish between the monotone convex, and the monotone preserving r(t)t methods of interpolation, on grounds of locality and stability. We found that, in terms of the stability, the performance of the monotone preserving r(t)t method is slightly better. Furthermore, we illustrated how the parsimonious model of Nelson and Siegel (1987), and the extension to this model by Svensson (1992) can be used to smooth bootstrapped yield curves. We analysed the accuracy of these parsimonious models when applied to a historic set of South African swap curves, and found the model of Svensson (1992) to outperform the model of Nelson and Siegel (1987) consistently. Chapter 8 Conclusions The objective of this report was to establish the “best” method for constructing yield curves, where “best” is interpreted in terms of accuracy, stability and economic appeal. The concept of a universally accepted “best” method for constructing yield curves has a number of appeals, including: 1. The values of derivative securities are likely to be more transparent if all practitioners agree on the yield curves under which cash flows should be discounted. 2. Practitioners are more likely to agree on Risk metrics, such as Value at Risk (VaR), if they agree on the yield curves used to simulate prices. 3. Hedge ratios are easier to justify when the yield curves used to calculate them are universally accepted. Along our journey, we identified two types of models: spline-based models and the parametric models. We assumed that the aforementioned models were mutually exclusive, and that one of these methods would emerge as the undisputed champion of yield curve construction. 8.1 Spline-Based Models In Section 3.1 we surveyed a variety of spline-based yield curve models, including the models of Mcculnosh (1971), Mcculnosh (1975), Mcculnosh and Kochin (2000), Vasicek and Fong (1982), Fisher et al. (1995), Anderson and Sleath (2001) and Waggoner (1997). 69 CHAPTER 8. CONCLUSIONS 70 We discovered that all of the aforementioned models suffer from the following disadvantages: 1. Calibration is typically performed through the use of complicated multivariate optimisation routines, implying a high probability of obtaining local optima. 2. The resulting forward curves often oscillate in an unintuitive manner. Forward curves that oscillate excessively make little sense from an economic point of view. In Section 3.1.5 we investigated an alternative spline-based model; the bootstrap proposed by Hagan and West (2006). This bootstrap, a generalisation of the models described by Fama and Bliss (1987), Smit (2000), and Daeves and Parlar (2000), was seen to solve the problem of local optima; the method is implemented through the use of a simple iterative procedure which converges to a curve that is capable of exactly pricing back all input securities. Because of its accuracy and simplicity, the bootstrap described in Hagan and West (2006) was suggested to be the ideal spline-based model. However, the model depends heavily on an appropriate interpolation algorithm. The choice of an interpolation algorithm to use when bootstrapping is by no means trivial. Chapters 4, 5 and 6 were devoted to finding the ideal method for interpolating yield curve data. 8.2 Interpolation Interpolation is a method of constructing new data points within the range of a discrete set of known data points (called knot points). Interpolation is performed through the use of piecewise functions joined together in a continuous fashion at the knot points. The collective set of piecewise functions is then referred to as an interpolation function. Various methods of interpolation exist in the literature, and in Chapters 4, 5 and 6 we surveyed a variety of such methods. The best known methods of interpolation are the so-called piecewise linear, and piecewise cubic methods. Piecewise linear methods involve fitting straight lines between consecutive knot points, whilst piecewise cubic methods involve fitting cubic polynomials between consecutive knot points. By transforming the data at the knot points, an interpolation function can be manipulated to satisfy a number of desirable properties. Careful consideration should, however, be given to ensure continuity of the spot rate function. Examples of such transformations particular to yield curve data include applying interpolation algorithms on r(t)t, C(t) and log(r(t)). CHAPTER 8. CONCLUSIONS 71 A variety of methods exist for performing piecewise cubic interpolation, the most popular of which is the so-called natural cubic spline. Under natural cubic splines, the interpolation function is required to be smooth, i.e. twice differentiable. The interpolation function can then be described by a Tridiagonal linear system, which can be solved through the use of the Crout factorisation algorithm. An alternative cubic interpolation algorithm is the so-called cubic Hermite spline. Under cubic Hermite splines, the derivative of the data at each knot point is assumed to be known, and the interpolation function is required to be differentiable. Often, these derivatives will not be known, and will have to be estimated. One method for estimating these derivatives, described by de Boor (1978, 2001) as the Bessel method, involves estimating the derivatives through the use of a three point difference formula. In Chapter 4 we illustrated through the use of an example, that linear interpolation, and “traditional” variations of cubic interpolation suffer from one (or both) of the following flaws: 1. Discontinuities in the forward rate curve. 2. Failure to ensure strictly decreasing discount factors. All variations of linear interpolation were seen to produce discontinuities in the forward rate curve, whilst all variations of cubic interpolation were seen to be incapable of ensuring strictly decreasing discount factors. Non-decreasing discount factors are proved in Appendix A.2 to imply arbitrage opportunities, whilst discontinuous forward rates are unacceptable from an economic perspective (unless the discontinuities occur on or around meetings of monetary authorities). In Chapter 5 we investigated the monotone convex method of interpolation proposed by Hagan and West (2006). This method, specifically designed to interpolate yield curve data, involves fitting a set of quadratic polynomials to a discrete set of estimated instantaneous forward rates. The method is designed such that f (t) preserves the shape of the set of discrete forward rates. The monotone convex method was seen to be capable of ensuring a strictly decreasing curve of discount factors. However, we identified a specific condition under which the interpolation function would produce a discontinuity if f (t). In Chapter 6 we introduced the monotone preserving r(t)t method of interpolation. This method, designed to preserve the geometry of r(t)t, follows from the work done in the field of shape preserving cubic interpolation by authors such as Akima (1970), Fritsch and Carlson (1980), de Boor and Swartz (1977) and Hyman (1983). Essentially, this method involves applying cubic Hermite interpolation to the r(t)t function, where the derivatives of r(t)t at the knot CHAPTER 8. CONCLUSIONS 72 points, i.e. the values of f (t) at the knot points, are estimated in a manner which ensures positivity in f (t). Like the monotone convex method, the monotone preserving r(t)t method was seen to be capable of ensuring positive forward rates. However, unlike the monotone convex method, this method is also capable of ensuring continuity in f (t). In Chapter 7 we attempted to distinguish between the monotone convex, and the monotone preserving r(t)t methods; on grounds of locality and stability. In terms of locality, we attempted to establish the interval [ti−l , ti+u ] on which r(t) changes, when changing the value of ri . For both the monotone convex, and the monotone preserving r(t)t methods we found that l = u = 2. In terms of stability, we estimated the maximum value by which a point on the bootstrapped curve would change, after changing the value of one of the input securities by one basis point. Results were obtained by considering a historic set of South African bond curves, and the differences were estimated for both spot and forward rate curves. The results that were obtained suggest that the monotone preserving r(t)t method performs slightly better in terms of stability, than the monotone convex method. Overall, the performance of the monotone convex and the monotone preserving r(t)t methods was seen to be remarkably similar. We did, however, find the monotone preserving r(t)t method to perform slightly better in terms of stability, and in terms of the continuity of f (t). These results suggest that when bootstrapping, the monotone preserving r(t) method might be the ideal method of interpolation. 8.3 Parametric Models Parametric yield curve models attempt to address the key disadvantage of spline-based models; forward curves that oscillate in an unintuitive manner. The issue of oscillating forward curves is, however, addressed at the cost of accuracy. Parametric curves are seldom capable of exactly pricing back all (or often, any) input securities. In Section 3.2 we considered two of the best known parametric yield curve models: the models of Nelson and Siegel (1987), and the extension to this model by Svensson (1992). CHAPTER 8. CONCLUSIONS 8.3.1 73 The Nelson and Siegel (1987) Model The Nelson and Siegel (1987) model consists of four parameters β0 , β1 , β2 and λ. We saw that β0 and β1 controls the asymptotic properties of the resulting spot and forward curves, whilst β1 adds a hump to the middle section of the spot rate curve. The parameter λ was seen to influence the slope of the spot rate curve.We saw that if the value of λ is known, then the problem of calibrating β0 , β1 and β2 can be solved through linear regression. Nelson and Siegel (1987) suggested the following calibration procedure: 1. Identify a set of possible values for λ. 2. For each of these λ’s, estimate β0 , β1 , β2 using ordinary least squares. 3. For each of these λ’s and their corresponding β’s, estimate R2 . 4. The optimal parameter set is the parameter set associated with the highest value of R2 . Calibration can be performed through the use of coupon paying-bonds, however, such calibration requires the use of multivariate optimisation routines, which imply a high probability of obtaining local optima. In Section 7.3 we showed how the curve obtained via bootstrapping can be used to obtain a hypothetical set of zero-coupon bond prices. These hypothetical prices can then be used to calibrate the Nelson and Siegel (1987) model. 8.3.2 The Svensson (1992) Model Svensson (1992) extended the model of Nelson and Siegel (1987) by adding an additional hump term. The Svensson (1992) model consists of parameters β0 , β1 , β2 , β3 and λ1 , λ2 . The interpretation of β0 , β1 , β2 and λ1 is the same as under the Nelson and Siegel (1987) model. The parameter β3 adds a second hump to the middle section of the curve, whilst λ2 influences the slope of the curve. The Svensson (1992) model can be calibrated by using a similar process to the one used to calibrate the Nelson and Siegel (1987). The optimisation procedure would, however, be slightly more complicated than that under the Nelson and Siegel (1987) model, and special attention needs to be given to the choice of starting values for λ1 and λ2 . In Section 7.3 we investigated the performance of the Nelson and Siegel (1987) and Svensson (1992) models when calibrated to a historical set of South African swap curves. The results were emphatic; the Svensson (1992) model was consistently capable of fitting the data accurately, whilst the Nelson and Siegel CHAPTER 8. CONCLUSIONS 74 (1987) model was not. The Nelson and Siegel (1987) model was seen to perform particularly poorly during times of financial crisis. Under such circumstances, the yield curve typically displays two humps, a feature that the Nelson and Siegel (1987) model cannot accommodate for. The Svensson (1992) model was seen to be well equipped for calibrating curves with two humps. 8.4 Final Remarks The objective of this report was to establish the “best” model for yield curve construction. We found that certain models perform “best” under certain circumstances. If accuracy is imperative, bootstrapping should be the method of choice, and the monotone preserving r(t)t method should be the preferred method of interpolation. If economic appeal is deemed to be the most important characteristic, a parametric model should be the method of choice. More specifically, the Svensson (1992) model should be the method of choice, and calibration should be performed through the use of zero-coupon bonds. In the absence of an observable zero-coupon bond market, bootstrapping should be used to construct a hypothetical set of zero-coupon bond prices. Appendices 75 Appendix A Basic Fixed Income Mathematics A yield curve is calibrated from a set of instruments trading in the market. The prices of these instruments are related to a discrete set of points along the yield curve. Before calibration, we need to understand how the prices of these instruments are related to these points along the curve. This appendix introduces the mathematical concepts necessary to obtain such an understanding. A.1 Elementary Relations C(t) represents the value that one unit of currency, invested at time t0 , would be worth at time t. From elementary calculus it follows that C(t) = lim n→∞ r(t) 1+ n nt (A.1.1) = er(t)t . Z(t) represents the value at time t0 , of one unit of currency to be received at time t. Z(t) is thus the inverse of C(t), and is referred to as the price at time t0 , of the zero-coupon bond maturing at time t. It follows from equation (A.1.1) that Z(t) = e−r(t)t . (A.1.2) Assume that an investor can invest Z(t1 ) today, in a zero-coupon bond that pays one unit of currency at time t1 . Furthermore, assume an investor can invest Z(t2 ) today, in a zero-coupon bond that pays one unit of currency at time t2 . From the law of one price it must follow that 76 APPENDIX A. BASIC FIXED INCOME MATHEMATICS Z(t1 )Z(t0 ; t1 , t2 ) = Z(t2 ), 77 (A.1.3) where Z(t0 ; t1 , t2 ) represents the price at time t0 , of a zero-coupon bond to be purchased at time t1 , for maturity at t2 . The discount factor Z(t0 ; t1 , t2 ) is called the forward discount factor from t1 to t2 . If f (t1 , t2 ) represents the continuously compounded rate of interest, as observed at t0 , that an investor can earn from t1 to t2 , then equation (A.1.2) implies that Z(t0 ; t1 , t2 ) = e−f (t1 ,t2 )(t2 −t2 ) . (A.1.4) Equation (A.1.3) implies that Z(t0 ; t1 , t2 ) = Z(t2 ) , Z(t1 ) (A.1.5) From equations (A.1.4), and (A.1.5) it follows that f (t1 , t2 ) = r(t2 )t2 − r(t1 )t1 . t2 − t1 (A.1.6) The forward rate f (t1 , t2 ), is called the discrete forward rate observed at time t0 , applicable to the period from t1 to t2 . Consider rewriting t1 and t2 in equation (A.1.6), as t, and t + respectively. We then define f (t), by taking the limit as → 0, and obtain that f (t) = d r(t)t, dt (A.1.7) or equivalently 1 r(t) = t Z t f (τ )dτ. (A.1.8) 0 The forward rate f (t), is called the instantaneous forward rate observed at time t0 , applicable to time t. Finally, note that if t ∈ [ti−1 , ti ], then it follows from equation (A.1.8) that Z r(t)t = ti−1 Z t f (τ )dτ + f (τ )dτ 0 ti−1 Z t = r(ti−1 )ti−1 + f (τ )dτ. ti−1 (A.1.9) APPENDIX A. BASIC FIXED INCOME MATHEMATICS A.2 78 Arbitrage Free Pricing If we are working with a yield curve that is not inflation-linked, and if Z(t) is not a monotone decreasing function, then an arbitrage opportunity must exist. In order to prove this statement, we proceed as follows: Consider a situation where Z(t1 ) < Z(t2 ), for t1 < t2 . Under these circumstances, an investor would be able to buy a zero-coupon bond maturing at t1 and simultaneously sell a zero-coupon bond maturing at t2 , for an immediate profit of Z(t2 ) − Z(t1 ). At time t1 , the investor would place the received unit of currency under his/her mattress, and pay it to the buyer of the time t2 bond, at time t2 . If the abovementioned curve is, however, real (i.e. inflation-linked), then the arbitrage relation just explained, would not necessarily hold. The reason for this is that the investor in this scenario would buy an inflation-linked zerocoupon bond maturing at t1 , and simultaneously sell an inflation-linked zerocoupon bond maturing at t2 , for an immediate cash inflow of Z(t2 ) − Z(t1 ). The cash inflows and outflows at t1 and t2 are, however, not known in advance, seeing as they are inflation dependent. This means that the immediate cash inflow of Z(t2 ) − Z(t1 ) does not necessarily constitute a profit. A.3 Coupon Bonds A coupon-paying bond is an instrument that pays periodic interest payments (called coupons) to the holder of the bond, and a face value at maturity. In the absence of arbitrage the price of a such a bond must be the discounted value of all the bond’s future cash flows. A.3.1 The Bond Pricing Formula Bonds generally trade on yield to maturity (YTM), which is an annualised rate (typically NACS) that is assumed to hold from time t0 to the maturity date of the bond. In South Africa, the BESA bond pricing formula (see the Bond Exchange of South Africa (2005)) is used to convert the YTM of a particular bond to an all-in price. Consider a bond that pays semi-annual coupons c, and let n denote the number of remaining coupon payment dates, excluding the next coupon payment date. Furthermore, assume that this particular bond trades at a NACS YTM y. For the moment, assume that we are pricing the particular bond at time t0 , for settlement at the next coupon payment date (tncd ), immediately after the applicable coupon has been paid. The all-in price of the bond, [A(tncd )], is then given by APPENDIX A. BASIC FIXED INCOME MATHEMATICS 1 1 +c + ... (1 + 0.5y) (1 + 0.5y)2 1 1 + c +R , n (1 + 0.5y) (1 + 0.5y)n 79 A(tncd ) = c (A.3.1) where R denotes the face value of the bond. If we assume that the face value of the bond is zero, and set z = 1/(1 + 0.5y), then it follows from equation (A.3.1) that A(tncd ) = cz + cz 2 + ... + cz 3 + cz n , (A.3.2) implying that A(tncd ) z = c + cz + ... + cz n−1 . (A.3.3) Subtracting (A.3.2) from (A.3.3) implies 1−z A(tncd ) z = c − cz n (A.3.4) zc(1 − z n ) ⇒ A(tncd ) = . 1−z If we now relax the assumption of a face value of zero, then the all-in price of the bond for settlement immediately after the payment at the next coupon payment date is zc(1 − z n ) + Rz n . A(tncd ) = 1−z (A.3.5) We can now consider pricing the particular bond for settlement at any time tsettle , where t0 ≤ tsettle < tncd . Two adjustment have to be made to equation (A.3.5): 1. If tsettle is in the cum period then we need to add the coupon at the next coupon payment date to the right hand side of equation (A.3.5). 2. We need to discount the price of the bond from settlement at tncd , to settlement at tsttle . 80 APPENDIX A. BASIC FIXED INCOME MATHEMATICS The all-in price of the bond at time t0 , for settlement at time tsettle , can thus be written as zc(1 − z n ) n +R , A = z(t0 ; tsettle , tncd ) c × cumex(tsettle ) + 1−z where the function cumex is defined as tsettle in the cum period 1 cumex(tsettle ) = 0 tsettle in the ex period. If the next coupon payment date coincides with the maturity date of the bond, the bond is deemed to behave like a money market instrument, and the yield to maturity of the bond is interpreted as a simple rate. As such, the discount factor, z(t0 ; tsettle , tncd ), is calculated as z(t0 ; tsettle , tncd ) = (t −t ncd settle )/365 z tncd 6= maturity date 1 1+0.5y (tncd −tsettle )/365 tncd = maturity date. The Bond Exchange of South Africa (2005) calculates the amount of accrued interest, [Accr(t0 , tsettle )], as follows Accr = tsettle − tlcd 365 tsettle in the cum period tsettle − tncd 365 tsettle in the ex period, where tlcd denotes the last coupon payment date on or before tsettle . The clean price of the bond, C, is then calculated as C = A − Accr. (A.3.6) The rounded all-in price is obtained by rounding C and Accr and adding them together. Rounding is performed to five decimal places. We will let [A] denote the rounded all-in price. APPENDIX A. BASIC FIXED INCOME MATHEMATICS A.3.2 81 Bond Price Relations Suppose a bond pays cash flows (c1 , c2 ...., cn ) at times (t1 , t2 ...., tn ). Note that ci does not necessarily represent a coupon payment, e.g. c1 = 0 if the bond is in the ex period, and cn is the sum of a coupon payment and the face value of the bond. In the absence of arbitrage, we must have that the all-in price (dirty price) of the bond at time t0 , for settlement at time tsettle , is given by [A] = i=n X ci Z(t0 ; tsettle , ti ). (A.3.7) i=1 Multiplying throughout equation (A.3.7) with Z(ttsettle ) implies that [A]Z(tsettle ) = i=n X ci Z(ti ), (A.3.8) i=1 from where it follows that [A]Z(tsettle ) = i=n−1 X ci Z(ti ) + cn Z(tn ). (A.3.9) i=1 Equation (A.3.9) implies that " # i=n−1 X 1 [A]Z(tsettle ) − ci Z(ti ) Z(tn ) = cn i=1 " # i=n−1 X ⇒ r(tn )tn = ln(cn ) − ln [A]Z(tsettle ) − ci Z(ti ) , i=1 from where " # i=n−1 X 1 r(tn ) = ln(cn ) − ln [A]Z(tsettle ) − ci Z(ti ) . tn i=1 (A.3.10) Equation (A.3.10) shows that if we know the price of a particular bond (i.e. if we know [A]), then we can obtain information regarding the spot rate of interest corresponding to the each of the bond’s cash flow dates. APPENDIX A. BASIC FIXED INCOME MATHEMATICS A.4 82 Interest Rate Swaps Hull (2006) defines a swap as an agreement between two parties to exchange cash flows in the future. The agreement defines the dates when the cash flows are to be paid and the way in which they are to be calculated. With a vanilla interest rate swap, one party agrees to pay cash flows equal to interest at a predetermined fixed rate on a notional principal. In return, this party receives interest at a floating rate on the same notional principal. In South Africa the fixed payments are calculated on an actual/365 basis, are paid in arrears, and the periods to which the fixed rate apply are typically three-monthly periods. The floating payments are calculated on the same day count basis, are paid on the same date, and are calculated on the same notional. The floating rate is typically set to the 3 month JIBAR rate. A.4.1 The Value of a Just Started Swap As shown in Rebonato (1998), the fixed leg of a plain-vanilla interest rate swap on a notional of one is made up by payments {Bi }ni=1 , defined as Bi = αi Rn , (A.4.1) where αi is the fraction of a year between the (i − 1)0 th and the i0 th payment, and Rn is the simple fixed rate contracted at the outset, to be paid by the fixed rate payer at each payment time. The value of the fixed leg of the swap at time t0 is then Vf ix = Rn n X αi Z(ti ). (A.4.2) i=1 Similarly, the floating leg is made up by payments {Ai }ni=1 , defined as follows A i = αi F i , (A.4.3) where Fi is the αi period spot rate (i.e. the 3-month JIBAR rate in South Africa), prevailing at time ti−1 . The realisations of these spot rates are not known at time t0 (except off course F1 ), and therefore the value of the floating leg of the swap at time t0 is given by Vf loat = E n X i=1 αi Fi Z(ti ) . (A.4.4) APPENDIX A. BASIC FIXED INCOME MATHEMATICS 83 Consider the following replicating strategy: 1. Invest one unit of currency at time t0 , in a Negotiable Certificate of Deposit (NCD) that pays α1 F1 at time t1 . 2. At time t1 , reinvest the unit of currency in a NCD that pays α2 F2 at time t2 . 3. Keep investing in this fashion up to time tn−1 . Clearly, this strategy replicates the cash flows associated with the floating leg of the swap, except that the investor does not receive the notional at time tn , in the case of the swap. The value at time t0 of the replicating strategy is one, implying that the value of the floating leg of the swap must be Vf loat = 1 − Z(tn ). (A.4.5) The equilibrium swap rate at time t0 is defined as the fixed rate, Rn , which sets the fixed leg of the swap equal to the floating leg. In the absence of arbitrage, the fixed rate of a just started swap must be equal to the equilibrium swap rate. It follows from equations (A.4.2) and (A.4.5) that 1 − Z(tn ) Rn = Pn i=1 αi Z(ti ) n−1 X ⇒ 1 − Z(tn ) = Rn αi Z(ti ) + αn Z(tn ) i=1 n−1 X ⇒ Z(tn )(1 − Rn αn ) = 1 − Rn αi Z(ti ) i=1 Pn−1 ⇒ Z(tn ) = 1 − Rn i=1 αi Z(ti ) . (1 − Rn αn ) (A.4.6) From equation (A.1.2) and equation (A.4.6) it follows that " # P 1 − Rn n−1 −1 i=1 αi Z(ti ) . ⇒ r(tn ) = ln tn (1 − Rn αn ) (A.4.7) Equation (A.4.7) shows that if we know the fixed rate associated with a particular swap (i.e. if we know Rn ), then we can obtain information regarding the spot rate of interest corresponding to the each of the swap’s cash flow dates. APPENDIX A. BASIC FIXED INCOME MATHEMATICS A.5 84 FRAs Hull (2006) defines a Forward Rate Agreement (FRA) as an over-the-counter agreement that a certain interest rate will apply to either borrowing or lending a certain principal during a specified future period of time. The buyer of an FRA agrees to pay a fixed rate over the forward period, and receive a floating rate. In South-Africa, the assumption underlying the contract is that borrowing or lending would usually be done at JIBAR. FRAs are issued at par, i.e. at inception, the value of the floating payment equals the value of the fixed payment. Thus, if an FRA spanning the forward period from t1 to t2 , is issued now, at a simple rate of F (t0 ; t1 , t2 ), then Z(t1 ) = 1 + F (t0 ; t1 , t2 )α Z(t2 ) ⇒ er(t2 )t2 −r(t1 )t1 = 1 + F (t0 ; t1 , t2 )α 1 ⇒ r(t2 ) = r(t1 )t1 + ln 1 + F (t0 ; t1 , t2 )α , t2 (A.5.1) where α denotes the fraction of a year between t1 and t2 . The the value at time t, where t0 ≤ t ≤ t1 , of the fixed leg of an FRA issued at F (t0 ; t1 , t2 ), spanning the period from t1 to t2 , is given by Vf ixed = (1 + αF (t0 ; t1 , t2 ))Z(t2 ). (A.5.2) Similarly, the value of the floating payment is given by Vf loat = (1 + αF (t; t1 , t2 ))Z(t2 ), (A.5.3) where F (t; t1 , t2 ) is the simple forward rate observed at time t, applicable to the period t1 to t2 . The value of a long FRA position is then Vf loat − Vf ixed , whilst the value of a short FRA position is given by Vf ixed − Vf loat . The value of an FRA is thus not only a function of the forward rate from t1 to t2 , but also of Z(t2 ). FRAs are thus convex instruments, i.e. the value of an FRA does not evolve linearly as the yield curve shifts up or down in a paralel fashion. APPENDIX A. BASIC FIXED INCOME MATHEMATICS A.6 85 Short-Term Interest Rate Futures A short-term interest rate future is an exchange traded instrument that references a forward interest rate at a certain point in time. The price of such a futures contract expiring at time t1 , references the forward rate spanning the period from t1 to t2 , where t2 > t1 . More specifically, the price of the futures contract at expiry equals 100 minus the prevailing α period (the fraction of a year from t1 to t2 ) spot rate, i.e. the 3-month JIBAR rate in South-Africa. The value of these futures contacts are intended to mimic that of a deposit on a certain notional amount (ZAR 100 thousand in South Africa) made at time t1 . The deposit is assumed to apply to a period of 90 days, and interest is calculated on actual/360 convention. The value at time t ≤ t1 , of a futures contract spanning the period from t1 to t2 , on a notional of R, trading at a yield of Ff uture (t, t1 , t2 ) is given by V = 250 × R × (1 − Ff uture (t; t1 , t2 )). (A.6.1) If the notional is one, then the daily margin payment would be set to 0.000025 units of currency per basis point change in Ff uture (t; t1 , t2 ). These futures are thus linear instruments, i.e. the value of a short-term interest rate future changes linearly as the yield on the futures contract changes. Although the margining formula is extremely simple and elegant, it deprives short-term interest rate futures of the convexity possessed by FRAs. Thus, we will generally have that the forward rates implied by short-term interest rate futures (commonly referred to as the futures rates) will not be equal to the forward rates implied by FRAs. The difference between forward rates and the futures rates has appropriately been labelled as the convexity bias. The existence of the convexity bias can be attributed to the following factors: 1. Futures are margined daily whilst FRAs are net settled (either at t1 or t2 ). As suggested by Cox et al. (1981), daily margining may cause future and forward prices to diverge. Consider an investor taking a short position in a short term-interest rate future. Generally, the investor will receive margin payments when interest rates move up, and make margin payments when interest rates move down. In general, the investor will thus invest received margin payments at yields that are higher than those at which he/she will need to finance margin payments. The future will thus appear to be a more attractive investment than the corresponding FRA. The market will counteract this imbalance by setting the futures rate higher than the forward rate. APPENDIX A. BASIC FIXED INCOME MATHEMATICS 86 2. Short-term interest rate futures are deprived of the convexity possessed by FRAs. Consider a short FRA position. As noted by Burghardt and Hoskins (1994), this position exhibits what is known in the fixed-income trade as positive convexity. That is, the price increase associated with a positive parallel yield curve shift, is greater than the price decrease associated with a negative parallel yield curve shift. This is not the case for short-term interest rate futures, where the price increase associated with a positive parallel yield curve shift is equal to the price decrease associated with a negative parallel yield curve shift. Thus, if the futures rate is lesser than or equal to the forward rate, then an investor hedging a short position in an FRA spanning t1 to t2 , with short positions in the equivalent futures contacts, is extremely likely (but not guaranteed) to make a profit. The market will exhaust this opportunity, and consequently the futures rate will be higher than the forward rate. Hull (2006) postulates the following formula, based on the Ho-Lee term structure, for estimating the forward rate F (t; t1 , t2 ), from the corresponding futures rate Ff uture (t; t1 , t2 ) 1 (A.6.2) F (t; t1 , t2 ) = Ff uture (t; t1 , t2 ) − σ 2 t1 t2 , 2 where σ is the standard deviation of the change in the short-term interest rate. Equations (A.5.1) and (A.6.2) show that if we know the forward or futures rate corresponding to time t1 , then we can obtain information regarding the spot rate of interest corresponding to t1 and t2 . Appendix B Historic South African Yield Curves 14.0 12.5 13.5 12.0 13.0 12.5 11.5 r(t) r(t) 12.0 11.5 11.0 11.0 10.5 10.5 10.0 9.50 5 10 15 t 20 25 10.00 30 5 (a) 7 Aug 2000 15 t 20 25 30 25 30 (b) 31 Jan 2001 11.0 13 12 10.5 11 r(t) r(t) 10.0 9.5 10 9 9.0 8.50 10 8 5 10 15 t 20 25 70 30 (c) 30 Oct 2001 5 10 15 t 20 (d) 30 Jul 2002 Figure B.1: Historic South African swap and bond curves (%). Note, blue curves represent bond curve, whilst green curves represent swap curves. 87 88 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 13 10.5 10.0 12 9.5 9.0 10 8.5 r(t) r(t) 11 8.0 9 7.5 8 70 7.0 5 10 15 t 20 25 6.50 30 5 (a) 30 Apr 2003 10 15 t 20 25 30 25 30 25 30 25 30 (b) 30 Jan 2004 9.5 8.0 7.8 9.0 7.6 7.4 8.0 7.2 r(t) r(t) 8.5 7.0 7.5 6.8 7.0 6.50 6.6 5 10 15 t 20 25 6.40 30 5 7.6 9.5 7.4 9.0 7.2 8.5 7.0 8.0 6.8 7.5 6.6 7.0 6.40 5 10 15 t 20 25 6.50 30 5 (e) 3 May 2006 20 10 15 t 20 13 10.5 12 10.0 9.5 11 r(t) 9.0 r(t) t (f) 5 Feb 2007 11.0 8.5 8.0 10 9 7.5 8 7.0 6.50 15 (d) 3 Aug 2005 r(t) r(t) (c) 1 Nov 2004 10 5 10 15 t 20 (g) 7 Nov 2007 25 30 70 5 10 15 t 20 (h) 7 Aug 2008 Figure B.2: Historic South African swap and bond curves (%). Note, blue curves represent bond curve, whilst green curves represent swap curves. 89 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 9.0 9.5 8.5 9.0 8.0 8.5 7.0 r(t) r(t) 7.5 6.5 8.0 7.5 6.0 7.0 5.5 5.00 5 10 15 t 20 25 6.50 30 5 (a) 11 May 2009 t 20 25 30 25 30 9.5 9.0 8.0 8.5 7.5 8.0 7.5 7.0 r(t) r(t) 15 (b) 11 Feb 2010 8.5 6.5 7.0 6.5 6.0 6.0 5.50 10 5.5 5 10 15 t 20 (c) 11 Nov 2010 25 30 5.00 5 10 15 t 20 (d) 11 May 2011 Figure B.3: Historic South African swap and bond curves (%). Note, blue curves represent bond curve, whilst green curves represent swap curves. APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 Overnight 10.057 10.160 8.620 11.490 12.850 7.690 7.150 6.700 6.750 8.630 10.100 11.690 8.160 6.740 5.690 5.230 1 month 10.275 10.344 8.800 11.927 12.944 7.713 7.275 6.861 * * * * * 6.950 5.720 5.500 90 3 month 10.394 10.514 9.141 12.216 13.419 7.925 7.450 7.000 7.079 9.329 10.775 12.200 8.008 7.190 5.855 5.575 Table B.1: The set of money market inputs (%) used to construct the swap and bond curves illustrated in Figures B.1, B.2 and B.3. All rates are quoted as simple annualised rates. Note, * indicates that for the relevant date, the relevant instrument was not used as a swap or bond curve input. R157 R157 R157 R157 R157 R157 R157 R157 R157 R157 R157 R157 R157 R155 R157 R157 R186 R186 R186 R186 R186 R186 R186 R186 R186 R186 R186 R186 R186 R157 R186 R186 R153 R153 R153 R153 R153 R201 R201 R201 R201 R201 R201 R201 R201 R186 R201 R201 R162 R162 R194 R194 R194 R153 R153 R203 R203 R203 R203 R203 R203 R201 R203 R203 R194 R194 R204 R204 R204 R204 R204 R204 R203 R204 R204 R153 R153 R207 R206 R206 R206 R204 R206 R206 Bond R175 R150 R175 R150 R175 R150 R194 R194 R153 R207 R207 R207 R206 R207 R207 R184 R184 R194 R153 R209 R209 R207 R208 R208 R196 R153 R153 R208 R209 R209 R209 Table B.2: The set of bonds used to construct the bond curves illustrated in Figures B.1, B.2 and B.3. Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 91 13.430 12.365 10.550 11.130 9.790 9.590 9.075 7.760 7.410 7.710 8.160 9.400 8.070 7.525 5.915 5.700 12.980 11.960 9.960 10.090 9.140 8.685 8.390 7.450 7.170 7.390 7.945 9.170 8.590 8.365 6.990 7.600 13.510 12.360 10.460 11.390 10.000 9.630 9.135 7.755 7.400 7.715 8.260 9.480 8.170 9.135 8.055 8.540 Yield 10.970 10.445 10.330 11.420 10.080 9.410 8.555 7.790 7.425 7.610 8.100 9.395 8.430 8.425 6.805 7.180 9.310 8.265 7.780 7.425 7.575 8.095 9.365 8.435 9.000 7.545 8.160 7.425 7.190 7.510 8.260 9.500 8.150 9.015 7.710 8.280 7.110 7.100 8.090 8.065 9.345 8.590 8.450 6.620 6.940 to Maturity (NACS) 11.405 12.820 13.205 10.670 11.660 12.040 9.070 9.800 8.765 8.920 8.865 8.155 9.165 7.830 8.350 9.675 10.130 6.065 9.155 7.940 8.375 Table B.3: The set of yields (%) corresponding to bonds in Table B.2 Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 8.980 8.130 8.770 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 92 3x6 3x6 3x6 3x6 3x6 3x6 3x6 3x6 1x4 1x4 1x4 1x4 1x4 1x4 1x4 1x4 6x9 6x9 6x9 6x9 6x9 6x9 6x9 6x9 2x5 2x5 2x5 2x5 2x5 2x5 2x5 2x5 9x12 9x12 9x12 9x12 9x12 9x12 9x12 9x12 3x6 3x6 3x6 3x6 3x6 3x6 3x6 3x6 12x15 12x15 12x15 12x15 12x15 12x15 12x15 12x15 4x7 4x7 4x7 4x7 4x7 4x7 4x7 4x7 15x18 15x18 15x18 15x18 15x18 15x18 5x8 5x8 5x8 5x8 5x8 5x8 5x8 5x8 18x21 18x21 18x21 18x21 18x21 18x21 6x9 6x9 6x9 6x9 6x9 6x9 6x9 6x9 7x10 7x10 7x10 7x10 7x10 7x10 7x10 7x10 FRA 8x11 8x11 8x11 8x11 8x11 8x11 8x11 8x11 9x12 9x12 9x12 9x12 9x12 9x12 9x12 9x12 12x15 12x15 12x15 12x15 12x15 12x15 12x15 12x15 15x18 15x18 15x18 15x18 15x18 15x18 15x18 15x18 18x21 18x21 18x21 18x21 18x21 18x21 18x21 18x21 21x24 21x24 21x24 21x24 21x24 Table B.4: The set of FRAs used to construct the swap curves illustrated in Figures B.1, B.2 and B.3. Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 93 Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 10.60 10.37 8.87 12.13 11.58 8.51 7.29 6.67 7.10 9.26 10.86 12.18 7.12 7.04 5.68 5.63 10.83 10.42 8.87 11.65 10.61 9.05 7.45 6.74 7.12 9.26 10.88 12.17 7.07 7.02 5.60 5.66 11.23 10.57 9.00 11.36 10.12 9.49 7.70 6.94 7.13 9.24 10.88 12.09 6.92 6.99 5.59 5.70 9.20 11.20 9.84 9.89 8.01 7.14 7.14 9.20 10.87 11.93 6.91 6.99 5.56 5.82 9.40 11.05 9.69 10.06 8.31 7.35 7.15 9.17 10.85 11.78 6.93 6.99 5.57 5.99 7.17 9.12 10.81 11.66 6.97 7.03 5.57 6.07 7.19 9.04 10.73 11.52 7.04 7.07 5.59 6.17 Yield (Simple) 7.22 8.96 10.63 11.34 7.18 7.12 5.61 6.32 7.28 8.79 10.37 10.91 7.50 7.30 5.74 6.73 7.34 8.62 10.07 10.56 7.79 7.61 5.93 7.18 Table B.5: The set of yields (%) corresponding to the FRAs in Table B.3. 10.48 10.35 8.87 12.23 12.45 7.97 7.20 6.66 7.08 9.26 10.85 12.16 7.45 7.15 5.72 5.61 7.40 8.47 9.81 10.28 8.09 7.99 6.16 7.57 7.46 8.33 9.51 10.05 8.36 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 94 2y 2y 2y 2y 2y 2y 2y 2y 3y 3y 3y 3y 3y 2y 2y 2y 3y 3y 3y 3y 3y 3y 3y 3y 4y 4y 4y 4y 4y 3y 3y 3y 4y 4y 4y 4y 4y 4y 4y 4y 5y 5y 5y 5y 5y 4y 4y 4y 5y 5y 5y 5y 5y 5y 5y 5y 6y 6y 6y 6y 6y 5y 5y 5y 6y 6y 6y 6y 6y 6y 6y 6y 7y 7y 7y 7y 7y 6y 6y 6y 7y 7y 7y 7y 7y 7y 7y 7y 8y 8y 8y 8y 8y 7y 7y 7y 8y 8y 8y 8y 8y 8y 8y 8y 9y 9y 9y 9y 9y 8y 8y 8y Swap 9y 10y 9y 10y 9y 10y 9y 10y 9y 10y 9y 10y 9y 10y 9y 10y 10y 12y 10y 12y 10y 12y 10y 12y 10y 12y 9y 10y 9y 10y 9y 10y 12y 12y 12y 12y 12y 12y 12y 12y 15y 15y 15y 15y 15y 12y 12y 12y 15y 15y 15y 15y 15y 15y 15y 15y 20y 20y 20y 20y 20y 15y 15y 15y 17y 17y 17y 17y 17y 17y 17y 17y 25y 25y 25y 25y 25y 20y 20y 20y 20y 20y 20y 20y 20y 20y 20y 20y 30y 30y 30y 30y 30y 25y 25y 25y 30y 30y 30y 25y 25y 25y 25y 25y 25y 25y 25y 30y 30y 30y 30y 30y 30y 30y 30y Table B.6: The set of swaps used to construct the swap curves illustrated in Figures B.1, B.2 and B.3. Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 95 Date 2000/08/07 2001/01/31 2001/10/30 2002/07/30 2003/04/30 2004/01/30 2004/11/01 2005/08/03 2006/05/03 2007/02/05 2007/11/07 2008/08/07 2009/05/11 2010/02/11 2010/11/11 2011/05/11 11.34 10.78 9.21 11.62 10.98 9.12 7.73 6.99 7.35 8.67 9.91 10.77 7.94 7.43 5.85 6.59 12.50 11.56 9.89 11.44 10.57 9.80 8.48 7.54 7.48 8.47 9.29 10.32 8.35 8.18 6.45 7.49 12.87 11.84 10.11 11.45 10.50 9.94 8.65 7.67 7.52 8.41 9.12 10.18 8.48 8.43 6.68 7.72 13.09 12.03 10.27 11.45 10.44 10.03 8.77 7.77 7.54 8.36 8.98 10.07 8.55 8.58 6.86 7.90 13.27 12.17 10.40 11.45 10.39 10.06 8.84 7.83 7.56 8.32 8.87 10.00 8.59 8.71 6.99 8.03 Yield (Simple) 13.39 13.46 13.49 12.26 12.32 12.34 10.48 10.54 10.56 11.43 11.40 11.36 10.33 10.27 10.21 10.07 10.07 10.06 8.90 8.93 8.97 7.87 7.89 7.90 7.57 7.58 7.56 8.28 8.23 8.13 8.77 8.70 8.55 9.97 9.90 9.74 8.61 8.60 8.49 8.79 8.83 8.84 7.09 7.16 7.21 8.12 8.19 8.24 13.49 12.34 10.56 11.26 10.06 9.87 8.96 7.92 7.49 8.04 8.32 9.52 8.27 8.80 7.24 8.23 13.45 12.27 10.50 11.08 9.86 9.61 8.83 7.80 7.30 7.81 8.00 9.26 7.94 8.66 7.24 8.21 13.41 12.23 10.45 10.98 9.74 9.46 8.69 7.61 7.20 7.67 7.76 9.03 7.66 8.42 7.18 8.12 , Table B.7: The set of yields (%) corresponding to the swaps in Table B.6. 11.94 11.15 9.59 11.53 10.72 9.55 8.18 7.33 7.43 8.55 9.54 10.50 8.20 7.84 6.17 7.16 13.36 12.14 10.36 10.83 9.59 9.26 8.54 7.69 7.10 7.58 7.57 8.90 7.45 8.20 7.10 8.02 7.97 6.99 7.88 13.28 11.99 10.20 10.57 9.37 8.96 8.41 7.55 12.95 11.88 10.07 10.34 9.19 8.67 8.06 7.43 APPENDIX B. HISTORIC SOUTH AFRICAN YIELD CURVES 96 Appendix C Arbitrage Potential In this appendix we illustrate how arbitrage opportunities might arise in a world where a unified method of interpolation is not agreed upon. We achieve this feat by considering an example of the South African swap curve. In particular, we consider the South African swap curve on 10 February 2011. Table C.1 shows the inputs that were used to construct this particular curve. Note that the South African Benchmark Overnight Rate on deposits (SABOR), and the 1-month and 3-month JIBAR rates were used to anchor the shortend of the curve. We assume that the SABOR rate is a simple one-day rate regardless of whether or not the following day is a business day. It follows that 1 ), is given by the continuously compounded 1-day spot rate, r( 365 1 1 ) = 365log 1 + Sabor( ) . r( 365 365 Figure C.1 shows the spot and forward rate curves that were obtained by applying monotone convex interpolation, monotone preserving r(t)t interpolation, natural cubic spline on r(t), and linear interpolation on r(t), to the rates in Table C.1. C.1 FRAs From equation (A.5.1) it follows that the equilibrium FRA rate, F (t0 ; t1 , t2 ), for the period spanning t1 to t2 is given by F (t0 ; t1 , t2 ) = er(t2 )t2 −r(t1 )t1 − 1 . α 97 (C.1.1) 98 APPENDIX C. ARBITRAGE POTENTIAL Deposits Rate FRAs Overnight 1-month 3-month 5.28 5.47 5.575 1x4 2x5 3x6 4x7 5x8 6x9 7x10 8x11 9x12 12x15 15x18 18x21 Rate (%) 5.6 5.65 5.65 5.71 5.76 5.85 5.89 6.01 6.16 6.62 7.06 7.5 Swaps 2 year 3 year 4 year 5 year 6 year 7 year 8 year 9 year 10 year 12 year 15 year 20 year 25 year 30 year Rate (%) 6.52 7.13 7.55 7.85 8.06 8.21 8.31 8.38 8.42 8.46 8.45 8.37 8.29 8.15 Table C.1: Inputs to the South African swap curve on 10 February 2011. All rates are expressed as simple annualised rates. Table C.2 shows the equilibrium FRA rates obtained for a number of FRAs not included in our bootstrap, under various methods of interpolation. The rates n Table C.2 suggest that significant arbitrage opportunities might arise in a world where a unified method of interpolation is not agreed upon. Consider the 57x60 FRA. The equilibrium FRA rate obtained for this particular FRA under linear interpolation is 9.6, whilst the corresponding rate under the monotone convex method is 9.39, a difference of 21 basis points. Assuming the pv01 of an FRA is roughly ZAR 25 per million notional, this represents an opportunity of roughly ZAR 525 per million notional (these figures will be distorted by bid-offer spreads). 99 APPENDIX C. ARBITRAGE POTENTIAL 10 9.5 9.0 9 8.5 8.0 7.5 7 r(t) r(t) 8 7.0 6 6.5 6.0 5 40 5.5 5 10 15 t 20 25 30 5.00 35 5 (a) Natural Cubic Spline 10 15 t 20 25 30 35 30 35 (b) Monotone Convex 9.5 10 9.0 9 8.5 8.0 8 r(t) r(t) 7.5 7.0 7 6.5 6.0 6 5.5 5.00 5 10 15 t 20 25 30 50 35 (c) Monotone Preserving r(t)t 5 10 15 t 20 25 (d) Linear on r(t) Figure C.1: Spot and forward rate curves (%) obtained by bootstrapping the input securities in Table C.1. C.2 Forward Starting Swaps Forward starting swaps are priced at par, i.e. at initiation, the fixed leg of a forward starting swap is equal to the floating leg of the swap. Consider an n-year forward starting swap, where the first fixing date is scheduled to be at time τ0 ≥ t0 . Let τ1 , τ2 , ..., τn denote the set of payment dates, and let αi denote the fraction of a year between the (i − 1)’th, and the i’th fixing date. If Rn denotes the equilibrium swap rate, then it follows that the value at time t0 , of the fixed leg of the swap is given by Vf ix = Rn Z(τ0 ) n X αi Z(t0 ; τ0 , τi ), (C.2.1) i=1 whilst the value of the floating leg is given by Vf loat = Z(τ0 ) 1 − Z(t0 ; τ0 , τn ) . (C.2.2) 100 APPENDIX C. ARBITRAGE POTENTIAL FRA 21x24 24x27 27x30 30x33 33x36 36x39 39x42 42x45 45x48 48x51 51x54 54x57 57x60 MC 7.95 8.21 8.45 8.63 8.74 8.86 9.01 9.11 9.18 9.25 9.35 9.39 9.39 MP 7.95 8.21 8.45 8.63 8.74 8.86 9.01 9.11 9.18 9.25 9.34 9.39 9.4 NCS 7.95 8.23 8.44 8.61 8.76 8.89 9 9.1 9.18 9.26 9.33 9.38 9.41 L 7.95 8.02 8.35 8.68 9 8.7 8.93 9.16 9.39 9.09 9.26 9.43 9.6 Table C.2: Equilibrium FRA rates (%) on 10 February 2011, under various methods of interpolation. All rates expressed as simple annualised rates. MC denotes monotone convex, MP denotes monotone preserving r(t)t, NCS denotes natural cubic spline on r(t) and L denotes linear on r(t). It follows that Rn is given by 1 − Z(t0 ; τ0 , τn ) . Rn = Pn i=1 αi Z(t0 ; τ0 , τi ) (C.2.3) Table C.3 shows the equilibrium forward starting swap rates on 10 February 2011, for a number of swaps starting on 10 February 2021. Consider the 1-year forward starting swap. The equilibrium rate implied by this particular swap under linear interpolation is 8.8, whilst the corresponding rate under monotone convex interpolation is 8.89, a difference of 9 basis points. Assuming the pv01 of 1-year swap is roughly ZAR 100 per million notional, this represents an opportunity of roughly ZAR 900 per million notional. 101 APPENDIX C. ARBITRAGE POTENTIAL Swap 1y 2y 3y 4y 5y 6y 7y 8y 9y 10y MC 8.89 8.81 8.73 8.64 8.57 8.5 8.43 8.36 8.3 8.25 MP 8.89 8.81 8.73 8.64 8.57 8.5 8.43 8.36 8.3 8.25 NCS 8.87 8.81 8.74 8.65 8.57 8.49 8.42 8.36 8.3 8.25 L 8.8 8.81 8.69 8.62 8.57 8.48 8.41 8.35 8.3 8.25 Table C.3: Equilibrium forward starting swap rates (%) on 10 February 2011, under various methods of interpolation. All rates are expressed as simple annualised rates. The first fixing date is scheduled for 10 February 2021. MC denotes monotone convex, MP denotes monotone preserving r(t)t, NCS denotes natural cubic spline on r(t) and L denotes linear on r(t). Appendix D Code Figure D.1: Flow diagram illustrating the interaction between different programmes used in the construction of parametric and spline-based yield curves. 102 APPENDIX D. CODE D.1 103 Interpolation A VBA class was created to perform a variety of interpolation functions. In this section we present this VBA class, called Interpolation. VERSION 1 . 0 CLASS BEGIN MultiUse = −1 ’ True END A t t r i b u t e VB_Name = " I n t e r p o l a t i o n " A t t r i b u t e VB_GlobalNameSpace = F a l s e A t t r i b u t e VB_Creatable = F a l s e A t t r i b u t e VB_PredeclaredId = F a l s e A t t r i b u t e VB_Exposed = F a l s e Option E x p l i c i t ’ The i n p u t s e t o f t i m e s P r i v a t e t i m e s ( ) As Double ’ The i n p u t s e t o f r a t e s P r i v a t e r a t e s ( ) As Double ’ The number o f knot p o i n t s P r i v a t e n As I n t e g e r ’ I n t e g e r used t o i t e r a t e l o o p s P r i v a t e i As I n t e g e r ’ Array o f i n s t a n t a n e o u s f o r w a r d r a t e s P r i v a t e f ( ) As Double ’ Array o f d i s c r e t e f o r w a r d r a t e s P r i v a t e f d ( ) As Double ’ Method o f i n t e r p o l a t i o n P r i v a t e interpol_mehod As S t r i n g ’ Input i n f o r m a t i o n ’================================================ P u b l i c P r o p e r t y Let method ( v a l u e As S t r i n g ) ’ Read t h e c h o s e n method o f i n t e r p o l a t i o n interpol_mehod = v a l u e End P r o p e r t y P u b l i c P r o p e r t y Let x_values ( x_values ( ) As Double ) ’ Read t h e i n p u t s e t o f t i m e s n = UBound ( x_values ) t i m e s ( ) = x_values ( ) End P r o p e r t y P u b l i c P r o p e r t y Let y_values ( y_values ( ) As Double ) ’ Read t h e i n p u t s e t o f r a t e s S e l e c t Case interpol_mehod Case I s = "Raw" ReDim r a t e s ( 1 To n ) For i = 1 To n r a t e s ( i ) = y_values ( i ) ∗ t i m e s ( i ) APPENDIX D. CODE 104 Next i Case I s = " L i n e a r Log ( r ( t ) ) " ReDim r a t e s ( 1 To n ) For i = 1 To n r a t e s ( i ) = A p p l i c a t i o n . Ln ( y_values ( i ) ∗ 0 . 0 1 ) Next i Case I s = " Monotone Convex " r a t e s ( ) = y_values ( ) C a l l ForwardCalc Case I s = " Monotone P r e s e r v i n g r ( t ) t " r a t e s ( ) = y_values ( ) C a l l ForwardCalc Case I s = " N a t u r a l Cubic S p l i n e " r a t e s ( ) = y_values ( ) Case I s = " L i n e a r r ( t ) " r a t e s ( ) = y_values ( ) End S e l e c t End P r o p e r t y ’ Output i n f o r m a t i o n ’============================================ Sub ForwardCalc ( ) ’ C a l c u l a t e t h e v e c t o r s o f d i s c r e t e and i n s t a n t a n e o u s f o r w a r d r a t e s . ’ Same methodology used f o r monotone convex , and monotone p r e s e r v i n g r ( t ) t methods . ReDim f d ( 1 To n ) , f ( 1 To n ) For i = 2 To n fd ( i ) = ( r a t e s ( i ) ∗ times ( i ) − r a t e s ( i − 1) ∗ _ times ( i − 1) ) / ( times ( i ) − times ( i − 1) ) Next i fd (1) = r a t e s (1) For i = 2 To n − 1 f ( i ) = fd ( i + 1) ∗ ( times ( i ) − times ( i − 1) ) / ( times ( i + 1) − _ times ( i − 1) ) + fd ( i ) ∗ ( times ( i + 1) − times ( i ) ) / ( times ( i + 1) − times ( i − 1) ) I f f ( i ) > 3 ∗ A p p l i c a t i o n . Min ( f d ( i ) , f d ( i + 1 ) ) Then f ( i ) = 2 ∗ A p p l i c a t i o n . Min ( f d ( i ) , f d ( i + 1 ) ) End I f Next i f (1) = fd (2) ∗ times (1) / times (2) + fd (1) ∗ ( times (2) − times (1) ) / times (2) f (n) = fd (n) − 0.5 ∗ ( f (n − 1) − fd (n) ) End Sub P r i v a t e F u n c t i o n L a s t I n d e x ( t i m e s ( ) As Double , t As Double ) As I n t e g e r ’ C a c l u l a t e i such t h a t t ( i ) <= t < = t ( i +1) . For i = 1 To UBound ( t i m e s ) − 1 I f t <= t i m e s ( i + 1 ) And t >= t i m e s ( i ) Then LastIndex = i Exit Function End I f Next i I f t < t i m e s ( 1 ) Then i = 1 APPENDIX D. CODE 105 I f t > t i m e s ( UBound ( t i m e s ) ) Then i = UBound ( t i m e s ) − 1 LastIndex = i End F u n c t i o n P r i v a t e F u n c t i o n monotone_rtt ( v a l u e As Double ) ’ Monotone p r e s e r v i n g r ( t ) t i n t e r p o l a t i o n . Dim a As Double , b As Double , C As Double , D As Double Dim h As Double , m As Double i = LastIndex ( times ( ) , value ) a h m C D = = = = = r a t e s ( i ) ∗ times ( i ) times ( i + 1) − times ( i ) ( r a t e s ( i + 1) ∗ times ( i + 1) − a ) / h (3 ∗ m − f ( i + 1) − 2 ∗ f ( i ) ) / h ( f ( i + 1 ) + f ( i ) − 2 ∗ m) / ( h ∗ h ) S e l e c t Case v a l u e Case I s < t i m e s ( 1 ) monotone_rtt = f ( 1 ) Case I s <= t i m e s ( n ) monotone_rtt = ( 1 / v a l u e ) ∗ ( a + f ( i ) ∗ ( v a l u e − t i m e s ( i ) ) + _ C ∗ ( value − times ( i ) ) ^ (2) + D ∗ ( value − times ( i ) ) ^ (3) ) Case I s > t i m e s ( n ) monotone_rtt = ( 1 / v a l u e ) ∗ ( r a t e s ( n ) ∗ t i m e s ( n ) + f ( n ) ∗ ( v a l u e − times (n) ) ) End S e l e c t End F u n c t i o n P r i v a t e F u n c t i o n monotone_convex ( v a l u e As Double ) ’ Monotone convex method . ’ Hagan and West ( 2 0 0 6 ) . Dim a As Double , l As Double , x As Double , f 0 As Double Dim g0 As Double , g1 As Double , G As Double , e t a As Double i = L a s t I n d e x ( tim es , v a l u e ) l = times ( i + 1) − times ( i ) x = ( value − times ( i ) ) / l g0 = f ( i ) − f d ( i + 1 ) g1 = f ( i + 1 ) − f d ( i + 1 ) f0 = fd (1) − 0.5 ∗ ( f (1) − fd (1) ) I f v a l u e < t i m e s ( 1 ) Then monotone_convex = f 0 E l s e I f v a l u e > t i m e s ( n ) Then monotone_convex = ( 1 / v a l u e ) ∗ ( r a t e s ( n ) ∗ t i m e s ( n ) + f ( n ) ∗ ( v a l u e − times (n) ) ) Else I f ( x = 0 Or x = 1 ) Then G = 0 E l s e I f ( g0 < 0 And −0.5 ∗ g0 <= g1 And g1 <= −2 ∗ g0 ) Or ( g0 > 0 And −0.5 ∗ g0 >= g1 And g1 >= −2 ∗ g0 ) Then G = l ∗ ( g0 ∗ ( x − 2 ∗ x ^ 2 + x ^ 3 ) + g1 ∗ (−x ^ 2 + x ^ 3 ) ) E l s e I f ( g0 < 0 And g1 > −2 ∗ g0 ) Or ( g0 > 0 And g1 < −2 ∗ g0 ) Then e t a = ( g1 + 2 ∗ g0 ) / ( g1 − g0 ) I f x <= e t a Then G = g0 ∗ ( v a l u e − t i m e s ( i ) ) Else APPENDIX D. CODE 106 G = g0 ∗ ( v a l u e − t i m e s ( i ) ) + ( g1 − g0 ) ∗ ( x − e t a ) ^ 3 / ( 1 − eta ) ^ 2 / 3 ∗ l End I f E l s e I f ( g0 > 0 And 0 > g1 And g1 > −0.5 ∗ g0 ) Or ( g0 < 0 And 0 < g1 And g1 < −0.5 ∗ g0 ) Then e t a = 3 ∗ g1 / ( g1 − g0 ) I f x < e t a Then G = l ∗ ( g1 ∗ x − 1 / 3 ∗ ( g0 − g1 ) ∗ ( ( e t a − x ) ^ 3 / e t a ^ 2 − eta ) ) Else G = l ∗ ( 2 / 3 ∗ g1 + 1 / 3 ∗ g0 ) ∗ e t a + g1 ∗ ( x − e t a ) ∗ l End I f E l s e I f g0 = 0 And g1 = 0 Then G = 0 Else e t a = g1 / ( g1 + g0 ) a = −g0 ∗ g1 / ( g0 + g1 ) I f x <= e t a Then G = l ∗ ( a ∗ x − 1 / 3 ∗ ( g0 − a ) ∗ ( ( e t a − x ) ^ 3 / e t a ^ 2 − eta ) ) Else G = l ∗ ( 2 / 3 ∗ a + 1 / 3 ∗ g0 ) ∗ e t a + l ∗ _ ( a ∗ ( x − e t a ) + ( g1 − a ) / 3 ∗ ( x − e t a ) ^ 3 / ( 1 − e t a ) ^ 2 ) End I f End I f monotone_convex = 1 / v a l u e ∗ ( t i m e s ( i ) ∗ r a t e s ( i ) + f d ( i + 1 ) ∗ ( v a l u e − t i m e s ( i ) ) + G) End I f End F u n c t i o n P r i v a t e F u n c t i o n n s p l i n e ( v a l u e As Double ) As Double ’ Natural cubic s p l i n e i n t e r p o l a t i o n . Dim h ( ) As Double , a l p h a ( ) As Double ReDim h ( n − 1 ) As Double , a l p h a ( n − 1 ) As Double Dim l ( ) As Double , u ( ) As Double , z ( ) As Double , C( ) As Double , b ( ) As Double , D( ) As Double For i = 1 To n − 1 h( i ) = times ( i + 1) − times ( i ) Next i For i = 2 To n − 1 a l p h a ( i ) = 3# / h ( i ) ∗ ( r a t e s ( i + 1 ) − r a t e s ( i ) ) − 3 / h ( i − 1 ) ∗ ( r a t e s ( i ) − r a t e s ( i − 1) ) Next i ReDim l ( n ) As Double , u ( n ) As Double , z ( n ) As Double , C( n ) As Double , b ( n ) As Double , D( n ) As Double l ( 1 ) = 1#: u ( 1 ) = 0#: z ( 1 ) = 0# l ( n ) = 1#: z ( n ) = 0#: C( n ) = 0# For i = 2 To n − 1 l ( i ) = 2# ∗ ( t i m e s ( i + 1 ) − t i m e s ( i − 1 ) ) − h ( i − 1 ) ∗ u ( i − 1 ) u( i ) = h( i ) / l ( i ) z ( i ) = ( alpha ( i ) − h( i − 1) ∗ z ( i − 1) ) / l ( i ) Next i For i = n − 1 To 1 Step −1 C( i ) = z ( i ) − u ( i ) ∗ C( i + 1 ) b ( i ) = ( r a t e s ( i + 1 ) − r a t e s ( i ) ) / h ( i ) − h ( i ) ∗ (C( i + 1 ) + 2# ∗ C( i ) ) / 3# D( i ) = (C( i + 1 ) − C( i ) ) / 3# / h ( i ) APPENDIX D. CODE 107 Next i I f v a l u e < t i m e s ( 1 ) Then nspline = rates (1) E l s e I f v a l u e > t i m e s ( n ) Then nspline = rates (n) Else i = L a s t I n d e x ( tim es , v a l u e ) n s p l i n e = r a t e s ( i ) + b ( i ) ∗ ( v a l u e − t i m e s ( i ) ) + C( i ) ∗ ( v a l u e − t i m e s (i)) ^ 2 _ + D( i ) ∗ ( v a l u e − t i m e s ( i ) ) ^ 3 End I f End F u n c t i o n P r i v a t e F u n c t i o n l i n I n t e r ( v a l u e As Double ) As Double ’ Perform l i n e a r i n t e r p o l a t i o n . Dim a As Double , b As Double i = L a s t I n d e x ( tim es , v a l u e ) b = ( r a t e s ( i + 1) − r a t e s ( i ) ) / ( times ( i + 1) − times ( i ) ) a = r a t e s ( i + 1) − b ∗ times ( i + 1) I f v a l u e < t i m e s ( 1 ) Then l i n I n t e r = rates (1) E l s e I f v a l u e > t i m e s ( n ) Then l i n I n t e r = rates (n) Else l i n I n t e r = a + b ∗ value End I f End F u n c t i o n P u b l i c P r o p e r t y Get I n t e r p o l a t e ( v a l u e As Double ) ’ Perfrom i n t e r p o l a t i o n . ’ Calculate the spot r a t e corresponding to value . S e l e c t Case interpol_mehod Case " Monotone P r e s e r v i n g r ( t ) t " I n t e r p o l a t e = monotone_rtt ( v a l u e ) Case " Monotone Convex " I n t e r p o l a t e = monotone_convex ( v a l u e ) Case " N a t u r a l Cubic S p l i n e " Interpolate = nspline ( value ) Case " L i n e a r r ( t ) " Interpolate = l i n I n t e r ( value ) Case "Raw" I f v a l u e < t i m e s ( 1 ) Then I n t e r p o l a t e = l i n I n t e r ( value ) / times (1) E l s e I f v a l u e > t i m e s ( n ) Then I n t e r p o l a t e = l i n I n t e r ( value ) / times (n) Else Interpolate = l i n I n t e r ( value ) / value End I f Case " L i n e a r Log ( r ( t ) ) " I f v a l u e < t i m e s ( 1 ) Then I n t e r p o l a t e = 100 ∗ Exp ( r a t e s ( 1 ) ) E l s e I f v a l u e > t i m e s ( n ) Then I n t e r p o l a t e = 100 ∗ Exp ( r a t e s ( n ) ) Else I n t e r p o l a t e = 100 ∗ Exp ( l i n I n t e r ( v a l u e ) ) End I f End S e l e c t End P r o p e r t y APPENDIX D. CODE D.2 108 Bootstrap A VBA function was created to perform the iterative bootstrap, given a set of input securities and a method of interpolation. Separate functions were created for bootstrapping with a set of coupon paying bonds, and a set of swaps. A t t r i b u t e VB_Name = " B o o t s t r a p " Option E x p l i c i t P r i v a t e Sub Bond_Bootstrapper ( t _ s e t t l e As Double , t ( ) As Double , r ( ) As Double , _ n As I n t e g e r , m As I n t e g e r , P ( ) As Double , DT( ) As Double , _ D( ) As Double , C( ) As Double , Pn ( ) As Double , _ i n t e r p o l _ m e t h o d As S t r i n g ) ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ t _ s e t t l e = ( bonds s e t t l e m e n t d a t e − v a l u a t i o n d a t e ) /365 t ( ) = t h e s e t o f m a t u r i t y d a t e s o f a l l i n p u t bonds r ( ) = t h e y i e l d s on t h e i n p u t s e t o f bonds n = t h e number o f bonds used a s i n p u t s m = t h e number o f money market i n p u t s D = the vector o f d i s t i n c t cash flow dates C = the matrix o f cash f l o w s Pn = t h e v e c t o r r e p r e s e n t i n g t h e f i n a l c a s h f l o w s t o o c c u r under each bond DT = t h e v e c t o r o f d i c o u n t f a c t o r s c o r r e s p o n d i n g t o D P = t h e p r i c e s o f t h e i n p u t s e t o f bonds i n t e r p o l _ m e t h o d = t h e method o f i n t e r p o l a t i o n ’ The i n t e r p o l a t i o n o b j e c t S e t S p l i n e = New i n t e r p o l a t i o n S p l i n e . method = i n t e r p o l _ m e t h o d S p l i n e . x_values = t ( ) S p l i n e . y_values = r ( ) ’ V a r i a b l e s used t o t e s t f o r c o n v e r g e n c e Dim conv1 , conv2 , t e s t , count As Double ’ The NACC r a t e c o r r e s p o n d i n g t o t _ s e t t l e Dim r _ s e t t l e As Double ’ V a r i a b l e s used t o l o o p i t e r a t i o n s Dim i , j As I n t e g e r ’ The a r r a y where pv_coupons ( i ) s t o r e s t h e p r e s e n t v a l u e o f a l l coupon payments , e x c l u d i n g t h e one a t m a t u r i t y ’ o f t h e i ’ th i n p u t bond Dim pv_coupons ( ) As Double ReDim pv_coupons ( 1 To n ) t e s t = 10 Do While t e s t > 0 . 0 0 0 0 0 0 0 0 0 1 conv1 = sumarray ( r ) I f count = 1 Then count = 1 End I f For i = 1 To UBound (DT) D( i ) = S p l i n e . I n t e r p o l a t e (DT( i ) ) r_settle = Spline . Interpolate ( t_settle ) 109 APPENDIX D. CODE D( i ) = Exp(−D( i ) ∗ DT( i ) ∗ 0 . 0 1 ) ’ For j = 1 To n pv_coupons ( j ) = pv_coupons ( j ) + C( i , j ) ∗ D( i ) Next j Next i For i = 1 To n ’ The e q u a t i o n o f v a l u e r (m + i ) = ( 1 / t (m + i ) ) ∗ ( A p p l i c a t i o n . Ln (Pn( i ) ) − A p p l i c a t i o n . Ln (P( i ) ∗ Exp(− r _ s e t t l e ∗ t _ s e t t l e ∗ 0 . 0 1 ) − pv_coupons ( i ) ) ) ∗ 100 pv_coupons ( i ) = 0 Next i conv2 = sumarray ( r ) t e s t = Abs ( conv1 − conv2 ) S e t S p l i n e = New i n t e r p o l a t i o n S p l i n e . method = i n t e r p o l _ m e t h o d S p l i n e . x_values = t ( ) S p l i n e . y_values = r ( ) count = count + 1 Loop I f count > 50 Then MsgBox "The Bond B o o t s t r a p F a i l e d t o Converge " E x i t Sub End I f End Sub P r i v a t e Sub Swap_Bootstrap ( nSwaps As I n t e g e r , t ( ) As Double , r ( ) As Double , _ d a t e _ v e c t o r ( ) As Double , a l p h a ( ) As Double , _ i n t e r p o l _ m e t h o d As S t r i n g ) ’ ’ ’ ’ ’ ’ nSwaps = t h e number o f swaps used a s i n p u t s t = t h e s e t o f m a t u r i t y d a t e s o f t h e i n p u t swaps r = the zero r a t e s corresponding to t datevector = the vector of d i s t i n c t cash flow dates a l p h a = t h e v e c t o r r e p r e s e n t coupon t e n u r e s i n t e r p o l _ m e t h o d = t h e c h o s e n method o f i n t e r p o l a t i o n ’ Integers for i t e r a t i n g loops Dim iCount As I n t e g e r , jCount As I n t e g e r ’ The maximum number o f a l l o w a b l e i t e r a t i o n s Dim i ter Max As Long ’ V a r i a b l e used t o t r a c k t h e number o f i t e r a t i o n s Dim iter_Count As Long ’ Array used t o s t o r e t h e i n p u t s e t o f swap r a t e s Dim Swap_Rates ( ) As Double ’ The a r r a y used t o s t o r e t h e d i s c o u n t f a c t o r s c o r r e s p o n d i n g t o t h e d a t e _ v e c t o r Dim DF( ) As Double ’ V a r i a b l e s used t o t e s t f o r c o n v e r g e n c e Dim t e s t As Double , conv1 As Double , conv2 As Double ’ The number o f D e p o s i t s and FRAs used a s i n p u t s APPENDIX D. CODE 110 Dim n As I n t e g e r ’Dummy v a r i a b l e used t o s t r o r e t h e pv , o f a l l cash−f l o w s , e x l u s i n g t h e c a s h f l o w a t maturity , o f a p a r t i c u l a r swap Dim pv As Double it erM ax = 50 ’ The i n t e r p o l a t i o n o b j e c t S e t S p l i n e = New i n t e r p o l a t i o n S p l i n e . method = i n t e r p o l _ m e t h o d S p l i n e . x_values = t ( ) S p l i n e . y_values = r ( ) n = UBound ( t ) − nSwaps ReDim Swap_Rates ( 1 To nSwaps ) ReDim DF( 1 To UBound ( d a t e _ v e c t o r ) ) For iCount = 1 To UBound ( d a t e _ v e c t o r ) DF( iCount ) = S p l i n e . I n t e r p o l a t e ( d a t e _ v e c t o r ( iCount ) ) DF( iCount ) = Exp( −0.01 ∗ DF( iCount ) ∗ d a t e _ v e c t o r ( iCount ) ) Next iCount conv1 = sumarray ( r ) For iCount = 1 To nSwaps Swap_Rates ( iCount ) = 0 . 0 1 ∗ r ( iCount + n ) pv = 0 For jCount = 1 To ( Round ( 4 ∗ t ( n + iCount ) , 0 ) − 1 ) pv = pv + DF( jCount ) ∗ a l p h a ( jCount ) Next jCount ’ The e q u a t i o n o f v a l u e r ( iCount + n ) = ( −100 / t ( iCount + n ) ) ∗ A p p l i c a t i o n . Ln ( ( 1 − Swap_Rates ( iCount ) ∗ pv ) / ( 1 + Swap_Rates ( iCount ) _ ∗ a l p h a ( Round ( 4 ∗ t ( n + iCount ) , 0 ) ) ) ) Next iCount conv2 = sumarray ( r ) t e s t = Abs ( conv1 − conv2 ) iter_Count = 0 ’ Perform t h e i t e r a t i v e b o o t s t r a p Do While t e s t > 0 . 0 0 0 0 0 0 0 0 0 1 conv1 = sumarray ( r ) S p l i n e . method = i n t e r p o l _ m e t h o d S p l i n e . x_values = t ( ) S p l i n e . y_values = r ( ) For iCount = 1 To UBound ( d a t e _ v e c t o r ) DF( iCount ) = S p l i n e . I n t e r p o l a t e ( d a t e _ v e c t o r ( iCount ) ) DF( iCount ) = Exp( −0.01 ∗ DF( iCount ) ∗ d a t e _ v e c t o r ( iCount ) ) Next iCount For iCount = 1 To nSwaps pv = 0 For jCount = 1 To ( Round ( 4 ∗ t ( n + iCount ) , 0 ) − 1 ) pv = pv + DF( jCount ) ∗ a l p h a ( jCount ) Next jCount ’ The e q u a t i o n o f v a l u e APPENDIX D. CODE 111 r ( iCount + n ) = ( −100 / t ( iCount + n ) ) ∗ A p p l i c a t i o n . Ln ( ( 1 − Swap_Rates ( iCount ) ∗ pv ) / ( 1 + Swap_Rates ( iCount ) _ ∗ a l p h a ( Round ( 4 ∗ t ( n + iCount ) , 0 ) ) ) ) Next iCount conv2 = sumarray ( r ) t e s t = Abs ( conv1 − conv2 ) iter_Count = iter_Count + 1 Loop I f iter_Count > i ter Max Then MsgBox "The Swaps B o o t s t r a p F a i l e d t o Converge " E x i t Sub End I f End Sub D.3 Parametric Function The following python functions were used to calibrate the Nelson and Siegel (1987), and Svensson (1992) models to a set of zero-coupon bond prices. import numpy a s np from s c i p y . o p t i m i z e import fmin def Nelson_Siegel_Parameters ( t , r , k ) : """ Find b0 , b1 and b2 under t h e N e l s o n S i e g e l model , g i v e n a s e t o f t i m e s t , z e r o r a t e s r , and a non −i n e a r p a r a m e t e r k . """ n=l e n ( t ) X=np . z e r o s ( [ n , 3 ] ) f o r i in range (0 , n) : X[ i , 0 ] = 1 X[ i , 1 ] = ( 1 / t [ i ] ) ∗k∗(1−np . exp(− t [ i ] / k ) ) X[ i , 2 ] = ( 1 / t [ i ] ) ∗k∗(1−np . exp(− t [ i ] / k ) )−np . exp(− t [ i ] / k ) X = np . m a t r i x (X) Y = np . m a t r i x ( r ) . T r e t u r n ( (X. T∗X) . I ) ∗ (X. T∗Y) d e f Nelson_Siegel_Curve ( b0 , b1 , b2 , k , t ) : """ Given b0 , b1 and b2 , and a non−l i n e a r p a r a m e t e r k , f i n d t h e z e r o r a t e c o r r e s p o n d i n g t o tme t , under t h e Nelson−S i e g e l model . """ r e t u r n ( b0 + b1 ∗k∗(1−np . exp(− t /k ) ) / t+ b2 ∗k∗(1−np . exp(− t /k ) ) / t − b2 ∗np . exp(− t /k ) ) d e f R_square_NS ( Parameters , k , t , r ) : APPENDIX D. CODE 112 """ Find t h e v a l u e o f R2 g i v e n a s e t o f Nelson−S i e g e l p a r a m e t e r s , a v e c t o r o f t im e s , and a v e c t o r o f zero rates . """ mean = np . a v e r a g e ( r ) r h a t = np . z e r o s ( l e n ( t ) ) SStot = 0 SSerr = 0 f o r i in range (0 , len ( t ) ) : r h a t [ i ] = ( Nelson_Siegel_Curve ( P a ra m e t e r s [ 0 ] , Parameters [ 1 ] , P a r a m e t e r s [ 2 ] , k , t [ i ] ) ) S S t o t = S S t o t + np . power ( r [ i ]−mean , 2 ) S S e r r = S S e r r + np . power ( r [ i ]− r h a t [ i ] , 2 ) r e t u r n 1− S S e r r / S S t o t d e f Optmize_NS ( k , t , r ) : """ Find t h e v a l u e o f 1−R2 under t h e Nelson−S i e g e l model , g i v e n a s e t o f t i m e s t , z e r o r a t e s r , and a non−l i n e a r parameter k . """ i f k < 0: R2=0 else : Parameters = N e l s o n _ S i e g e l _ P a r a m e t e r s ( t , r , k ) i f ( Parameters [ 0 ] <= 0 ) o r ( P a r a m e t e r s [ 0 ] + P a r a m et e r s [ 1 ] <= 0 ) : R2 = 0 else : R2 = R_square_NS ( Parameters , k , t , r ) r e t u r n 1− R2 k = 0.5 k = fmin ( Optmize_NS , k , a r g s =(t , r ) , m a x i t e r = 1 0 0 0 ) """ Use 0 . 5 a s t h e i n i t i a l g u e s s f o r t h e non − l i n e a r parameter , and then u s e t h e Nelder −Mead o p t m i z a t i o n r o u t i n e t o o b t a i n t h e optimum v a l u e for k . """ d e f Svensson_Parameters ( t , r , k1 , k2 ) : """ Find b0 , b1 , b2 and b3 under t h e S v e n s s o n model , g i v e n a s e t o f t i m e s t , z e r o r a t e s r , and non−l i n e a r p a r a m e t e r s k1 and k2 . """ n=l e n ( t ) X=np . z e r o s ( [ n , 4 ] ) f o r i in range (0 , n) : X[ i , 0 ] = 1 X[ i , 1 ] = ( 1 / t [ i ] ) ∗ k1 ∗(1−np . exp(− t [ i ] / k1 ) ) X[ i , 2 ] = ( 1 / t [ i ] ) ∗ k1 ∗(1−np . exp(− t [ i ] / k1 ) )−np . exp(− t [ i ] / k1 ) X[ i , 3 ] = ( 1 / t [ i ] ) ∗ k2 ∗(1−np . exp(− t [ i ] / k2 ) )−np . exp(− t [ i ] / k2 ) X = np . m a t r i x (X) Y = np . m a t r i x ( r ) . T APPENDIX D. CODE r e t u r n ( l i n a l g . p i n v (X. T∗X) ) ∗ (X. T∗Y) d e f Svensson_Curve ( b0 , b1 , b2 , b3 , k1 , k2 , t ) : """ Given b0 , b1 , b2 , b3 and non−l i n e a r p a r a m e t e r s k1 and k2 , f i n d t h e z e r o r a t e c o r r e s p o n d i n g t o time t , under t h e S v e n s s o n model . """ r e t u r n ( b0 + b1 ∗ k1 ∗(1−np . exp(− t / k1 ) ) / t+ b2 ∗ k1 ∗(1−np . exp(− t / k1 ) ) / t − b2 ∗np . exp(− t / k1 ) + b3 ∗ k2 ∗(1−np . exp(− t / k2 ) ) / t − b3 ∗np . exp(− t / k2 ) ) d e f R_square_NSS ( Parameters , k1 , k2 , t , r ) : """ Find t h e v a l u e o f R2 g i v e n a s e t o f S v e n s s o n p a r a m e t e r s , non−l i n e a r p a r a m e t e r s k1 and k2 , a v e c t o r o f tim es , and a v e c t o r o f zero rates . """ mean = np . a v e r a g e ( r ) r h a t = np . z e r o s ( l e n ( t ) ) SStot = 0 SSerr = 0 f o r i in range (0 , len ( t ) ) : r h a t [ i ] = ( Svensson_Curve ( P ar a m e t e r s [ 0 ] , P a r a m e t e rs [ 1 ] , Parameters [ 2 ] , P a r a m e t e r s [ 3 ] , k1 , k2 , t [ i ] ) ) S S t o t = S S t o t + np . power ( r [ i ]−mean , 2 ) S S e r r = S S e r r + np . power ( r [ i ]− r h a t [ i ] , 2 ) r e t u r n 1−S S e r r / S S t o t d e f Optmize_NSS ( k , t , r ) : """ Find t h e v a l u e o f 1 − R2 under t h e S v e n s s o n model , g i v e n a s e t o f t i m e s and z e r o r a t e s , and non−l i n e a r p a r a m e t e r s k1 and k2 . """ i f ( k [ 0 ] <= 0 ) o r ( k [1] <=0) : R2=0 else : Parameters = Svensson_Parameters ( t , r , k [ 0 ] , k [ 1 ] ) i f ( ( Parameters [ 0 ] <= 0 ) o r ( P a r am e t e r s [ 0 ] + Parameters [ 1 ] <= 0 ) ) : R2 = 0 else : R2 = R_square_NSS ( Parameters , k [ 0 ] , k [ 1 ] , t , r ) r e t u r n 1− R2 k=[0.5 ,0.5] opt_k = fmin ( Optmize_NSS , k , a r g s =(t , r ) , m a x i t e r = 1 0 0 0 ) """ Use 0 . 5 a s t h e i n i t i a l g u e s s f o r both non , and non−l i n e a r p a r a m e t e r s , and then u s e Nelder −Mead o p t m i z a t i o n r o u t i n e t o o b t a i n t h e optimum v a l u e s f o r k1 and k2 """ 113 List of References Adams, K. (2001). Smooth interpolation of zero curves. Algo Research Querterly, vol. 4, no. 1, pp. 11–12. Adams, K. and van Deventer, D. (1994). Fitting yield curves and forward rate curves with maximum smoothness. Journal of Fixed Income, vol. 4, no. 1, pp. 52–62. Akima, H. (1970). A new method of interpolation and smooth curve fitting based on local procedures. Journal of the Association for Computing Machinery, vol. 17, pp. 589–602. Andersen, L. (2007). Discount curve construction with tension splines. Derivatives Discussion, vol. 3, pp. 227–267. Anderson, N. and Sleath, J. (2001). New estimates of the UK real and nominal yield curves. Working paper, Bank of England. Annaert, J., Claes, A., Ceuster, M.D. and Zhang, H. (2010). Estimating the yield curve using the Nelson-Siegel Model. Working paper, Universiteit Antwerpen. Bliss, R. (1997). Testing term structure estimation methods. Advances in Futures and Options Research, vol. 9, pp. 197–231. Burden, L. and Faires, J. (2005). Numerical Analysis. 6th edn. Thomson Brooks/Cole. Burghardt, G. and Hoskins, W. (1994). The convexity bias in Eurodollar futures. Research note, CARR Futures. Cairns, A. and Pritchard, D. (2001). Stability of descriptive models for the term structure of interest rates with applications to german market data. British Actuarial Journal, vol. 7, pp. 467–507. Cox, J.C., Ingersoll, J.E. and Ross, S.A. (1977). A theory of the term structure of interest rates. Econometrica, vol. 53, pp. 385–407. Cox, J.C., Ingersoll, J.E. and Ross, S.A. (1981). The relation between forward prices and futures prices. Journal of Financial Economics, vol. 9, pp. 321–346. Daeves, R. and Parlar, M. (2000). A generalized bootstrap method to determine the yield curve. Applied Mathematical Finance, vol. 7, pp. 257–270. 114 LIST OF REFERENCES 115 de Boor, C. (1978, 2001). A Practical Guide to Splines: Revised Edition. Vol. 27 of Applied Mathematical Sciences. Springer-Verlag. de Boor, C. and Swartz, B. (1977). Piecewise monotone interpolation. Journal of Approximation Theory, vol. 21, pp. 411–416. de Pooter, M. (2007). Examining the Nelson-Siegel class of term structure models. Tinbergen Institute Discussion Paper. Diebold, F. and Li, C. (2006). Forecasting the term structure of government bond yields. Journal of Econometrics, vol. 130, pp. 337–364. Fabozzi, F.J., Martellini, L. and Priaulet, P. (2005). Predictability in the shape of the term structure of interest rates. Journal of Fixed Income, vol. 15, no. 1, pp. 40–53. Fama, E. and Bliss, R. (1987). The information in long-maturity forward rates. The American Economic Review, vol. 7, no. 4, pp. 680–692. Ferguson, R. and Raymar, S. (1998). A comparative analysis of several popular term structure estimation models. Journal of Fixed Income, vol. 7, no. 4, pp. 17–33. Fisher, M., Nychka, D. and Zervos, D. (1995). Fitting the term structure of interest rates with smoothing splines. Finance and Economics Discussion Series, vol. 95, no. 1. Fritsch and Carlson (1980). Monotone piecewise cubic interpolation. SIAM Journal of Numerical Analysis, vol. 17, no. 2. Gilli, M., Große, S. and Schumann, E. (2010). Calibrating the Nelson-Siegel-Svensson model. COMISEF Working Papers Series, vol. 31. Hagan, P. and West, G. (2006). Interpolation methods for curve construction. Applied Mathematical Finance, vol. 13, no. 2. Hagan, P. and West, G. (2008). Methods for constructing a yield curve. Wilmott magazine, May, pp. 70 - 81. Ho, T. and Lee, S. (1986). Term structure movements and pricing interest rate contingent claims. Journal of Finance, vol. 41, no. 5, pp. 1011–1029. Hull, J. (2006). Options Futures and Other Derivatives. 6th edn. Prentice Hall. Hull, J. and White, A. (1990). Pricing interest rate derivative securities. The Review of Financial Studies, vol. 3, no. 4, pp. 573–592. Hyman, J. (1983). Accurate monotonicity preserving cubic interpolation. SIAM Journal of Scientific and Statistical Computing, vol. 4, no. 4, pp. 645–654. Ioannides, M. (2003). A comparison of yield curve estimation techniques using UK data. Journal of Banking and Finance, vol. 27, pp. 1–26. LIST OF REFERENCES 116 Lim, K. and Xiao, Q. (2002). Computing maximum smoothness forward rate curves. Statistics and Computing, vol. 12, pp. 275–279. Mcculnosh, J. (1971). Measuring the term structure of interest rates. Journal of Business, vol. 44, no. 1, pp. 19–31. Mcculnosh, J. (1975). The tax adjusted yield curve. Journal of Finance, vol. 30, no. 3, pp. 811–830. Mcculnosh, J. and Kochin, L. (2000). The inflation premium implicit in the US real and nominal term strucutures of interest rates. Technival report 12, Ohio State University (Economics Department). Nelson, C. and Siegel, A. (1987). Parsimonious modeling of yield curves. Journal of Business, vol. 60, pp. 173–489. Rebonato, R. (1998). Interest-Rate Option Models. 2nd edn. Wiley & Sons. Shea, G. (1984). Pitfalls in smoothing interest rate term structure data: equilibrium models and spline approximations. Journal of Financial and Quantitative Analysis, vol. 19, pp. 253–269. Shea, G. (1985). Interest rate term structure estimation with exponential splines: A note. Journal of Finance, vol. 40, pp. 319–325. Smit, L. (2000). An Analysis of the Term Strucure of Interest Rates and Bond Options in the South African Capital Market. Ph.D. thesis, University of Pretoria. Steeley, J. (2008). Testing term structure estimation methods: evidence from the UK STRIPs market. Journal of Money, Credit and Banking, vol. 40, no. 7, pp. 1489–1512. Svensson, L. (1992). Estimating and interpreting forward interest rates: Sweden. International Monetary Fund, vol. 4, no. 114. Tangaard, C. (1997). Nonparametric smoothing of yield curves. Review of Quantitative Finance and Accounting, vol. 9, pp. 251–267. Bank For International Settlements (2005). Zero-coupon yield curves: Technical documentation. BIS Papers, vol. 25. Bond Exchange of South Africa (2005). Bond pricing formula. Report, Bond Exchange of South Africa. Money Market Liaison Group (2007). Overnight funding rates published by the South African reserve bank. Implementation paper, South African Reserve Bank. Quant Financial Research (2003). The BEASSA zero coupon yield curves: Technical specifications. Working paper, Quant Financial Research. LIST OF REFERENCES 117 South African Reserve Bank (2006). Intended replacement of the South African Overnight Interbank Average (SAONIA) rate with an improved benchmark call rate. Discussion paper, South African Reserve Bank. Vasicek, O. and Fong, D. (1982). Term structure estimation using exponential splines. Journal of Finance, vol. 28, pp. 339–348. Waggoner, D. (1997). Spline methods for extracting interest rate curves from coupon bond prices. Working Paper 10, Federal Reserve Bank of Atlanta. West, G. (2009). South African financial markets. Working paper, Financial Modelling Agency. Zangari, P. (1997). An investigation into term structure estimation methods. Riskmetrics monitor, Third Quarter, pp. 3 - 32.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement