CNLMath : Special Functions : modified_internal_rate
modified_internal_rate
Evaluates the modified internal rate of return for a schedule of periodic cash flows.
Synopsis
#include <imsl.h>
float imsl_f_modified_internal_rate (int count, float values[], float finance_rate, float reinvest_rate)
The type double function is imsl_d_modified_internal_rate.
Required Arguments
int count (Input)
Number of cash flows in values and count must greater than one.
float values[] (Input)
Array of size count of cash flows.
float finance_rate (Input)
Interest paid on the money borrowed.
float reinvest_rate (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 imsl_f_modified_internal_rate 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:
where pnpv is calculated from imsl_f_net_present_value for positive values in values using reinvest_rate, and where nnpv is calculated from imsl_f_net_present_value for negative values in values using finance_rate.
Example
In this example, imsl_f_modified_internal_rate 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.
 
#include <stdio.h>
#include <imsl.h>
 
int main()
{
float value[] = { -4500., -800., 800., 800., 600., 600., 800.,
800., 700., 3000. };
float finance_rate = .08;
float reinvest_rate = .055;
float mirr;
 
mirr = imsl_f_modified_internal_rate (10, value, finance_rate,
reinvest_rate);
printf ("After 9 years, the modified internal rate of return ");
printf ("on the cows is %.2f%%.\n", mirr * 100.);
}
Output
 
After 9 years, the modified internal rate of return on the cows is 6.66%.