Section 3.4 Annual cost of living increases
Generally, an annuity is a sequence of equal payments over time. In reality, people like to use an annuity to fund retirement and one might want to allow for the payments to increase each year to keep up with the cost of living. Another alternative occurs perhaps when one might purchase a house and not be able to make the necessary payments at the beginning of the annuity but expects to earn more and therefore be able to pay more in later years of the loan. To analyze these situations takes a bit more care since the compounding period and the (annual) increases are not necessarily on the same time frames. To fix this, the idea is to convert the periodic payments in terms of years by converting, for example, the 12 monthly payments into a single but equivalent lump sum payment at the end of the year. So long as the lump sum payment is mathematically equivalent to the sequence of payments then all is equivalent. Then, we can tack on the desired cost of living increase to these annualized payments and use that rate of increase for the yearly annuity.Theorem 3.4.1. Yearly Annuity with Cost of Living Adjustment.
The Present Value of a yearly annuity initially in the amount of Ry which includes yearly cost-of-living adjustments is Ry11+re[(1+a1+re)t−1(1+a1+re)−1] with Ry = first year's payment, re = effective yearly rate, a = yearly cost-of-living increase, t = number of years.Proof.
To save some time, let's define \(z = \frac{1+a}{1+r_e}\text{.}\) Notice that if the cost of living increase (a) is greater than the effective rate of interest \(r_e\) then the net investment will grow with a interest rate related to \(z-1 \gt 0\text{.}\) On the other hand, if the cost of living increase is less than the effective rate of interest, then the net investment wil grow at an interest rate \(z-1 \lt 0\text{...}\)that it, your periodic payments will not be keeping up with inflation. Notice in the formulas below that this quotient z essentially replaces the standard compound growth factor (1+r).
Starting with a payment of R at the end of the first year, increase this by a factor of (1+a) for each subsequent year gives a present value of
Example 3.4.2. Yearly Annuity with Cost of Living Increase.
Let's consider the value of making payments of $10 per year in year one and then increasing the payments by a rate of a = 4% each year. Assuming an interest rate of re = 3% compounded yearly for t = 8 years, what is the present value of this annuity?
Example 3.4.3. Monthly Annuity with Annual Cost of Living Increase.
To allow for more frequent payments, say monthly, but with yearly adjustments to the amount of these payments one can determine the future value of the initial payments over one year. Then, use that value as a "yearly" payment adjusted for cost-of-living increase.
Consider the following: Initial monthly payments of $10 per month with interest compounded at 3% and with 4% yearly cost-of-living adjustments for 8 years. First, compute the future value Ry of a year of payments and then apply the theorem above.
xxxxxxxxxx
def round(x):
return (floor(100*(x+0.005))/100).n()
layout=dict(top=[['R', 'rate'],['m','t'],['a']])) (
def _(R = input_box(10,label='Yearly Payment',width=10),
rate = input_box(0.03,label='Nominal Rate',width=6),
m = input_box(1,label='Periods per Year',width=4),
t = input_box(8,label='Years',width=4),
a = input_box(0.04,label='Cost-of-Living Adjustment',width=6) ):
r = rate/m
n = m*t
A = 0
for k in range(t):
R1 = round(R*(1+a)^(k))
print "Year ",k+1," has payment(s) of ", R1
yearend = k*m
print "yearend ",yearend
for j in range(m):
tempBeg = R1*(1+r)^(-(yearend+j+1))
tempEnd = R1*(1+r)^(n-yearend-j-1)
A += tempEnd
print " ",j+1,"th payment is worth at the start of time ",tempBeg
print " ",j+1,"th payment is worth at the end of time ",tempEnd
P = A*(1+r)^(-n)
print "Total value of payments at the start of time is ",P
print "Total value of payments at the end of time is ",A