InternalRateOfReturn - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Finance

  

InternalRateOfReturn

  

calculate the internal rate of return of a set of cash flows

 

Calling Sequence

Parameters

Options

Description

Examples

Compatibility

Calling Sequence

InternalRateOfReturn(cashflows, price, opts)

InternalRateOfReturn(bond, price, opts)

Parameters

cashflows

-

data structure created using the SimpleCashFlow constructor or a list of such data structures; cash flows

price

-

real constant; market price of the set of cash flows

bond

-

fixed or floating rate bond data structure; bond

opts

-

equations of the form option = value where option is one of evaluationdate, compounding, daycounter, maxiterations, tolerance, or guess; specify options for the InternalRateOfReturn 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 given interest rate.

• 

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.

• 

evaluationdate =  a string containing a date specification in a format recognized by ParseDate or a Date data structure -- This option specifies the evaluation date. By default this is set to the global evaluation date (see EvaluationDate).

• 

tolerance = positive constant -- This option specifies the required absolute precision of the returned result. The default value is 1e-9.

• 

maxiterations = positive integer -- This option specifies the maximum number of iterations that can be performed  to obtain the result. When the maximum number of iterations has been reached, but InternalRateOfReturn cannot guarantee the requested accuracy of the result, an error will be thrown. The default value is 100000 iterations.

• 

guess = positive constant -- This option can be used to specify the initial guess.

Description

• 

The InternalRateOfReturn command calculates the internal rate of return of a set of cash flows or a bond. This is the rate at which the present value of the set of cash flows or the bond is equal to the given price. For bonds the internal rate of return is the same as the yield (see YieldFromCleanPrice and YieldFromDirtyPrice).

Examples

withFinance:

SetEvaluationDateJan-01-2005:

paymentdate1Jan-02-2007

paymentdate1Jan-02-2007

(1)

cashflow1SimpleCashFlow100,paymentdate1

cashflow1100. on January 2, 2007

(2)

value1NetPresentValuecashflow1,0.05

value190.47134762

(3)

InternalRateOfReturncashflow1,value1

0.05000000001

(4)

The following will throw an error because the specified number of iterations is insufficient to achieve the required precision.

InternalRateOfReturncashflow1,value1,guess=0.02,maxiterations=5

Error, (in Finance:-InternalRateOfReturn) maximum number of function evaluations (5) exceeded

InternalRateOfReturncashflow1,90

0.05260819182

(5)

Here is another example.

nominalamt100

nominalamt100

(6)

rate0.05

rate0.05

(7)

paymentdate2Jan-01-2015

paymentdate2Jan-01-2015

(8)

startdate2Jan-01-2006

startdate2Jan-01-2006

(9)

enddate2Jan-01-2010

enddate2Jan-01-2010

(10)

coupon2FixedRateCouponnominalamt,rate,startdate2,enddate2,paymentdate2

coupon220. on January 1, 2015

(11)

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

value2NetPresentValuecoupon2,0.07

value29.931706076

(12)

InternalRateOfReturncoupon2,value2

0.06999999998

(13)

Here is an example using bonds.

bondFixedCouponBond100,5,Years,0.05

bondmoduleend module

(14)

npvNetPresentValuebond,0.03

npv108.9396460

(15)

YieldFromDirtyPricebond,npv

0.02999999994

(16)

InternalRateOfReturnbond,npv

0.02999999994

(17)

Compatibility

• 

The Finance[InternalRateOfReturn] command was introduced in Maple 15.

• 

For more information on Maple 15 changes, see Updates in Maple 15.

See Also

Finance[CompoundFactor]

Finance[DiscountFactor]

Finance[FixedRateCoupon]

Finance[InArrearIndexedCoupon]

Finance[ParCoupon]

Finance[SimpleCashFlow]

Finance[UpFrontIndexedCoupon]

Finance[YieldFromCleanPrice]

Finance[YieldFromDirtyPrice]

Finance[ZeroCurve]