PC-1211, PC-1250, etc. TVM
|
06-11-2024, 03:32 PM
(This post was last modified: 06-12-2024 03:38 PM by Albert Chan.)
Post: #38
|
|||
|
|||
RE: PC-1211, PC-1250, etc. TVM
(06-02-2024 11:18 PM)Albert Chan Wrote:(06-02-2024 06:37 PM)Albert Chan Wrote: rate = pmt/(x-pv) I found a more elegant proof, using reciprocal rate r = 1/i = (x-pv)/pmt x2 = x - f / (df/dx) (pmt*r2 + pv) = (pmt*r + pv) - f / (df/dr / pmt) r2 = r - f / (df/dr) Both are equivalent. We just need to show one has same convergence rate as npmt. f(r) = (pmt*r + pv) + (pv+fv) / ((1+1/r)^n-1) Compare this to g = npmt function (terms rearranged to make pattern clearer) g(i) = (pmt + pv*i) + (pv+fv) / ((1+i)^n-1) * i We have f = r*g. Let fp = df/dr, gp = dg/di fp = d(r*g)/dr = (g + r * (dg/di) / (dr/di)) = (g + (1/i) * gp * (-i^2)) = (g - i*gp) Newton iteration for next estimate: r2 = r - f/fp = 1/i - (g/i) / (g - i*gp) = 1 / (i - g/gp) = 1 / i2 QED f(r) = (pmt*r + pv) + (pv+fv) / ((1+1/r)^n-1) Bonus trivia, from recipocal rate formula, f(1/i) = npmt(i)/i n assumed positive. If not, we can use time-symmetry: {n,pv,fv} --> {-n,-fv,-pv} f(r = -1) = limit(npmt(i)/i, i = -1) = (pmt*-1+pv) + (pv+fv)/(∞^-n-1) = (-fv-pmt) f(r = 0) = limit(npmt(i)/i, i = +∞) = (pmt*0+pv) + (pv+fv)/(∞^n-1) = pv For extreme rate, npmt(i) is basically linear, slope = (pv if n>0 else -fv) |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 8 Guest(s)