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

Namespace: Imsl.Finance
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
public static double Mirr(
	double[] cashFlow,
	double financeRate,
	double reinvestRate
)
Visual Basic (Declaration)
Public Shared Function Mirr ( _
	cashFlow As Double(), _
	financeRate As Double, _
	reinvestRate As Double _
) As Double
Visual C++
public:
static double Mirr(
	array<double>^ cashFlow, 
	double financeRate, 
	double reinvestRate
)

Parameters

cashFlow
Type: array< System..::.Double >[]()[]
A double array of cash flows.
financeRate
Type: System..::.Double
A double which specifies the interest you pay on the money you borrow.
reinvestRate
Type: System..::.Double
A double which specifies the interest rate you receive on the cash flows.

Return Value

A double which specifies the modified internal rate of return.

Remarks

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. It also eliminates the multiple rates of return problem. It is computed using the following:

{\left\{ {{{ - \left( {\it pnpv} 
            \right)\left( {1 + {\it reinvestRate}} \right)^{\it n\_per} } \over 
            {\left( {\it nnpv} \right)\left( {1 + {\it financeRate}} \right)}}} 
            \right\}^{{1 \over {{\it nper} - 1}}} } - 1

where {\it pnpv} is calculated from Npv for positive values in values using reinvestRate, and where {\it nnpv} is calculated from Npv for negative values in values using financeRate.

See Also