Post Reply 
41C/CV root finders
05-22-2015, 07:07 PM (This post was last modified: 05-23-2015 06:39 PM by Dieter.)
Post: #13
RE: 41C/CV root finders
(05-22-2015 01:14 PM)Ángel Martin Wrote:  Here's the formula I used in the TVM Module for the first derivative (as it uses Newton's method):

f ’ (i) = (PMT / i2 ) * [ (1+i)-n - 1 ] + n * [PMT (1 + ip)/i – FV ] * (1+i)-(n+1)

with initial value:
i0 = [ abs( PV + n*PMT + FV) ]1/n

Hmmm... looks like there are some characters missing. ;-)
How did you arrive at the formula for the inital guess?

For the record, here are the formulas I used for the posted 41C programs.
In all cases, k=0 (END) resp. 1 (BEGIN).

The initial guess is calculated as follows:
Code:
s = 2*k - 1
i = 2 * (pv + n*pmt + fv) / (fv * (s+n) + pv * (s-n))
That's essentially the value of the next Newton iteration if you start at i=0. ;-)

The first program uses a TVM formula close to the definition in the 12C manual. It is evaluated this way:
Code:
q = 1 + i
a = q^(-n)
b = pmt / i * (1 - a)

tvm = pv + b * (1 + k*i) + fv * a
tvm_deriv = n * a / q * (pmt * (1/i + k) - fv) - b/i

The second, improved version uses the following formulas:
Code:
q = 1 + i
a = pv + pmt * k + pmt / i
b = q^n - 1

tvm = a * b + pv + fv
tvm_deriv = a * n * q^(n-1) - pmt * b / i^2
          = a * n * (b+1)/q - pmt * b / i^2

This way slow operations like powers and logs are reduced to a minimum.
Of course the actual implementations use ex–1 and ln(1+x) for better accuracy.

Addendum:
Here's another way of calculating a first guess for the interest rate. Again, it's simply the first approximation using Newton's method starting at i=0. But this time based on the second TVM definition:

Code:
s = 2*k - 1
i = 2 / n * (pv + n*pmt + fv) / (pmt * (s+n) + 2 * pv)

For the test case this leads to an initial estimate of 17,647% (END) resp. 13,044% (BEGIN) while the final solutions are 14,436% resp. 10,205%.

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


Messages In This Thread
41C/CV root finders - Dave Britten - 05-20-2015, 07:07 PM
RE: 41C/CV root finders - Thomas Klemm - 05-20-2015, 07:36 PM
RE: 41C/CV root finders - Dieter - 05-20-2015, 07:44 PM
RE: 41C/CV root finders - Dave Britten - 05-20-2015, 08:08 PM
RE: 41C/CV root finders - Massimo Gnerucci - 05-20-2015, 08:40 PM
RE: 41C/CV root finders - Dave Britten - 05-20-2015, 08:49 PM
RE: 41C/CV root finders - Didier Lachieze - 05-21-2015, 11:12 AM
RE: 41C/CV root finders - Dieter - 05-21-2015, 11:40 AM
RE: 41C/CV root finders - Dave Britten - 05-21-2015, 12:51 PM
RE: 41C/CV root finders - Dieter - 05-21-2015, 07:36 PM
RE: 41C/CV root finders - Dieter - 05-22-2015, 08:34 AM
RE: 41C/CV root finders - bshoring - 05-27-2015, 10:09 PM
RE: 41C/CV root finders - Dieter - 05-27-2015, 11:16 PM
RE: 41C/CV root finders - Ángel Martin - 05-28-2015, 06:19 AM
RE: 41C/CV root finders - Dieter - 05-28-2015, 08:42 AM
RE: 41C/CV root finders - bshoring - 05-28-2015, 09:37 PM
RE: 41C/CV root finders - Ángel Martin - 05-22-2015, 01:14 PM
RE: 41C/CV root finders - Dieter - 05-22-2015 07:07 PM
RE: 41C/CV root finders - Dieter - 05-24-2015, 07:10 PM
RE: 41C/CV root finders - Ángel Martin - 05-25-2015, 05:35 AM
RE: 41C/CV root finders - Dieter - 05-25-2015, 07:19 PM
RE: 41C/CV root finders - Ángel Martin - 05-26-2015, 05:06 AM
RE: 41C/CV root finders - Dieter - 05-26-2015, 05:39 PM
RE: 41C/CV root finders - Ángel Martin - 05-26-2015, 09:26 PM
RE: 41C/CV root finders - Dieter - 05-26-2015, 10:08 PM
RE: 41C/CV root finders - rprosperi - 05-27-2015, 12:30 AM
RE: 41C/CV root finders - Dieter - 05-27-2015, 11:08 PM
RE: 41C/CV root finders - Ángel Martin - 05-28-2015, 05:44 AM
RE: 41C/CV root finders - Dieter - 05-28-2015, 09:50 PM
RE: 41C/CV root finders - Ángel Martin - 05-29-2015, 07:58 AM
RE: 41C/CV root finders - Ángel Martin - 05-27-2015, 05:17 AM
RE: 41C/CV root finders - Dieter - 05-27-2015, 01:50 PM
RE: 41C/CV root finders - Ángel Martin - 05-27-2015, 03:03 PM
RE: 41C/CV root finders - Dieter - 05-27-2015, 07:15 PM
RE: 41C/CV root finders - Dieter - 05-28-2015, 09:59 AM
RE: 41C/CV root finders - Ángel Martin - 05-28-2015, 11:27 AM
RE: 41C/CV root finders - Ángel Martin - 05-28-2015, 01:54 PM
RE: 41C/CV root finders - Dieter - 05-28-2015, 06:33 PM
RE: 41C/CV root finders - Ángel Martin - 05-29-2015, 08:04 AM
RE: 41C/CV root finders - Ángel Martin - 05-29-2015, 05:54 PM
RE: 41C/CV root finders - Dieter - 05-29-2015, 06:15 PM
RE: 41C/CV root finders - Ángel Martin - 05-29-2015, 06:44 PM
RE: 41C/CV root finders - Dieter - 05-29-2015, 07:19 PM
RE: 41C/CV root finders - Dieter - 05-30-2015, 12:37 PM
RE: 41C/CV root finders - Ángel Martin - 05-30-2015, 02:04 PM
RE: 41C/CV root finders - Dieter - 05-29-2015, 08:00 PM



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