|
This page covers the following topics regarding the
calculation of the present value of an annuity:
- Formula and Definition
- PV of Annuity Illustrated
- Solving for Other Variables in the PV Equation
- Compounding Frequency
- Payment and Compounding Periods Do Not Coincide
- Excel
- HP-12C
- Programming Languages
1. Formula and Definition
The formula below calculates the current value
of a stream of equal payments made at
regular intervals over a
specified period of time.
This value is referred to as the present value (PV)
of an annuity.
The PV of an annuity formula is used to calculate
how much a stream of payments is worth currently
where "currently" does not necessarily mean right now
but at some time prior to a specified future date.
In practice the PV calculation is used as a valuation
mechanism.
It evaluates a series of payments over a period of time
and reduces or consolidates them into a single
representative value as of a certain date.
The PV calculation is useful in a
variety of situations including:
- valuing a series of retirement payments;
- calculating the lump sum value of lottery winnings;
- establishing the purchase price of property sold for
installment payments;
- determining the value of periodic payments under an
insurance contract or a structured settlement;
- pricing a coupon bearing bond (this is actually
a composite calculation involving the present value of the periodic
interest payments (an annuity) and the return of
principal at maturity (a single sum).
Note however that the PV of an annuity
formula does not inherently take into account the effect
of inflation.
So when we talk about the current value of a stream of
future payments, the valuation mechanism is the
time value of money as represented by prevailing market interest
rates, not the inflation rate.
The PV of an annuity equation above can be rearranged algebraically
to solve for the payment amount (PMT) that will amortize
(pay off) a loan or equate to a current sales price.
The formula above assumes an ordinary annuity,
one in which the payments are made at the end of
each compounding period.
An annuity-due is
one in which the payments are made at the beginning
of the compounding period.
See Annuity-Due
for more information on the distinction between an
annuity-due and an ordinary annuity.
This distinction is also illustrated in
example problems #7
and
#32.
Note the distinction between the PV of an annuity
and the FV of an annuity.
The FV of an annuity equation answers the question
"What will the payments be worth then?" while the PV of an annuity
equation answers the question "What are the payments worth now (or
some time prior to then)?".
The FV of an annuity is discussed separately
here.
2. Present Value of an Annuity Illustrated
The following simplified example
illustrates the basic operation of the
PV of an annuity formula.
You have a coin you wish to sell.
A potential buyer offers to purchase the
coin from you in exchange for a series of
three annual payments of $50 starting one
year from today.
What is the current value of the offer if
the prevailing rate of interest is 7%
compounded annually?
This problem is represented graphically in the diagram below...
Note that the cash flow diagram is drawn from the
perspective of the seller.
In a financial transaction there is always some
combination of inflows and outflows.
In the drawing above the seller experiences an
outflow at the start of the transaction (the delivery of
the coin to the buyer), followed by a series of inflows spread
over three years (the $50 payments received from the buyer).
It is the initial outflow that we wish to value
by setting it equal to the three annual payments
at 7% interest.
The horizontal arrow pointing to the intial
outflow indicates we are discounting
the annual payments back to their present
value (PV).
In this situation the inputs to the PV of an
annuity equation are as follows...
PMT = 50
i = 0.07
n = 3
...and plugging these values into the equation...
...tells us that the buyer's offer is
worth $131.22 today (rounded).
According to our calculation, the PV of all three
payments ($131.22) is less than the sum of the
their nominal or face values ($150.00).
Why is this?
The answer has to do with the timing
of the payments.
We do not receive $150 currently,
instead it is spread out over 3 years.
Because the payments are not received today - we
have to wait to receive them - they are
worth less than their face value.
To quantify how much less we must
"discount"
the value of each $50 payment
back to its current value.
The sum of the discounted values of all of
these payments is the PV of the
annuity.
The concept underlying discounting is one of financial
equivalence.
Using the first payment as an example, we can say that
$46.73 today is equivalent at 7% to $50.00 in one year.
We can say they are equivalent because at 7%
$46.73 will grow to $50.00 in one year's time...
46.73(1.07) = 50.00
...and $43.67 will grow to $50.00 in two year's time
as will $40.82 in three year's time.
It is the sum of these three individual PVs that
constitutes the PV of the annuity.
The mechanics of the PV calculation
are illustrated below...
We should be careful how we interpret our calculated
PV of $131.22.
We are not saying that
$131.22 will grow to $150.00 in three year's time.
Such a statement might be made in the case of a single sum
but here we are dealing with a series of three payments
made at different time intervals.
Each one of these payments is discounted back to
its PV at 7% based on its timing and it is the sum
of these PVs that constitute the
current value of the annuity.
Also note that we are talking pure TVOM theory here.
In practice there are a whole host of other issues
to consider when evaluating financial transactions.
Some of these considerations include taxes, credit risk,
inflation, cash flow constraints, and general
economic conditions.
Still, from a purely financial perspective, the TVOM
calculations provide a powerful tool for making rational
decisions.
See Assumptions and Definitions
for a discussion of certain limitations and restrictions
inherent in TVOM calculations.
Additional problems illustrating the calculation of
the PV of an annuity can be viewed
here
under Application #4 "Find PV Annuity."
3. Solving for Other Variables
While the basic PV of an annuity formula
presented above allows us to calculate
PV, we often need to calculate
one of the other variables in the equation such as the number
of compounding periods (n), the payment
amount (PMT), or the interest rate (i).
These calculations are illustrated below.
Calculating the FV of an annuity (the amount to
which a series of periodic payments will grow), is discussed
separately here.
a. Number of compounding periods (n)
Solving for n is a simple matter of algebraic rearrangement
of the basic PV of an annuity formula for
which the following algebraic identity is helpful...
...rearranging for n, the PV of an annuity
equation looks like this...
...and using the values for the other variables from
our earlier example, we calculate the
number of compounding periods (n) as...
b. Payment amount (PMT)
Rearranging the basic PV of an annuity
formula to solve for PMT is a little easier
than it was for n.
What we end up with looks like this..
...and again using the values for the other variables from
our original example, we calculate PMT as...
c. Interest rate (i)
This is the tough one.
Unfortunately there is no easy way to isolate
the interest rate (i) variable in the basic
PV of an annuity equation.
What you end up with is a value
referred to as kPV defined
below...
...and since we know that PV is 131.22 and PMT
is 50.00, then kPV must be equal to 2.62.
We know that n = 3 so we keep substituting
different values for i
into the right hand side of the equation
until we get close to the value of 2.62.
This process of iteration (getting successively
closer to the desired value for kPV) continues
until an acceptably accurate value for i
is found.
Alternatively, we can find two reasonably accurate
values that bracket our desired kPV
and then calculate an i based on
interpolation.
This entire process is illustrated more clearly in
example problem #38.
For practical purposes, i is
normally computed using a calculator
or computer program rather than through manual iteration.
In Excel the RATE function is used for this purpose.
The built-in TVOM functions of the HP-12C
make it easy to calculate i for an annuity.
However, if we have to code the calculation of i
in a financial application then we're basically left
with iteration.
4. Compounding Frequency
The equation for the PV of an annuity
presented at the top of this page assumes
annual compounding.
But what if instead of payments of $50 annually,
we were dealing with semiannual payments of $25.
In total the annual amount of the payment is the
same (25 x 2 = 50).
However, the PV is not.
The reason the PV changes is that
the compounding frequency (n) has changed;
it has increased from once a year to twice a year.
The net effect of this changes is to increase the value
of PV; payments are now being made earlier
(front-loaded) and since more cash is being made
available sooner, the PV will be larger.
Q. How do we account for the non-annual payments
in our calculation?
A. By a process referred to as synchronization.
Synchronization involves modifying the values for
i and n to take into account
non-annual compounding.
In order to understand the process, we start by defining n
(the number of compounding periods in the term of the
annuity) as...
...where m is the number of compounding
periods in a year and Y is the number of
years in the term of the annuity.
So when semiannual compounding is used in our example,
n is calculated as...
Now that we have adjusted n, we need to take care
of i.
The 7% interest rate we were given in the original
example was an annual nominal rate.
It is also referred to as the "applied" rate
because it is the rate at which interest is
applied to principal.
Although we increased our compounding frequency from
annual to semiannual, the nominal interest rate remains
unchanged.
On an annual basis we are still charging 7%.
We simply need to adjust the rate used in the equation
to make it proportional to the new compounding frequency.
So, since we doubled the compounding frequency, we
must halve the interest rate.
More formally, we divide i by
the number of compounding periods in the year (m).
In other words, our applied interest rate becomes...
... and this makes sense; we were applying
7% annually and now we are applying 3.5%
semiannually.
We can now modify the basic PV of an annuity equation
to incorporate the synchronization process as follows...
...and we calculate the PV under semiannual
compounding as...
...and under quarterly
compounding as...
...and so we summarize the effect of
increasing the compounding frequency as...
PVannual = 131.22
PVsemiannual = 133.21
PVquarterly = 134.24
As we can see, increasing n has the effect of increasing
the PV of an annuity.
5. Payment and Compounding Periods Do Not Conincide
One of the basic assumptions under TVOM
theory is that of a "simple" annuity
(see Assumptions and Definitions).
A simple annuity is one where the payments and compounding
periods coincide.
In other words, when we are compounding monthly
we are also making payments monthly.
However, in real life it is not uncommon to find a situation where
compounding is occurring more or less frequently than
the payments.
If the problem specifies different compounding and
payment intervals then we must consider two alternative
approaches for handling the situation: deconstruction
and rate equivalence.
a. Deconstruction Approach
Using deconstruction we break the annuity down into a series of
present values of single sums.
In other words, we compute the PV for
each individual payment and the summation of all of
these individual values is the PV of
the annuity.
Using our original example, the PV of a series
of three annual payments of $50 discounted at 7%
under monthly compounding is computed as the
sum of the present values of three single sum
amounts of $50 each with terms of 3, 2 and 1 years.
Graphically this approach looks like this...
..and crunching the numbers...
...we calculate a PV of $130.67
under monthly compounding/annual payments.
The amount above is less than the $131.22
calculated earlier under annual compounding/annual payments.
Note that this is the opposite effect from what we
observed in Paragraph 4 above when we increased the compounding
frequency from annual to semiannual and finally
to quarterly. There the PV increased as
the compounding frequency increased.
What's the difference?
The difference is that in Paragraph 4 we were increasing
both the payment frequency and the compounding
frequency.
Here we are increasing only the compounding frequency.
We aren't getting our payments any sooner but we are
compounding more frequently so less front money
(i.e., a smaller PV) is required
in order to grow to the specified future value.
b. Rate Equivalence Approach
In the original example we were charging 7% monthly
but making payments annually.
Using the equivalence approach we convert the monthly
interest rate into an equivalent annual interest rate
in order to calculate the PV of the annuity
with annual payments.
In other words, we want an annual rate that
is equivalent to a 7% compounded monthly rate...
..and so we compute the equivalent annual
rate as...
..and using this value for i in the
PV of an annuity equation...
...we calculate the same PV we did
using the deconstruction approach.
6. Excel Spreadsheet
Excel provides us with two approaches to solve
for the PV of an annuity.
a. The PV Function.
If all we want to know is the PV of an annuity,
then we can use Excel's built-in PV Function
as shown here...
..where the cell contents look like this...
The PV Function takes the following parameters..
This function can be used for both single sum and annuity calculations
depending on the parameters supplied.
Although an ordinary annuity is assumed by default,
the PV Function can also calculate
the PV of an annuity due
by specifying a "Type" value of 1.
b. The Discount Schedule.
A discount schedule can be constructed in
Excel to compute the PV of the annuity
without having to use any sepcial functions.
Such a s schedule looks like this...
...and the cell contents look like this...
Note that the schedule above relies entirely upon
basic math operators; no special PV Function
was used.
This approach is typical of how a programmer might solve the
problem.
Absent knowledge of a specific mathematical equation, a common
operation (discounting an individual payment in this case) is
simply repeated over and over again to arrive at the solution.
One benefit of the discount schedule that we do not have
with a direct PV calculation is that we can see
the PV of the annuity for all of the payment
frequencies.
For example, we know that the value of an annuity of only
two payments is $90.40.
The construction of a discount schedule for
an annuity is discussed in more detail in
example problem #35.
7. HP-12C
8. Programming Languages
Practical application of TVOM concepts often involves
using a programming language to code the calculations.
Listed below are some very simple illustrations of how
the standard TVOM equation for the present value of an
annuity can be coded in four different
programming languages:
C#:
JavaScript:
VB Script:
T-SQL:
Note on SQL.
Be careful about performing this type of math calculation using SQL
because the code executes on the database server.
As a general rule, the processing power of the database server
is best reserved for performing large scale data modification
and retrieval operations rather than arithmetic calculations.
In a production environment such calculations are typically performed
in a COM object on a middle tier server or perhaps by a VB Script in
an Active Server Page on the web server or even by JavaScript on the
client's browser.
I included this example only to show that such TVOM calculations
are possible using Microsoft's implementation of the SQL
language (called T-SQL or Transact-SQL).
The reader should be aware that doing so
can make for a very expensive query.
Be sure to consider all of the options before including
such functionality in your production SQL code.
|
|
|