Main Content


Modified internal rate of return



Return = mirr(CashFlow,FinRate,Reinvest) calculates the modified internal rate of return for a series of periodic cash flows. This function calculates only positive rates of return; for nonpositive rates of return, Return = 0.


collapse all

This cash flow represents the yearly income from an initial investment of $100,000. The finance rate is 9% and the reinvestment rate is 12%.

Year 1 $20,000

Year 2 ($10,000)

Year 3 $30,000

Year 4 $38,000

Year 5 $50,000

To calculate the modified internal rate of return on the investment:

Return = mirr([-100000 20000 -10000 30000 38000 50000], 0.09,0.12)
Return = 0.0832

Input Arguments

collapse all

Cash flow, specified as a vector or matrix. The first entry is the initial investment. If CashFlow is entered as a matrix, each column is treated as a separate cash flow.

Data Types: double

Finance rate for negative cash flow values, specified as a decimal.

Data Types: double

Reinvestment rate for positive cash flow values, specified as a decimal.

Data Types: double

Output Arguments

collapse all

Modified internal rate of return, returned as a scalar or vector.


[1] Brealey and Myers. Principles of Corporate Finance. McGraw-Hill Higher Education, Chapter 5, 2003.

[2] Hazen G. “A New Perspective on Multiple Internal Rates of Return.” The Engineering Economist. Vol. 48-1, 2003, pp. 31–51.

Version History

Introduced before R2006a