Strangeness in Mortgage/Loan Repayment Druid

Josh Sled jsled at asynchronous.org
Sun Jul 6 13:19:44 CDT 2003


On Wed, Aug 06, 2003 at 03:10:29PM -0400, Daniel Hannum wrote:

| I'm looking into fixing this myself rather than bothering with bugzilla. 
| (as an aside, is that ok, or, from a change-control standpoint, do you 
| want a bug filed?)

Probably not a bad idea from a tracking standpoint, but it's up to you.

| There are other bugs too. If you ask for a 60 month loan, it gives you 
[deletia]
| So I'm confused. It's probably my fault because I have no idea what 10/1 
| Year even means.

No, it's probably my fault for not really finishing the variable loan-rate
support. :(

| I'm also hoping to enhance it so that it looks at the current balance 
| when adding the scheduled transaction. That's much more difficult 
| because it requires a change in our use of "pmt()". I'm thinking I can 
| cleverly take advantage of 'pv' in that formula to be the current 
| principal value. 

That might be a little too clever... :) Why not just introduce a new
function ...  "accountPresentValue( 'account-name' )"?  Then, it could be
evaluated at the appropriate time?

The trick, of course, come in when "instantiating" the scheduled
transactions... if the user hasn't run GNC for a while, the
"accountPresentValue" has to deal with the fact that other SXes may be being
concurrently created, and thus modifying the present value of the account.
Luckily, as the SXes are created, the transactions are placed on the books
-- so long as everything is done in temporal order, the accountPresentValue
should be getting the correct current value of the account.

Another trick is detecting the quoted-account-name in the
formula/expression parsing ...

Yet another trick is dealing with account name changes ... the "name" part
might actually be a display-only thing, and the function might be, more
appropriately: accountPresentValue( account-code ).

| We would still have the possibility that the 
| transaction might be paid off prematurely. It's messy. I'll have to 
| think more about that. Right now I'm looking to do easy stuff because 
| I've never hacked gnucash before.

Good place to start. :)

| Also, as an aside, what language are these SCM files in? Lisp?

Scheme... a lisp dialect.

...jsled

-- 
http://www.asynchronous.org - `a=jsled; b=asynchronous.org; echo ${a}@${b}`
jabber:jsled at jabber.asynchronous.org, ICQ:4983267, {AIM,YIM}:joshsled


More information about the gnucash-devel mailing list