Book Image

Python for Finance

By : Yuxing Yan
Book Image

Python for Finance

By: Yuxing Yan

Overview of this book

Table of Contents (20 chapters)
Python for Finance
About the Author
About the Reviewers

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...