The `b P` (`calc-fin-pv`

) [`pv`

] command computes
the present value of an investment. Like `fv`

, it takes
three arguments: `pv(`

.
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 `rate`, `n`, `payment`)`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, `

where `x`)`x` is the amount of money
you would have to put up in advance. The `pv`

function
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 `fvb`

as `pv`

has
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
four years, `pvl(9%, 4, 8000) = 5667.40`

. This is much
less than `pv`

reported, because we don't earn any interest
on the return from this investment. Note that `pvl`

and
`fvl`

are simple inverses: `fvl(9%, 4, 5667.40) = 8000`

.

You can give an optional fourth lump-sum argument to `pv`

and `pvb`

; this is handled in exactly the same way as the
fourth argument for `fv`

and `fvb`

.

The `b N` (`calc-fin-npv`

) [`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.

Thus, `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!

The `npv`

function can actually have two or more arguments.
Multiple arguments are interpreted in the same way as for the
vector statistical functions like `vsum`

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

Go to the first, previous, next, last section, table of contents.