create new floating-rate bond - Maple Help

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

Finance[FloatingRateBond] - create new floating-rate bond

 Calling Sequence FloatingRateBond(redemptionvalue, maturity, timeunit, rate, spreads, options) FloatingRateBond(redemptionvalue, maturitydate, rate, spreads, options)

Parameters

 redemptionvalue - bonds redemption value maturitydate - a date specified in a format recognized by the ParseDate command; maturity date maturity - a nonnegative integer specifying the quantity of the time units timeunit - Days, Weeks, Months, or Years; time units rate - benchmark rate data structure; variable rate spreads - a list or Vector of the spreads on the interest rate opts - (optional) equation(s) of the form option = value where option is one of calendar, convention, frequency, daycounter, issuedate, or settlementdays; specify options for the FloatingRateBond command

Description

 • The FloatingRateBond commands creates a new floating-rate bond with the specified parameters. It is assumed that the face value of the bond is $100.0$.

Examples

 > $\mathrm{with}\left(\mathrm{Finance}\right):$
 > $\mathrm{SetEvaluationDate}\left("January 15, 2007"\right):$
 > $\mathrm{Settings}\left(\left[\mathrm{daycounter}=\mathrm{Historical},\mathrm{businessdayconvention}=\mathrm{Unadjusted},\mathrm{settlementdays}=0\right]\right)$
 $\left[{\mathrm{daycounter}}{=}{\mathrm{Historical}}{,}{\mathrm{businessdayconvention}}{=}{\mathrm{Unadjusted}}{,}{\mathrm{settlementdays}}{=}{0}\right]$ (1)
 > $\mathrm{rate}:=\mathrm{BenchmarkRate}\left(0.03\right)$
 ${\mathrm{rate}}{:=}{\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{LoadHistory}\left(\mathrm{rate},"December 23, 2006",\left[0.023,0.025,0.021,0.022,0.023,0.02,0.021,0.024,0.025,0.026,0.027,0.028\right]\right)$
 > $\mathrm{spreads}:=⟨0.001,0.0012,0.0014,0.0016⟩$
 ${\mathrm{spreads}}{:=}\left[\begin{array}{c}{0.001}\\ {0.0012}\\ {0.0014}\\ {0.0016}\end{array}\right]$ (3)
 > $\mathrm{bond}:=\mathrm{FloatingRateBond}\left(100,5,\mathrm{Years},\mathrm{rate},\mathrm{spreads},\mathrm{issuedate}="January 02, 2007"\right):$

Get the set of cash flows for your bonds.

 > $\mathrm{CashFlows}\left(\mathrm{bond}\right)$
 $\left[{\mathrm{2.699979789 on \text{'}January 2, 2008\text{'}}}{,}{\mathrm{3.120146310 on \text{'}January 2, 2009\text{'}}}{,}{\mathrm{3.140123291 on \text{'}January 2, 2010\text{'}}}{,}{\mathrm{3.160123291 on \text{'}January 2, 2011\text{'}}}{,}{\mathrm{3.160099636 on \text{'}January 2, 2012\text{'}}}{,}{\mathrm{100. on \text{'}January 2, 2012\text{'}}}\right]$ (4)

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

 > $\mathrm{cleanprice}:=\mathrm{CleanPrice}\left(\mathrm{bond},0.05\right)$
 ${\mathrm{cleanprice}}{:=}{91.08881737}$ (5)
 > $\mathrm{dirtyprice}:=\mathrm{DirtyPrice}\left(\mathrm{bond},0.05\right)$
 ${\mathrm{dirtyprice}}{:=}{91.18498176}$ (6)
 > $\mathrm{accrued}:=\mathrm{AccruedAmount}\left(\mathrm{bond}\right)$
 ${\mathrm{accrued}}{:=}{0.09616438356}$ (7)

Calculate the bond's yield using the previous discount rate.

 > $\mathrm{YieldFromCleanPrice}\left(\mathrm{bond},\mathrm{cleanprice}\right)$
 ${0.05000000002}$ (8)
 > $\mathrm{YieldFromDirtyPrice}\left(\mathrm{bond},\mathrm{dirtyprice}\right)$
 ${0.04999999999}$ (9)

Note that the face value is always $100.0$ and the coupon payments are calculated based on this rate.

 > $\mathrm{bond2}:=\mathrm{FloatingRateBond}\left(120,5,\mathrm{Years},\mathrm{rate},\mathrm{spreads},\mathrm{issuedate}="January 02, 2007"\right):$

Get the set of cash flows for your bonds.

 > $\mathrm{CashFlows}\left(\mathrm{bond2}\right)$
 $\left[{\mathrm{2.699979789 on \text{'}January 2, 2008\text{'}}}{,}{\mathrm{3.120146310 on \text{'}January 2, 2009\text{'}}}{,}{\mathrm{3.140123291 on \text{'}January 2, 2010\text{'}}}{,}{\mathrm{3.160123291 on \text{'}January 2, 2011\text{'}}}{,}{\mathrm{3.160099636 on \text{'}January 2, 2012\text{'}}}{,}{\mathrm{120. on \text{'}January 2, 2012\text{'}}}\right]$ (10)

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.