Post Reply 
TVM solve for interest rate, revisited
06-15-2024, 03:05 AM (This post was last modified: 06-26-2024 01:49 PM by Albert Chan.)
Post: #42
RE: TVM solve for interest rate, revisited
Assume n>1, (x → ∞), we wanted to show (x - f/f') → -pmt/pv

Let K = (1+x)^n, g = x / (K-1)

(x → ∞) ⇒ (K → ∞) ⇒ (g → 0)

f = (pv+fv)*g + pv*x + pmt
f' = (pv+fv)*g' + pv

(x → ∞) ⇒ (f → pv*x + pmt) ⇒ (f' → pv)

x - f/f' → x - (pv*x + pmt)/pv = -pmt/pv



Assume n>1, (x → -1), we wanted to show (x - f/f') → pmt/fv

(x → -1) ⇒ (K → 0) ⇒ (g → 1)

ln(g) = ln(x) - ln(K-1)
g'/g = 1/x - n*K/(1+x)/(K-1) = 1/x - n/((1+x)*(1-1/K))

(x → -1) ⇒ (g'/g → 1/-1 - n/∞ = -1) ⇒ (g' → -1)

f = (pv+fv)*(1) + pv*(-1) + pmt = fv + pmt
f' = (pv+fv)*(-1) + pv = -fv

(x → -1) ⇒ (f → -fv*x + pmt) ⇒ (f' → -fv)

x - f/f' → x - (-fv*x + pmt)/(-fv) = pmt/fv



This allow for getting not just edge rate, but direction where it is going!

i > pmt/fv, because previous guess was -1
i < pmt/-pv, because previous guess was ∞

If we get smaller edge by picking bigger sized denominator, pmt=0 also work.

lua> tvm(10, nil, -10, 0, 20, true)
0                                      1
0.06896551724137931      0.03766397216483768
0.07176928097229544      5.600549027886197e-05
0.07177346252703834      1.2395358963512803e-10
0.07177346253629316      0
0.07177346253629316

Above example, we pick fv, because its size is bigger --> i > 0/20 = 0
Here is a nice mnemonic: < pv pmt fv >, same order as most financial calculator.

Of course, this is assuming root in that direction exist.
We might not have 2 solutions, even with 2 good edges.
Direction info can only show where is possible, or not.

Update: 6/18/24 I made HP71B Secants Method Rate Solver using asymptotic slopes.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: TVM solve for interest rate, revisited - Albert Chan - 06-15-2024 03:05 AM



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