Estimation of IRR via a for loop
In the first two chapters, we learned that we could apply the Internal Rate of Return (IRR) rule to evaluate our project with a set of forecasted current and future cash flows. Based on a for
loop, we could calculate the IRR of our project. The two related functions, NPV()
and IRR_f()
, are shown as follows:
def npv_f(rate, cashflows): total = 0.0 for i, cashflow in enumerate(cashflows): total += cashflow / (1 + rate)**i return total
Here, the key is finding out what kinds of values the intermediate variables i
and cashflow
would take. From the previous section, we know that i
will take values from 0 to the number of cash flows and that cashflow
would take all values from the variable called cashflows
. The total+=x
statement is equivalent to total=total+x
. One issue is that if we enter -1 as our rate, the function would not work. We could add an if
command to prevent this from happening (refer to the succeeding solution for the IRR()
function...