Computing the IRR of a Cash Flow History

If Calculate Internal Rate of Return is checked in the "Output Definition" portion of the Cash Flow dialog, GoldSim adds an output called IRR. This is a dimensionless scalar value (representing the annual return rate).

The internal rate of return (IRR) is the discount rate that would yield an NPV for the cash flows equal to zero. That is, it is the discount rate the makes the present value of returns equal to the present value of expenses (investments). As such, the IRR is a measure of the profitability of the investments.

Like the NPV, the IRR calculation is a function of the Compounding Method (Continuous or Annual).  The default is Annual.

Calculation of the IRR requires an iterative solution. Convergence to a unique solution may not initially (or ever) be possible.  In general, the IRR exists and is unique if one or more years of net investment (negative cash flow) are followed by years of net revenues. This has several important implications for interpreting this output:

   Prior to the existence of a unique IRR or until the first valid result (between -0.9999 and 99.999), GoldSim outputs an IRR of zero.

   After computing a valid result, if the annual IRR is less than -0.9999 (-99.99%), it is treated as "unsolvable", and GoldSim outputs an IRR value of -99.999.

   After computing a valid result, if the annual IRR is greater than 99.999 (9999.9%), it is treated as "unsolvable", and GoldSim outputs an IRR value of 99.999.

Because IRR calculations can be time-consuming, GoldSim simplifies the calculation in several ways:

   Continuous inflow and outflows are treated as a single lump sum applied at the mid-point of each timestep.

   All flows that occur within 2.5% of the current time of each other are lumped together into a single item at the weighted average time of the transactions.

   The IRR result is updated at a maximum every 1/200th of the simulation duration (as well as at the first and last time points). For histories with a large number of timesteps, this can produce a slightly stair-stepped time history plot.

Related Topics…