MOD_INTERN_RATE Function
Evaluates the modified internal rate of return for a schedule of periodic cash flows.
Usage
result = MOD_INTERN_RATE(values, finance_rate, reinvest_rate)
Input Parameters
valuesOne-dimensional array of cash flows.
finance_rateInterest paid on the money borrowed.
reinvest_rate—Interest rate received on the cash flows.
Returned Value
result—The modified internal rate of return for a schedule of periodic cash flows. If no result can be computed, NaN is returned.
Input Keywords
Double—If present and nonzero, double precision is used.
Discussion
Function MOD_INTERN_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. It also eliminates the multiple rates of return problem. It is computed using the following:
where pnpv is calculated from NET_PRES_VALUE for positive values in values using reinvest_rate, and where nnpv is calculated from the function NET_PRES_VALUE for negative values in values using  finance_rate.
Example
In this example, MOD_INTERN_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.
value = [ -4500., -800., 800., 800., 600., 600., 800., $
   800., 700., 3000. ]
finance_rate = .08
reinvest_rate = .055
PRINT, MOD_INTERN_RATE(value, finance_rate, reinvest_rate)
; PV-WAVE prints: 0.0665972