Section 3.5 Sinking Funds
Some times you may have a debt to pay off but want to regularly put aside money in an interest bearing account so that it will accrue in time to some desired amount in the future and then used to pay off the debt. Such an instrument is known as a โsinking fundโ. Generally, one can determine values for a sinking fund using the regular annuity formulas. However, sometimes one may use a sinking fund to pay off an existing debt by hoping that one can earn perhaps a better return on the sinking fund relative to the costs of the actual annuity.Example 3.5.1. Sinking Fund.
Suppose have borrowed $1000 at 10% interest payable yearly for the next 5 years. Normally, you would determine a yearly payment for this annuity to be
which yields a yearly payment of $162.75. Instead, to keep the loan current you pay only the interest each year and invest the remainder in your sinking fund. For the fun of it, letโs suppose we are able to invest this remainder at a rate of 11%. Then, each year the balance owed remains the original $1000 by paying interest of $100 and investing $62.75 in the sinking fund. Over the 10 years, the sinking fund grows like a regular annuity but at the 11% rate. By year 10 this fund grows to
At the end of 10 years, we can then completely pay off the original loan and the remainder ($49.31) is ours to keep for all of our troubles.
xxxxxxxxxx
def roundup(x):
return (ceil(100*x)/100).n()
โ
layout=dict(top=[['P', 'm', 't'],[ 'rate1','rate2', ' ']])) (
def _(P = input_box(10000,label='Principle',width=10),
m = input_box(12,label='Compounting Periods per year',width=6),
t = input_box(2,label='Number of Years',width=6),
rate1 = input_box(0.04,label='Yearly Interest Rate (Loan)',width=6),
rate2 = input_box(0.04,label='Yearly Interest Rate (Sink)',width=6)):
n = m*t
r1 = rate1/m
r2 = rate2/m
R = roundup(P*r1/(1-(1+r1)^(-n)))
I = P*r1
pretty_print(html('Periodic Payment for loan annuity = $%.2f$.'%(R)))
pretty_print(html('Periodic Interest for loan annuity = $%.2f$.'%(I)))
S = R-I
pretty_print(html('Periodic Remainder for investing in sinking fund = $%.2f$.'%(S)))
A = S*((1+r2)^n-1)/r2
pretty_print(html('Ending value of the sinking fund = $%.2f$.'%(A)))
pretty_print(html('Amount left after paying off original loan using sinking fund = $%.2f$.'%(A-P)))