Mod to advanced-portfolio report
Derek Atkins
warlord@MIT.EDU
07 Oct 2002 10:07:54 -0400
This looks reasonable.. I also reformmated that section of code a bit to
make it more readable. Let me know if this breaks.
-derek
Matt Martin <matt.martin@ieee.org> writes:
> All,
>
> The new advanced-portfolio report ROCKS!
> However, it seems to give wrong numbers if I have transactions dealing
> with more than one security.
> This happens, for instance, when my paycheck is distributed to several
> IRA funds.
> Right now it seems to add the money which goes into all other funds in
> one transaction as coming out of the fund of interest.
> This makes my %return on investment happily positive but incorrect.
>
> I think I have a fix for my circumstance, but not sure if it will
> break something else.
> It only adds the "money in" or "money out" amounts if handling a
> specific split buying/selling the commodity of interest,
> not for all splits in a transaction containing that commodity. Hope
> that makes sense...
>
> Now my net ROI appears correct and very,very negative. :(
>
> Patch is attached.
>
> Regards.
>
> --
>
> Matt Martin
> matt.martin@ieee.org
> 600 West Grove Parkway #1042,Tempe, AZ, 85283
> Visit my homepage at http://matthewmartin.org
>
> --- gnucash/src/report/standard-reports/advanced-portfolio.scm Tue Oct 1 13:48:27 2002
> +++ /usr/local/share/gnucash/guile-modules/gnucash/report/advanced-portfolio.scm Sun Oct 6 16:38:17 2002
> @@ -158,11 +158,13 @@
> (* (gnc:numeric-to-double (gnc:split-get-amount s))
> (gnc:date-year-delta
> (car (gnc:transaction-get-date-posted parent))
> - (current-time))))) )
> + (current-time)))))
> + (cond
> + ((gnc:numeric-negative-p (gnc:split-get-value s))
> + (moneyoutcoll 'add currency (gnc:numeric-neg (gnc:split-get-value s))))
> + (else (moneyincoll 'add currency (gnc:numeric-neg (gnc:split-get-value s))))))
> ((split-account-type? s 'expense) (brokeragecoll 'add currency (gnc:split-get-value s)))
> ((split-account-type? s 'income) (dividendcoll 'add currency (gnc:split-get-value s)))
> - ((gnc:numeric-negative-p (gnc:split-get-value s)) (moneyincoll 'add currency (gnc:split-get-value s)))
> - (else (moneyoutcoll 'add currency (gnc:split-get-value s)))
> )
> )
> (gnc:transaction-get-splits parent)
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord@MIT.EDU PGP key available