modifiedInternalRate

Evaluates the modified internal rate of return for a schedule of periodic cash flows.

Synopsis

modifiedInternalRate (values, financeRate, reinvestRate)

Required Arguments

float values[] (Input)
Array of size count of cash flows.
float financeRate (Input)
Interest paid on the money borrowed.
float reinvestRate (Input)
Interest rate received on the cash flows.

Return Value

The modified internal rate of return for a schedule of periodic cash flows. If no result can be computed, NaN is returned.

Description

Function modifiedInternalRate computes the modified internal rate of return for a schedule of periodic cash flows. The modified internal rate of return differs from the ordinary internal rate of return in assuming that the cash flows are reinvested at the cost of capital, not at the internal rate of return.

The modified internal rate of return also eliminates the multiple rates of return problem.

It is computed using the following:

\[\left\{\left[\frac {-(\mathit{pnpv})(1 + \mathit{reinvestRate})^{\mathit{nPeriods}}} {(\mathit{nnpv})(1 + \mathit{financeRate})} \right]^{\frac{1}{\mathit{nPeriods}-1}}\right\} - 1\]

where pnpv is calculated from netPresentValue for positive values in values using reinvestRate, and where nnpv is calculated from netPresentValue for negative values in values using financeRate.

Example

In this example, modifiedInternalRate computes the modified internal rate of return for an investment of $4,500 with cash flows of -$800, $800, $800, $600, $600, $800, $800, $700 and $3,000 for 9 years.

from __future__ import print_function
from numpy import *
from pyimsl.math.modifiedInternalRate import modifiedInternalRate

values = [-4500., -800., 800., 800., 600.,
          600., 800., 800., 700., 3000.]
finance_rate = .08
reinvest_rate = .055

mirr = modifiedInternalRate(values, finance_rate, reinvest_rate)
print("After 9 years, the modified internal rate of return")
print("on the cows is %.2f%%." % (mirr * 100.))

Output

After 9 years, the modified internal rate of return
on the cows is 6.66%.