 Finance - Maple Programming Help

Home : Support : Online Help : Mathematics : Finance : Interest Rates : Finance/ForwardRate

Finance

 ForwardRate
 compute forward rates based an a given term structure

 Calling Sequence ForwardRate(termstructure, maturitytime, opts) ForwardRate(termstructure, maturitydate, opts) ForwardRate(termstructure, expirytime, maturitytime, opts) ForwardRate(termstructure, expirydate, maturitydate, opts)

Parameters

 termstructure - yield term structure; term structure maturitytime - non-negative constant; maturity time in years expirytime - non-negative constant; expiry time in years maturitydate - non-negative constant; maturity date expirydate - non-negative constant; expiry date opts - Equations of the form option = value where option is compounding; specify options for the ForwardRate command

Options

 • compounding = Simple, Continuous, Annual, Semiannual, EveryFourthMonth, Quarterly, Bimonthly, Monthly, SimpleThenAnnual, SimpleThenSemiannual, SimpleThenEveryFourthMonth, SimpleThenQuarterly, SimpleThenBimonthly, or SimpleThenMonthly -- This option specifies the compounding type for the returned rate. The default value is Continuous.

Description

 • The ForwardRate(termstructure, expirytime, maturitytime) and ForwardRate(termstructure, expirytime, maturitytime) calling sequences return the forward interest rate for the specified expiry and maturity. The parameter termstructure can be a zero curve, a discount curve, or a forward curve. The compounding type for the returned rate can be controlled through the corresponding option.
 • The ForwardRate(termstructure, maturitytime) and ForwardRate(termstructure, maturitytime) calling sequences calculate an approximation of the instantaneous forward interest rate for the maturity maturitytime or maturitydate based on the specified term structure.

Examples

 > with(Finance):
 > times := [0, 0.5, 1, 1.5, 2]:
 > rates := [0.03, 0.04, 0.06, 0.07,0.075]:
 > R := ZeroCurve(times, rates, interpolation = LogLinear):
 > ForwardRate(R, 0.0, 0.5);
 ${0.04000000000}$ (1)
 > ForwardRate(R, 0.1, 0.5);
 ${0.04205582119}$ (2)
 > ForwardRate(R, 1.5);
 ${0.08448956888}$ (3)
 > plots[display](plot('ForwardRate'(R, 0.1, t), t = 0.5..2, color = blue, thickness = 3), plot('ForwardRate'(R, 0.3, t), t = 0.5..2, color = blue, thickness = 3), axes = BOXED, gridlines = true); In this example, create a flat zero curve with reference date set to January 5, 2006.

 > R1 := ZeroCurve(0.05, referencedate = "Jan-05-2006"):
 > R1(1.0);
 ${0.05000000000}$ (4)
 > ForwardRate(R1, 1.0);
 ${0.05000000000}$ (5)
 > ForwardRate(R1, 0.5, 1.5);
 ${0.05000000000}$ (6)
 > ForwardRate(R1, "Jan-05-2007");
 ${0.04999999999}$ (7)
 > T := YearFraction("Jan-05-2006", "Jan-05-2007", R1:-daycounter);
 ${T}{≔}{1.}$ (8)

In this example, create a zero curve with the same parameters as above but assume that the interest rate is based on the monthly compounding.

 > R2 := ZeroCurve(0.05, compounding = Monthly, referencedate = "Jan-05-2005"):
 > R2("Jan-05-2005");
 ${0.04989612178}$ (9)
 > R2(1.0);
 ${0.04989612178}$ (10)
 > ForwardRate(R2, .5, 1.0);
 ${0.04989612178}$ (11)

In this example, create a zero curve based on a piecewise interpolation of zero rates. Use the default interpolation.

 > rates := [0.02, 0.01, 0.04, 0.06, 0.07]:
 > times := [0.0, 0.5, 1.0, 1.5, 2.0]:
 > R3 := ZeroCurve(times, rates):
 > ForwardRate(R3, .5, 1.0);
 ${0.07000000000}$ (12)

References

 Brigo, D., Mercurio, F., Interest Rate Models: Theory and Practice. New York:
 Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.

Compatibility

 • The Finance[ForwardRate] command was introduced in Maple 15.