Fit smoothing spline to bond market data
CurveObj = IRFunctionCurve.fitSmoothingSpline(Type, Settle,
Instruments, Lambdafun) CurveObj = IRFunctionCurve.fitSmoothingSpline(Type, Settle,
Instruments, Lambdafun, 'Parameter1', Value1, 'Parameter2',
Value2, ...)
Note:
You must have a license for Curve Fitting Toolbox™ software
to use the |
Type | Type of interest-rate curve for a bond: | |
Settle | Scalar for the | |
Instruments |
| |
Lambdafun | Penalty function that takes as its input time and returns a penalty value. Use a function handle to support the penalty function. The function handle for the penalty function which takes one numeric input (time-to-maturity) and returns one numeric output (penalty to be applied to the curvature of the spline). For more information on defining a function handle, see the MATLAB^{®} Programming Fundamentals documentation.
| |
Knots | (Optional) Vector of knot locations (times-to-maturity);
by default, knots is set to be a vector comprised of | |
Compounding | (Optional) Scalar that sets the compounding frequency
per year for the
| |
Basis | (Optional) Day-count basis of the interest-rate curve. A scalar of integers.
For more information, see basis. |
For each bond Instrument
, you can specify
the following additional instrument parameters as parameter/value
pairs. For example, InstrumentBasis
distinguishes
a bond instrument's Basis
value from the curve's Basis
value.
| (Optional) Coupons per year of the bond. A vector of integers. Allowed values are 0, 1, 2 (default), 3, 4, 6, and 12. |
| (Optional) Day-count basis of the bond. A vector of integers.
For more information, see basis. |
| (Optional) End-of-month rule. A vector. This rule applies
only when |
| (Optional) Date when an instrument was issued. |
| (Optional) Date when a bond makes its first coupon payment;
used when bond has an irregular first coupon period. When |
| (Optional) Last coupon date of a bond before the maturity
date; used when bond has an irregular last coupon period. In the absence
of a specified |
| (Optional) Face or par value. Default = |
Note:
When using |
Fcurve = IRFunctionCurve.fitSmoothingSpline(Type, Settle,
Instruments, Lambdafun, 'Parameter1', Value1, 'Parameter2', Value2,
...)
fits a smoothing spline to market data for a bond.
You must enter the optional arguments for Basis
, Compounding
,
and Knots
as parameter/value pairs.
[1] Nelson, C.R., Siegel, A.F. "Parsimonious modelling of yield curves." Journal of Business. Vol. 60, 1987, pp 473–89.
[2] Svensson, L.E.O. "Estimating and interpreting forward interest rates: Sweden 1992-4." International Monetary Fund, IMF Working Paper, 1994/114.
[3] Fisher, M., Nychka, D., Zervos, D. "Fitting the term structure of interest rates with smoothing splines." Board of Governors of the Federal Reserve System, Federal Reserve Board Working Paper 1995-1.
[4] Anderson, N., Sleath, J. "New estimates of the UK real and nominal yield curves." Bank of England Quarterly Bulletin, November, 1999, pp 384–92.
[5] Waggoner, D. "Spline Methods for Extracting Interest Rate Curves from Coupon Bond Prices." Federal Reserve Board Working Paper 1997–10.
[6] "Zero-coupon yield curves: technical documentation." BIS Papers No. 25, October 2005.
[7] Bolder, D.J., Gusba, S. "Exponentials, Polynomials, and Fourier Series: More Yield Curve Modelling at the Bank of Canada." Working Papers 2002–29, Bank of Canada.
[8] Bolder, D.J., Streliski, D. "Yield Curve Modelling at the Bank of Canada." Technical Reports 84, 1999, Bank of Canada.