 Finance - Maple Programming Help

Home : Support : Online Help : Mathematics : Finance : Financial Instruments : Finance/ZeroCouponBond

Finance

 ZeroCouponBond
 create new zero-coupon bond

 Calling Sequence ZeroCouponBond(redemptionvalue, term, units, opts) ZeroCouponBond(redemptionvalue, maturity, opts)

Parameters

 redemptionvalue - positive constant; bond's redemption value term - positive integer; time to maturity in time units units - Days, Weeks, Months, or Years; time units maturity - a date specified in a format recognized by the ParseDate command; maturity date opts - (optional) equation(s) of the form option = value where option is one of calendar, convention, daycounter, issuedate, or settlementdays; specify options for the ZeroCouponBond command

Options

 • calendar = a name representing a supported calendar (e.g. Toronto, NewYork) or a calendar data structure created using the Calendar constructor -- This option can be used to specify the underlying calendar.
 • convention =  Unadjusted, Preceding, ModifiedPreceding, Following, ModifiedFollowing, or MonthEndReference -- This option can be used to specify business day conventions. The default value is Following.
 • daycounter = a name representing a supported day counter (e.g. ISDA, Simple) or a day counter data structure created using the DayCounter constructor -- This option provides a day counter that will be used to convert the period between two dates to a fraction of the year.
 • issuedate = a string containing a date specification in a format recognized by ParseDate or a date data structure -- This option provides the issue date of a bond. It is set to the global evaluation date by default.
 • settlementdays = positive integer -- This option specifies the number of settlement days. The default value is 1.

Description

 • The ZeroCouponBond command creates a new zero-coupon bond with the specified redemption value and maturity. It is assumed that the redemption value is equal to the face value of the bond.

Examples

 > $\mathrm{with}\left(\mathrm{Finance}\right):$

First set the global evaluation date.

 > $\mathrm{SetEvaluationDate}\left("January 05, 2007"\right):$

Construct the same zero-coupon bond using two different methods.

 > $\mathrm{Maturity}≔\mathrm{AdvanceDate}\left(\mathrm{EvaluationDate}\left(\right),5,'\mathrm{Years}'\right)$
 ${\mathrm{Maturity}}{≔}{"January 5, 2012"}$ (1)
 > $\mathrm{B1}≔\mathrm{ZeroCouponBond}\left(100,5,\mathrm{Years}\right)$
 ${\mathrm{B1}}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (2)
 > $\mathrm{B2}≔\mathrm{ZeroCouponBond}\left(100,\mathrm{Maturity}\right)$
 ${\mathrm{B2}}{:=}{\mathbf{module}}\left({}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end module}}$ (3)

Get the set of cash flows for your bonds.

 > $\mathrm{CashFlows}\left(\mathrm{B1}\right)$
 $\left[{\mathrm{100. on \text{'}January 5, 2012\text{'}}}\right]$ (4)
 > $\mathrm{CashFlows}\left(\mathrm{B2}\right)$
 $\left[{\mathrm{100. on \text{'}January 5, 2012\text{'}}}\right]$ (5)

Calculate the clean price and the dirty price for your bonds using the fixed rate of 5% as the discount rate.

 > $\mathrm{cleanprice1}≔\mathrm{CleanPrice}\left(\mathrm{B1},0.05\right)$
 ${\mathrm{cleanprice1}}{≔}{77.88019490}$ (6)
 > $\mathrm{dirtyprice1}≔\mathrm{DirtyPrice}\left(\mathrm{B1},0.05\right)$
 ${\mathrm{dirtyprice1}}{≔}{77.88019490}$ (7)
 > $\mathrm{cleanprice2}≔\mathrm{CleanPrice}\left(\mathrm{B2},0.05\right)$
 ${\mathrm{cleanprice2}}{≔}{77.88019490}$ (8)
 > $\mathrm{dirtyprice2}≔\mathrm{DirtyPrice}\left(\mathrm{B2},0.05\right)$
 ${\mathrm{dirtyprice2}}{≔}{77.88019490}$ (9)
 > $\mathrm{NetPresentValue}\left(\mathrm{B2},0.05\right)$
 ${77.88019490}$ (10)

Calculate the bonds' yield using the previous discount rate.

 > $\mathrm{YieldFromCleanPrice}\left(\mathrm{B1},\mathrm{cleanprice1}\right)$
 ${0.05000000002}$ (11)
 > $\mathrm{YieldFromCleanPrice}\left(\mathrm{B2},\mathrm{cleanprice2}\right)$
 ${0.05000000002}$ (12)

References

 Brigo, D., Mercurio, F., Interest Rate Models: Theory and Practice. New York: Springer-Verlag, 2001.
 Glasserman, P., Monte Carlo Methods in Financial Engineering. New York: Springer-Verlag, 2004.
 Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.

Compatibility

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