Advanced portfolio report
Mike Alexander
mta at umich.edu
Fri Nov 30 14:05:18 EST 2007
--On November 30, 2007 8:14:54 AM -0800 Andrew Sackville-West
<ajswest at mindspring.com> wrote:
> I think the thing to do is figure out which version of this report to
> use and get it cleaned up and committed as it currently stands. Then
> go back in and add the feature of another frickin' column. How many is
> too many?
>
> The current report is so broken, that I think we could get the devs to
> backport a fixed version into 2.2.x to help alleviate the current bug
> stack and then move with improvements to the report for 2.4
I decided to take a look at this a bit, although I don't have time to
really do too much right now. So far I've tried Andrew's but not
Morrison's. To get it to work I had to change "_" to "-" in
ACCT_TYPE_ASSET and ACCT_TYPE_LIABILITY around line 390 in case anyone
else is wondering why it doesn't work as sent. I also changed the
debugging calls to use "gnc:debug" instead of "output" to avoid getting
15000 lines of debugging output every time I ran the report.
There are still some problems with this report. For one thing it
doesn't seem to handle reinvested dividends quite right, although I
think you've been discussing this. I have a fund where I made one
purchase and since then there have been reinvested dividends and
reinvested capital gain distributions and no sales. It didn't handle
this too badly. The basis seems correct, but for some reason all the
dividends and distributed gains are considered to be realized gains.
In the case, at least, of the dividends this is not right.
In the case of Apple, I've got a number of purchases and sales over
several years, along with a few stock splits. However the net result
is fairly simple. All the lots are closed except for the most recent
purchase and there have been no splits since then. It almost handles
this correctly except for some shares I donated to charities. For some
reason it considers the value of these shares to be brokerage fees. I
used the lot scrubber to create capital gains splits for all the sales
and donations and told the report to use them. The realized gain in
the report is the same as in the lot viewer.
A more complicated example is Altria Group. I purchased two lots in
2004 and 2005. In 2007 they spun off Kraft. There have been no other
transactions in that account. The net result is that the basis for
Altria is split between the Altria and Kraft stocks. Then the
resulting fractional shares of Kraft were sold. I used the lot
scrubber to create capital gains splits for this fractional sale. The
report doesn't handle this well at all. The basis of Altria is
unaffected by the spin off instead of being reduced. The basis of
Kraft is close, it's off by only $.74. I can't see any obvious place
this comes from. However it shows a realized gain for Kraft that is
way off. It's equal to all the money that has flowed in or out plus
$.74 so it's off by a factor of 1000 or so.
I also have another stock (Johnson & Johnson) for which I have 3
acquisitions, one partial sale, and several splits. It seems to have
had trouble with this one since it thinks the basis is zero, which is
clearly wrong. Again I used the lot scrubber to create a capital gains
split for the sale and the lot scrubber gets the correct gain. The
report shows a huge realized loss that is much larger than the sale
price, as if the basis for that lot was a large negative number.
If there are lots assigned to the splits for a stock or other asset,
the report should use them. In this last case, the sale was part of
the second of three acquisitions. This is correctly recorded in the
splits (which I realize is hard to do now, but someday it might be
easier) and the report should really use this information to determine
the basis for the shares sold like the lot scrubber does.
I've only looked at a few lines in the report so this isn't a complete
list of the possible problems. Sorry I don't have more time to work on
this right now. I appreciate the work you are doing on it. This
version seems to be better than before and I hope these comments help
improve it. I'm sure you would like to have test data that
demonstrates some of these problems. Perhaps I'll have time to create
some, but I can't promise it right now.
--
Mike Alexander mta at umich.edu
Ann Arbor, MI PGP key ID: BEA343A6
More information about the gnucash-devel
mailing list