Convergence Example / IRR calculation

Convergence and Recursion Example for Internal Rate of Return

You buy a mountain cabin for $25,000. During the first four years you are able to rent it out and you collect $3,500, $100, $4000 and $100 respectively. The fifth year you have a negative cash flow of $300 due to repairs. The cash flows for years 6 through 11 are : 4000, 2300, -150, 5600, 321, and -100. In the twelfth year you sell the cabin for $24,900. You ask yourself, would you have been better off depositing your $25,000 at 6% or is the series of cash flows generated by your investment greater in value? In our example, the interest rate that would generate a $25,000 NPV to match the initial investment is 6.847%. This interest rate is called the Internal Rate of Return (IRR) and it cannot be computed analytically. There are instances when several solutions are possible and sometimes there are no solutions.

The program should look only for solutions that are financially acceptable (e.g. between 0% and 200%) and it should return the lowest if more than one are available. The irr function should look for a solution by moving on the graph from 0% to the right in assigned increments while trying to match the initial investment with the NPV generated by the current interest rate. If the difference between Investment and NPV changes signs, then the function has moved too far and it should step back to the prior tick and continue with smaller increments. This process should invoke itself recursively until the difference is smaller then a ten thousandth of the NPV.

The values in the form are from the sample above. Feel free to change them

Initial Investment:

Cash Flow #1:

Cash Flow #2:
Cash Flow #3
Cash Flow #4
Cash Flow #5
Cash Flow #6
Cash Flow #7
Cash Flow #8
Cash Flow #9
Cash Flow #10
Cash Flow #11
Cash Flow #12
Cash Flow #13
Cash Flow #14