Lesson 4 of 15

Internal Rate of Return

Internal Rate of Return

The Internal Rate of Return (IRR) is the discount rate that makes an investment's NPV equal to zero:

t=0nCFt(1+IRR)t=0\sum_{t=0}^{n} \frac{CF_t}{(1+IRR)^t} = 0

Finding IRR with Bisection

There is no closed-form solution for IRR in general. We use bisection search:

  1. Set bounds: lo = -0.9999, hi = 10.0
  2. Compute midpoint: mid = (lo + hi) / 2
  3. If npv(mid, cashflows) > 0: IRR is higher → lo = mid
  4. If npv(mid, cashflows) < 0: IRR is lower → hi = mid
  5. Repeat ~1000 times for convergence

Decision Rule

  • IRR > hurdle rate: Accept the investment
  • IRR < hurdle rate: Reject the investment

Example

For cash flows [-1000, 300, 400, 500]: IRR ≈ 8.9%

This means the investment earns about 8.9% annually. If your required return is 10%, reject it (matches our NPV result).

Python runtime loading...
Loading...
Click "Run" to execute your code.