The b P (
pv] command computes
the present value of an investment. Like
fv, it takes
pv(rate, n, payment).
It computes the present value of a series of regular payments.
Suppose you have the chance to make an investment that will
pay $2000 per year over the next four years; as you receive
these payments you can put them in the bank at 9% interest.
You want to know whether it is better to make the investment, or
to keep the money in the bank where it earns 9% interest right
from the start. The calculation
pv(9%, 4, 2000) gives the
result 6479.44. If your initial investment must be less than this,
say, $6000, then the investment is worthwhile. But if you had to
put up $7000, then it would be better just to leave it in the bank.
Here is the interpretation of the result of
pv: You are
trying to compare the return from the investment you are
considering, which is
fv(9%, 4, 2000) = 9146.26, with
the return from leaving the money in the bank, which is
fvl(9%, 4, x) where x is the amount of money
you would have to put up in advance. The
finds the break-even point, ‘x = 6479.44’, at which
fvl(9%, 4, 6479.44) is also equal to 9146.26. This is
the largest amount you should be willing to invest.
The I b P [
pvb] command solves the same problem,
but with payments occurring at the beginning of each interval.
It has the same relationship to
fv. For example
pvb(9%, 4, 2000) = 7062.59,
a larger number than
pv produced because we get to start
earning interest on the return from our investment sooner.
The H b P [
pvl] command computes the present value of
an investment that will pay off in one lump sum at the end of the
period. For example, if we get our $8000 all at the end of the
pvl(9%, 4, 8000) = 5667.40. This is much
pv reported, because we don’t earn any interest
on the return from this investment. Note that
fvl are simple inverses:
fvl(9%, 4, 5667.40) = 8000.
You can give an optional fourth lump-sum argument to
pvb; this is handled in exactly the same way as the
fourth argument for
The b N (
npv] command computes
the net present value of a series of irregular investments.
The first argument is the interest rate. The second argument is
a vector which represents the expected return from the investment
at the end of each interval. For example, if the rate represents
a yearly interest rate, then the vector elements are the return
from the first year, second year, and so on.
npv(9%, [2000,2000,2000,2000]) = pv(9%, 4, 2000) = 6479.44.
Obviously this function is more interesting when the payments are
not all the same!
npv function can actually have two or more arguments.
Multiple arguments are interpreted in the same way as for the
vector statistical functions like
See Single-Variable Statistics. Basically, if there are several
payment arguments, each either a vector or a plain number, all these
values are collected left-to-right into the complete list of payments.
A numeric prefix argument on the b N command says how many
payment values or vectors to take from the stack.
The I b N [
npvb] command computes the net present
value where payments occur at the beginning of each interval
rather than at the end.