Post Reply 
(17B/19B) GPM: initial payment
05-30-2024, 12:24 AM
Post: #21
RE: (17B/19B) GPM: initial payment
Hi, Gil

We need bank APY because payment growth is on yearly basis, but compounding is monthly.
If payment growth is also on a monthly basis, we don't need effective rate.

lua> s, i, pv = 1.075, 0.01, 6e4
lua> USPV = fn'i,n: -expm1(log1p(i)*-n) / i' -- = 1 / cn
lua> s1 = tvm(12, nil, -1, 0, s) -- APY to monthly rate

q = (1+s1)/(1+i) --> q-1 = (s1-i)/(1+i)

pv/pmt = (1 + q + q^2 + ... + q^59) / -c1 + q^60 / -c300

lua> tvm(60, (s1-i)/(1+i), USPV(i,300), USPV(i,1), nil) -- = pv/pmt
-128.065884851857
lua> pv / _ -- = pmt
-468.50884659412856
Find all posts by this user
Quote this message in a reply
05-30-2024, 01:08 AM (This post was last modified: 05-30-2024 01:37 AM by Gil.)
Post: #22
RE: (17B/19B) GPM: initial payment
Sorry, Albert, but I am starting to be confused now!

PV 60000
FV 0
IG%YR 7.5%
with growth of the payments during 5 years, from years 2-6, then all the following payements
remain constant at level of year 6.

But, in your example, what is your compounding/YR, C/YR?
And what is here, for your calculation, the annual nominal interest, I%/YR?
And payments always at the end/beginning of the period?

For C/Yr = 3, P/yr=12, end-payments,
I find -468.087113114.

Until your last reply, Albert, I was pretty sure of my way of calculating, only using — based on the annual given nominal rate I%YR — the corresponding effective rate, in my case here r=[(1 + 12/3/100)^3]^(1/12)=1.00985340655, for monthly payments.
Find all posts by this user
Quote this message in a reply
05-30-2024, 02:11 AM
Post: #23
RE: (17B/19B) GPM: initial payment
(05-30-2024 01:08 AM)Gil Wrote:  But, in your example, what is your compounding/YR, C/YR?
And what is here, for your calculation, the annual nominal interest, I%/YR?
And payments always at the end/beginning of the period?

P/Yr = C/Yr = 12 --> bank rate = APR 12% --> monthly rate i = 1%
Payment mode = END

(s-1) = APY 7.5%, converted to monthly rate s1 = 1.075^(1/12) - 1 ≈ 0.6045%

pmt1 = pmt = -468.50884659412856 (calculated from my previous post)
pmt2 = pmt * (1+s1)
pmt3 = pmt * (1+s1)^2
...
pmt60 = pmt * (1+s1)^59

Mortgage compounding and payment growth are in sync, with equivalent rate:

(q-1) = (1+s1)/(1+i) - 1 = (s1-i)/(1+i)

pmt61 = pmt * (1+s1)^60, and stay there until loan get paid off (pmt360).

(05-25-2024 08:40 PM)Albert Chan Wrote:  lua> r = -1 / c300 -- = pv6/pmt6
lua> for loops=1,5 do r = (d12*r*s - 1) / c12 end
lua> pv / r -- = pmt
-474.82512976281373

Confirm pmt (grow monthly until pmt61) without using (q-1), simply loops.

lua> i, s1
0.01    0.006044919024291704

lua> r = tvm(300,i,nil,1,0) -- = -1 / c300
lua> d1 = 1
lua> c1 = d1 + i
lua> for loops=1,60 do r = (d1*r*(1+s1)-1) / c1 end
lua> r
-128.06588485185708
lua> pv / r -- = pmt
-468.5088465941283
Find all posts by this user
Quote this message in a reply
05-30-2024, 03:14 AM (This post was last modified: 05-30-2024 03:55 AM by Gil.)
Post: #24
RE: (17B/19B) GPM: initial payment
Understood.

I thought wrongly that, in graduated approach,
during first year payments Pi (P1, P2... P12) = fix amount =P
during the 2nd year P13, P14... P24=fix amount = P. 1.075
etc
But, as I deduce from your explanations, it's not the case.

I have no experience on the matter, but I am surprised that the sum to be paid back should increase regularly by 7.5% during 59 (or 60) months (very complicated for the client to see the amount change every months).

Regards
Find all posts by this user
Quote this message in a reply
05-30-2024, 12:23 PM
Post: #25
RE: (17B/19B) GPM: initial payment
(05-30-2024 03:14 AM)Gil Wrote:  I thought wrongly that, in graduated approach,
during first year payments Pi (P1, P2... P12) = fix amount =P
during the 2nd year P13, P14... P24=fix amount = P. 1.075
etc
But, as I deduce from your explanations, it's not the case.

You are right, that was how GPM is normally setup.
I was just showing what happen if compounding and payment growth are in sync (monthly)

We could also solve GPM payment by assuming payment is in yearly basis.
This setup, compounding and payment growth are now in sync (yearly)

