Harvard University, FAS



 

From: David Savitt <dsavitt@math.harvard.edu>
Subject:
Time: 02/17/2001 at 1:13:18


Hi gang,

Since several of you asked, here are a few suggestions for calculating
internal rates of return, which is admittedly a slightly tricky
proposition. Let's take problem 2.10 as an example, which if I recall
correctly involves an income stream with present value

- 12,000 + 5000/x + 5000/x^2 - 2000/x^3 + 6000/x^4.

and we're trying to find a value of x which makes this present value equal
to zero.

Here, for convenience I'm writing x for 1 + r/100 (so that I don't have to
keep writing 1 + r/100 over and over again). Observe that since r is
probably going to be small, x is going to be a number just over 1.

Now, to begin with, you should recognize that with a complicated equation
such as this, there isn't any formula which will spit out an exact
answer. Luckily we don't really care about finding an exact answer --
this is a real-life problem, and so a close approximation will be good
enough. (I mean, we won't care if we're off by pennies, will we?)

Method 1a: trial and error (low-tech). Guess a value for x (remember, x
will be just above 1), and calculate the present value of the income
stream for that value of x. Now repeatedly alter your guesses to bring
the present value closer and closer to zero.

ex. I guess x = 1.1 (an interest rate of 10%) and find the present value
of the income stream at that rate to be -$727. Since increasing the
interest rate will only make things worse, I probably want x smaller
than 1.1. Now for x=1.08, I get a present value of -$261. After that, I
try 1.07 (still too big, but very close), 1.069 (too small),
1.0695 (too big again), 1.0694 -- very close! the interest rate of
1.0694 gives a present value of -$.08 cents. That's close enough for us.
So x is around 1.0694, meaning that the interest rate r is around 6.94%.

Method 1b: trial and error (high-tech). If you're getting tired of using
your calculator to compute this complicated present-value formula again
and again, use a spreadsheet. Namely, create a spreadsheet in which one
cell contains the interest rate, a sequence of cells contains the income
for each year, another sequence of cells uses the interest rate to compute
the present value of each year's income, and a final cell totals up the
present value for you. (More detail later on how exactly to do this, if
you're unfamiliar with spreadsheet programs.)

Now, all you have to do is vary the interest rate number, and the program
will re-compute the present value for you, so you can employ
trial-and-error with a minimum of difficulty.


Method 2: Newton's Method (algorithmic). For those of you who've seen
calculus, you may recall that there is an algorithm for approximating
solutions to most equations. Suppose you're trying to solve the equation
f(x) = 0. If you start with a GUESS, then Newton's Method tells you that
the number

GUESS - f(GUESS)/f'(GUESS)

should be an even better approximation to a solution. (Here, f' is the
derivative of f.)

This gives you a new guess, which you can feed in to Newton's Method
again to get a yet closer approximation; and you can repeat this as much
as needed.

In this case, we're trying to solve

- 12,000 + 5000/x + 5000/x^2 - 2000/x^3 + 6000/x^4 = 0.

For simplicity I'm going to multiply through by x^4, in order to wipe out
the denominators, so we want to solve

- 12000 x^4 + 5000 x^3 + 5000 x^2 - 2000 x + 6000 = 0.

So, our f(x) will be -12000 x^4 + 5000 x^3 + 5000 x^2 - 2000 x + 6000,
and the derivative f'(x) is then

f'(x) = -12000 * 4x^3 + 5000* 3x^2 + 5000 * 2x - 2000

= -48000 x^3 + 15000 x^2 + 1000 x - 2000.

What's our GUESS? Well remember that x is going to be a bit over 1, so
it's reasonable to start with a GUESS of 1.

Alright!

We can compute f'(1) = -48000 + 15000 + 1000 - 2000 = -34000
and f(1) = 2000, so Newton's method gives us a new guess of

1 - 2000/(-34000) = 1.05882.

Repeating Newton's method, we have f'(1.05882) = -41103,
f(1.05822) = 340, so we get a third guess of

1.05882 - 340/(41103) = 1.06711.

Again, f'(1.06711) = - 42179, f(1.06711) = 74.8, and we get a fourth
guess of

1.06711 - 74.8/(-42179) = 1.06888.

You see how we're getting closer and closer to the extremely good value
1.0694 we found earlier by trial and error?

In practise, sometimes Newton's Method works better, sometimes it works
worse -- in the case of problem 2.10, it's not working particularly
efficiently.

I think that within the context of this course, you'll never need to use
Newton's Method -- method 1a or 1b should probably always suffice! -- but
I thought I would at least remind you all that there do exist systematic
ways of finding solutions to complicated equations without trial and
error.

cheers
Dave

 

 


URL:  http://www.courses.fas.harvard.edu
last modified: 

Copyright © The President and Fellows of Harvard College