Strangeness in Mortgage/Loan Repayment Druid
Matthew Vanecek
mevanecek at yahoo.com
Tue Jul 1 23:01:30 CDT 2003
On Tue, 2003-07-01 at 20:43, Josh Sled wrote:
> On Tue, Jul 01, 2003 at 07:59:40PM -0400, Daniel Hannum wrote:
>
> | I have a number of questions about the mortgage/loan repayment druid.
> | BTW, I'm on 1.8.1 (redhat 9). So I this has been fixed, please let me
> | know. I'm not prepared to grapple with upgrading (yet)... it was easier
> | under Debian......
>
> I don't believe the Mortgage/Loan druid has seen any changes since 1.8.0.
>
> | Now, when I put the principal, rate and term into Gnucash's druid, it
> | comes up with 374.13, but that's not good, because that's not what I'm
> | actually going to pay.
>
> 4 whole cents off? Good enough for government work... ;)
>
Perhaps, but not for personal finance. I resorted to an Open Office
spreadsheet, and enter interest/principal from there.
> If it's a constant 0.04, you could modify the formulae to add/subtract that
> out, but that's a nasty hack. OTOH, it might solve your immediate problem,
> though I imagine that the rest of the calculations would be off, as well. :(
>
> I had expected that the calculation would vary from most people's actual
> payments for various reasons ... this is a good example of this. Sorry.
>
> | 1. How do I force a particular loan payment? On the page of the Druid
> | where you specify the 'Amount' and the accounts where the principal and
> | interest will be, I tried replacing the "pmt()" expression with $374.09,
> | but it seemed to ignore me; the next page still had 60 payments of $374.13
>
> Hmm... that should actually work, IIRC.
>
> In playing with it, it does look like any changes made to the Payment
> field are ignored, which is quite unfortunate. Filing a bug at
> bugzilla.gnome.org is appreciated.
>
> | 2. What does "pmt( 0.07900 / 12 : 60 : 18495.00 : 0 : 0 )" mean?
> | Obviously, it's rate, term, principal, but what are the last 2 zeroes?
> | Perhaps I shouldn't care. Or perhaps it could help to know.
>
> This one can be answered by looking in src/scm/fin.scm [I forget where
> it's copied on install, but `locate fin.scm` should find it] -- the last
> two terms are the "future value" and "type", as defined by the Gnumeric
> 1.0.8 functions of the same name. Future value could be non-zero, but
> I made the simplifying that it is.
>
> I was hoping to have a more name=value function syntax in the future, but
> time's a bitch.
>
> | 3. If I were to start paying the loan off faster, with irregular
> | amounts, I would have to put these transactions in by hand. Does it seem
> | correct to take the balance after the previous payment, multiply it by
> | 7.9%/12 and use that as the interest portion? I would think that would
> | be right, but when I try that with the current balance, it doesn't come
> | up the same as what the scheduled transaction generator is producing...
> | so you guys must have a different algorithm.
>
> Yes ... there's an existing bug [and some design-time requests which were
> not incorporated] that any future transactions should be based on the
> present value of the account at the time of payment... this would be a
> nice expansion of the feature. :(
>
> | Any help would be appreciated.
>
> I fear that wasn't a lot of help, unfortunately, but hopefully it's
> more clear. My time to enhance this [or any] part of the codebase is
> non-existant at present, a situation I don't think will be resolved for
> some number of months. Hopefully someone will step up to this.
>
My auto loan is simple interest. Here's how the payment breakdown works
out. Suppose an interest rate of 5%:
bal = initial/running principal balance
prin = principal portion of payment
int = interest portion of payment
days = payment date - last payment date
amt = amount of payment
int = (days * (5%/365)) * bal
prin = amt - int
bal = bal - prin
This formula matches my bank's numbers perfectly, so I'm pretty happy
with it. Unfortunately, I couldn't get Gnucash to do the same thing, so
I just transfer the numbers from the spreadsheet. Using the spreadsheet
also allows me to insert rows for extra payments. I tried all the PMT
and INT and FPV and NPV formulas--they all seemed to be a few pennies
off at the closest. So I just use my own. *shrug*worksforme. YMMV,
etc., etc.
--
Matthew Vanecek
perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
********************************************************************************
For 93 million miles, there is nothing between the sun and my shadow except me.
I'm always getting in the way of something...
More information about the gnucash-devel
mailing list