calculate the duration of a set of cash flows or bonds - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Finance : Cash Flow Analysis : Finance/Duration

Finance[Duration] - calculate the duration of a set of cash flows or bonds

Calling Sequence

Duration(cashflows, rate, opts)

Duration(bond, rate, opts)

Parameters

cashflows

-

cash flow data structure or a list of cash flow data structures; cash flows

bond

-

fixed- or floating-rate bond data structure; bond

rate

-

non-negative real number; interest rate

opts

-

equations of the form option = value where option is one of evaluation, compounding, or daycounter; specify options for the Duration command

Description

• 

The Duration command calculates the duration of a set of cash flows or a portfolio of bonds.

• 

For a set of cash flows Ct the simple duration is defined as

ttCtPttCtPt

where Pt is the discount at time t implied by the given interest rate. There are at least two ways to calculate Pt. One can either use a yield term structure or an internal rate of return of the set of cash flows. In the latter case one would obtain the Macaulay duration.

• 

A bond's duration is defined in a similar way. It can also be interpreted as the weighted first derivative of the price:

ⅆⅆrBrBr

• 

Duration is useful as a measure of sensitivity of a bond's or cash flows' price to interest rate movements.

• 

The parameter cashflows is a cash flow data structure or a list of cash flow data structures.

• 

The parameter bond must be a fixed- or floating-rate bond data structure.

Examples

withFinance:

SetEvaluationDateJanuary 1, 2005:

paymentdate:=January 1, 2007

paymentdate:=January 1, 2007

(1)

cashflow1:=seqSimpleCashFlow100,AdvanceDatepaymentdate,i,Years,i=1..10

cashflow1:=100. on January 1, 2008,100. on January 1, 2009,100. on January 1, 2010,100. on January 1, 2011,100. on January 1, 2012,100. on January 1, 2013,100. on January 1, 2014,100. on January 1, 2015,100. on January 1, 2016,100. on January 1, 2017

(2)

Durationcashflow1,0.03,evaluationdate=January 1, 2005

7.252874161

(3)

Durationcashflow1,0.03,evaluationdate=January 1, 2004

8.252874161

(4)

Here is another example.

nominalamt:=100

nominalamt:=100

(5)

rate:=0.05

rate:=0.05

(6)

startdate:=January 1, 2006

startdate:=January 1, 2006

(7)

cashflow2:=seqFixedRateCouponnominalamt,rate,startdate,AdvanceDatestartdate,i,Years,i=1..10

cashflow2:=5. on January 1, 2007,10. on January 1, 2008,15. on January 1, 2009,20. on January 1, 2010,25. on January 1, 2011,30. on January 1, 2012,35. on January 1, 2013,40. on January 1, 2014,45. on January 1, 2015,50. on January 1, 2016

(8)

Compute the value of this cash flow on January 1, 2005.

Durationcashflow2,0.03,evaluationdate=January 1, 2005

7.816330091

(9)

Compute the Macaulay duration for the previous cash flow.

irr:=InternalRateOfReturncashflow2,15

irr:=0.4458188048

(10)

Durationcashflow2,irr

5.076090247

(11)

Here is an example using bonds.

bond:=FixedCouponBond100,5,Years,0.05

bond:=moduleend module

(12)

cflows:=CashFlowsbond

cflows:=5. on 'January 1, 2006',5. on 'January 1, 2007',5. on 'January 1, 2008',5. on 'January 1, 2009',5. on 'January 1, 2010',100. on 'January 1, 2010'

(13)

Durationbond,0.03,evaluationdate=January 5, 2000

9.556636250

(14)

Durationcflows,0.03,evaluationdate=January 5, 2000

9.556636250

(15)

See Also

Finance[CompoundFactor], Finance[Convexity], Finance[DiscountFactor], Finance[FixedRateCoupon], Finance[InArrearIndexedCoupon], Finance[NetPresentValue], Finance[ParCoupon], Finance[SimpleCashFlow], Finance[UpFrontIndexedCoupon], Finance[ZeroCurve]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam