Thanks for sharing! Computing and displaying rate of returns is definitely a useful thing to have, and I'd love to see a "standard" solution for this for Beancount and Fava. A few challenges:
1. Extracting cashflows turned out to be far trickier than I'd imagined when I tried this a few years ago. I also tried hoostus' portfolio-returns <https://github.com/hoostus/portfolio-returns>, and though the code is clear and helpful, I found that it failed to consider several cases, because of which it produced between small and very large errors compared to what I was seeing at my broker, for example. 2. Verification that the right cashflows were used is a challenge. It's impossible to have faith in the returns numbers without such verification. Martin wrote and shared beangrow <https://github.com/beancount/beangrow/> which solves 1 and 2 above very well. See Martin's doc <https://docs.google.com/document/d/1nPsMIunLnDvdsg6TSsd0PZb7jngojNpFlqnaX36WRp8/edit> for more. It also covers grouping, which you mentioned as well. Also see my review of beangrow <https://docs.google.com/document/d/1FsbdqbPWaupPg67kZp1CK0BoX2Ri4WhGnLa5vNTBBAs/edit#heading=h.xclbp6hivw20> . Just at thought, given all of that: it would be awesome if your backend could be made to work with beangrow instead. On Friday, October 15, 2021 at 7:08:10 AM UTC-7 Phractured Blue wrote: > I've developed a Fava plugin that can calculate a portfolio summary. With > several features I've not seen brought together in one place before. > > What I needed was a way to group my various accounts by type (Roth, > Pre-Tax retirement, Post-Tax investment, Cash) to see the total value of > each group. Additionally I was interested in comparing the performance of > managed vs un-managed accounts (which is not straight-forward given the > sporadic cash-flow increases). > > I settled on calculating the TWRR (Time-Weighted Rate of Return) and MWRR > (Money-Weighted Rate of Return) along with Cost and Balance for each > account along with the account groups. Calculating TWRR can be very > expensive (even though the MWRR algorithm is significantly more costly) due > to the need to calculate the balance at each cashflow point, so by default > TWRR calculation is disabled. It takes about 15 seconds to calculate TWR > for ~1000 cash-flow transactions on my portfolio. > > I'm no financial wizard, so the MWRR code is based off the > 'portfolio-returns' project ( https://github.com/hoostus/portfolio-returns), > and I just hope I got the TWRR calculation correct. I based the portfolio > groups off the fava-classy-portfolio project ( > https://github.com/seltzered/fava-classy-portfolio) > > I thought others may have a similar need, so if you there is any interest, > the project can be found here: > > https://github.com/PhracturedBlue/fava-portfolio-summary > > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/1dfda63d-6d72-484c-aaa4-dedec72af8e0n%40googlegroups.com.