lua> K = fn'i,n: expm1(log1p(i)*n)' -- = (1+i)^n - 1
lua> USFV = fn'i,n: K(i,n)/i' -- = 1 / dn
lua> USPV = fn'i,n: -USFV(i,-n)' -- = 1 / cn

lua> s, i, pv = 1.075, 0.01, 6e4
lua> I = K(i,12) -- = APY
lua> tvm(5, (s-1-I)/(1+I), USPV(I,25), USPV(I,1), nil) -- = pv/pmt
-9.96351503776498
lua> pmt = pv / _

lua> pmt -- yearly payment
-6021.971138958528
lua> pmt / USFV(i,12) -- equivalent monthly payment
-474.82512976281373
Find all posts by this user
Quote this message in a reply
05-30-2024, 01:25 PM
Post: #26
RE: (17B/19B) GPM: initial payment
Solving the Negative Amortization problem of Graduated-Payment Loans, is an interesting read.

BEST!
SlideRule
Find all posts by this user
Quote this message in a reply
05-31-2024, 01:21 PM
Post: #27
RE: (17B/19B) GPM: initial payment
Indeed. What the article fails to mention though, is what should be done if you want both Graduated Payments and have a minimum payment equal to the interest due?
The above equations can be used to solve for any of the other parameters, so if the initial PMT is set, we can vary another one, like G% or N (the number of times the payment grows)
For the problem with
M = 30 years
PV = 60'000
I%Y = 12 per year
N=5 (growth periods)
we set
PMT = -PV*I%/12 = -600

Solve for G% to see 0.80% (0.8053452), so the last 300 payments are -600*(1+G%/100)^5 = -624.55

or, take instead
N=30 (let payments grow annually all through the loan - N=29 is the same BTW)
Now G%= 0.40% (0.3973548653), bringing the last 12 payments to
-600*(1+G%/100)^29 = -673.13

As a regular annuity, this mortgage has a constant monthly PMT of -617.17
(which, incidentally, you can also determine using this equation, setting N or G% to 0)

Cheers, Werner

41CV†,42S,48GX,49G,DM42,DM41X,17BII,15CE,DM15L,12C,16CE
Find all posts by this user
Quote this message in a reply
06-01-2024, 01:12 AM
Post: #28
RE: (17B/19B) GPM: initial payment
(05-25-2024 11:52 PM)Gil Wrote:  [PMT] is plain and easy. Trickier is to find i.

Inspired by Werner's post of finding growth rate, we have the formula for i too.

x = ((s-1)-APY) / (1+APY)

tvm(N, x, USPV(i,300), USPV(i,12), nil) --> PV/PMT

Now, do this in reverse, with nil replaced by PV/PMT, solve for rate x

x = s / (1+APY) - 1
(1+x) * (1+APY) = s            // formula for x and APY have same form!

--> APY = ((s-1)-x) / (1+x)
--> (s-1) = x*(1+APY) + APY

To confirm math, we redo Werner's previous post, solve for growth rate (s-1)

lua> K = fn'i,n: expm1(log1p(i)*n)'
lua> USPV = fn'i,n: -K(i,-n)/i'
lua> i = 0.01
lua> APY = K(i,12)

lua> tvm(5, nil, USPV(i,300), USPV(i,12), -1/i) * (1+APY) + APY
0.008053452004141717
lua> tvm(30, nil, 0, USPV(i,12), -1/i) * (1+APY) + APY
0.003973548652941375
Find all posts by this user
Quote this message in a reply
06-01-2024, 10:43 AM (This post was last modified: 06-01-2024 10:49 AM by Gil.)
Post: #29
RE: (17B/19B) GPM: initial payment
Yes, Chan.

The "trouble" is that I don't think that I have some of the mentioned functions as USPV in my HP50G calculator.

And what if I included payments growth every two months in a year, but payments every month, but having quarterly compounding?

I know: it should never happen...
Find all posts by this user
Quote this message in a reply
06-01-2024, 11:19 AM
Post: #30
RE: (17B/19B) GPM: initial payment
(06-01-2024 10:43 AM)Gil Wrote:  The "trouble" is that I don't think that I have some of the mentioned functions as USPV in my HP50G calculator.

'SPFV(I%,N)=EXPM(LNP1(I%/100.)*N)+1.' DEFINE

'SPPV(I%,N)=EXPM(-LNP1(I%/100.)*N)+1.' DEFINE

'USFV(I%,N)=IFTE(I%,EXPM(LNP1(I%/100.)*N)/I%*100.,N)' DEFINE

'USPV(I%,N)=IFTE(I%,-EXPM(-LNP1(I%/100.)*N)/I%*100.,N)' DEFINE

Cheers, Werner

41CV†,42S,48GX,49G,DM42,DM41X,17BII,15CE,DM15L,12C,16CE
Find all posts by this user
Quote this message in a reply
06-01-2024, 11:57 AM
Post: #31
RE: (17B/19B) GPM: initial payment
Sorry, I did not pay attention initially to your formulae.

Thanks, Werner.

Gil
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)