weighted average in Balance Sheet

David G Hamblen dhamblen at adelphia.net
Mon Jan 24 08:16:28 EST 2005

Christian Stimming wrote:

> Derek Atkins schrieb:
>>> I usually use the "Nearest in Time" option;  the weighted average is 
>>> not particularly informative.  Weighted average is, however, the 
>>> default; and it appears that that it's used to determine the cost 
>>> when computing the unrealized gain.  Since it's calculated using 
>>> absolute values, it's not even the correct number.
>> Hmm, then that's definitely a bug..
> However, there is a particular reason to have "Weighted Average" the 
> default for any of the multi-currency report: GnuCash has two kinds of 
> prices. There are *explicit* prices with an entry in the Price Editor. 
> And there are *implicit* prices whenever a transaction with multiple 
> currencies is booked.
> .........
> Christian

For the stock case, weighted average would work fine (at least for my 
test case) if the average were computed using the algebraic rather than 
the absolute values  (with testing for  0/0 cases).  I'm not sure I 
understand the impact on the implicit pricings.  My example was buying 
100 shares at $5, selling it at a later date at $5, and then at a still 
later date buying 10 shares at $20.  The weighted average appears to be 
calculated as (5*100+5*100+20*10)/(100+100+10)=$5.71/sh.  I think it 
should be calculated as  (5*100-5*100+20*10)/(100-100+10)=$20.00/sh.  
The  individual prices are always positive, but the shares and the 
values can both be negative.   Seems like this ought to work with the 
implicit prices as well.  The gotcha in this is the after the second 
transaction I have zero shares with an undefined price ($0/0); so we 
need to test and skip the case where there's no current position in the 


More information about the gnucash-devel mailing list