Kerry Back
\[(1+r_m)((1+r_m)B - P) - P\]
\[0 = \text{FV(Principal)} - \text{FV(Payments)}\]
Equivalently,
\[\text{FV(Principal)} = \text{FV(Payments)}\]
\[P \times \left(\frac{1}{1+r_m} + \frac{1}{(1+r_m)^2} + \cdots + \frac{1}{(1+r_m)^{12 \times T}}\right)\]
\[\text{AF} = \frac{1}{r_m}\left(1 - \frac{1}{(1+r_m)^{12 \times T}}\right)\]
\[\frac{\text{Balloon}}{(1+r_m)^{12 \times T}}\]
We’ll calculate each of the last four, one at a time, given the other inputs.
# Question 1: what will my payment be?
PMT = npf.pmt(rate=rate, nper=nper, pv=principal, fv=balloon)
# Question 2: how much can I borrow?
PRINCIPAL = npf.pv(rate=rate, nper=nper, pmt=pmt, fv=balloon)
# Question 3: what will my rate be?
RATE = npf.rate(nper=nper, pv=principal, pmt=pmt, fv=balloon)
# And, how much of a balloon do I need?
BALLOON = npf.fv(rate=rate, nper=nper, pmt=pmt, pv=principal)
If BALLOON>0, you overpaid the bank and should get money back.