Learn R Programming

YieldCurve (version 4.1)

NSrates: Interest rates of the Nelson-Siegel's model.

Description

Returns the interest rates by Nelson-Siegel's model.

Usage

NSrates(Coeff, maturity)

Arguments

Coeff
Vector or matrix of the beta's coefficients and lambda as the function Nelson.Siegel returns.
maturity
maturity of the yield curve of which want to return the interest rates.

Value

Return interest rates in matrix object with number of rows equal to nrow(betaCoeff) and number of columns equal to length(maturity).

Details

Coeff is a vector or matrix of the four coefficients of the Nelson-Siegel's model: $(\beta_0; \beta_1; \beta_2; \lambda)$.

References

Diebold, F.X. and Li, C. (2006), Forecasting the Term Structure of Government Bond Yields, Journal of Econometrics, 130, 337-364.

Diebold, F.X., Ji, L. and Li, C. (2006), A Three-Factor Yield Curve Model: Non-Affine Structure, Systematic Risk Sources, and Generalized Duration, in L.R. Klein (ed.), Long-Run Growth and Short-Run Stabilization: Essays in Memory of Albert Ando. Cheltenham, U.K.: Edward Elgar, 240-274.

Nelson, C.R., and A.F. Siegel (1987), Parsimonious Modeling of Yield Curve, The Journal of Business, 60, 473-489.

Examples

Run this code
data(FedYieldCurve)
maturity.Fed <- c(3/12, 0.5, 1,2,3,5,7,10)
NSParameters <- Nelson.Siegel( rate = first(FedYieldCurve,'10 month'), maturity=maturity.Fed )
y <- NSrates(NSParameters[5,],maturity.Fed)
plot(maturity.Fed,FedYieldCurve[10,],main="Fitting Nelson-Siegel yield curve", type="o")
lines(maturity.Fed,y, col=2)
legend("topleft",legend=c("observed yield curve","fitted yield curve"),
col=c(1,2),lty=1)
grid()

Run the code above in your browser using DataLab