create new zero curve based on the specified discount factors
DiscountCurve(times, rates, opts)
DiscountCurve(dates, rates, opts)
real constant, algebraic expression, or a procedure; discount factor
list or Vector of non-negative constants; times (in years)
list or Vector of non-negative constants; discount factors
list of dates in one of the formats recognized by the ParseDate command; dates
equations of the form option = value where option is one of daycounter, interpolation, or referencedate; specify options for the DiscountCurve command
compounding = Simple, Continuous, Annual, Semiannual, EveryFourthMonth, Quarterly, Bimonthly, Monthly, SimpleThenAnnual, SimpleThenSemiannual, SimpleThenEveryFourthMonth, SimpleThenQuarterly, SimpleThenBimonthly, or SimpleThenMonthly -- This option specifies the compounding type for the given discount factor(s).
daycounter = Actual360, Actual365Fixed, AFB, Bond, Euro, Historical, ISDA, ISMA, OneDay, Simple, Thirty360BondBasis, Thirty360EuroBondBasis, Thirty360European, Thirty360Italian, Thirty360USA, or a day counter data structure -- This option specifies the convention used to convert the amount of time between two dates to year fractions.
interpolation = BackwardFlat, Cubic, ForwardFlat, Linear, or LogLinear -- This option specifies the type of interpolation used to build a discount curve from a discrete set of discount factors. The LogLinear interpolation is used by default.
referencedate = date in any of the formats recognized by the ParseDate command -- This option specifies the reference date (when the discount factor is equal to 1).
The DiscountCurve command creates a new yield curve based on the specified discount factors; the resulting curve is represented as a module. This module can be passed to other commands of the Finance package that expect a yield term structure as one of the parameters; it can also be used as if it were a procedure. Assume for example that the module returned by DiscountCurve was assigned to the name R. Then for any positive constant t, R⁡t will return a discount factor for the maturity t based on the term structure R. If d is a date given in any of the formats recognized by the ParseDate command, then the R⁡d command will return the discount factor for the corresponding maturity.
The DiscountCurve(rate, opts) command creates a zero curve based on the specified interest rate. The parameter rate can be either a real constant, a Maple procedure or an algebraic expression. If rate is a real constant then the DiscountCurve command contracts a flat term structure based on the specified interest rate. If rate is a procedure it should accept one parameter (the time) and return the corresponding rate as a floating-point number. Finally, if rate is an algebraic expression, it should depend on a single variable. This variable will be taken as time.
The DiscountCurve(times, rates, opts) and DiscountCurve(dates, rates, opts) commands create a term structure based on piecewise interpolation of specified discount factors. The parameters rates and times can be either a list or a Vector containing numeric values and must have the same number of elements. The parameter dates is a list of dates in one of the formats recognized by ParseDate.
Objects created using the DiscountCurve command will be of Maple type YieldTermStructure.
SetEvaluationDate⁡November 25, 2006:
In this example create a discount curve based on a piecewise interpolation of discount rates. Use the linear interpolation.
discountfactors ≔ 1.,0.995,0.989,0.981,0.975,0.964,0.944,0.930,0.914,0.886,0.860,0.842,0.832,0.831,0.827,0.823,0.815,0.795,0.778,0.770:
times ≔ 0.25,0.50,0.75,1.0,1.2,1.5,1.8,2.0,2.2,2.5,2.8,3.0,3.2,3.5,3.8,4.0,4.2,4.5,4.8,5.0:
discountcurve ≔ DiscountCurve⁡times,discountfactors:
date2 ≔ AdvanceDate⁡6,Months
date2≔May 25, 2007
time2 ≔ YearFraction⁡date2
Construct discount curves based on different types of interpolation of the given rates.
discountcurve2 ≔ DiscountCurve⁡times,discountfactors,interpolation=BackwardFlat:
discountcurve3 ≔ DiscountCurve⁡times,discountfactors,interpolation=ForwardFlat:
discountcurve4 ≔ DiscountCurve⁡times,discountfactors,interpolation=Cubic:
Construct a discount yield term structure based on a Maple function.
f ≔ CurveFitting:-Spline⁡times,discountfactors,t,degree=4
discountcurve5 ≔ DiscountCurve⁡f:
Brigo, D., Mercurio, F., Interest Rate Models: Theory and Practice. New York: Springer-Verlag, 2001.
Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.
The Finance[DiscountCurve] command was introduced in Maple 15.
For more information on Maple 15 changes, see Updates in Maple 15.
Download Help Document