> I'm pretty sure prices should not be used for calculating IRR. If you still hold the position on the final date of the IRR calculation period, you need a price to create a final cash flow that is equivalent to selling your remaining position at that ending mark. Likewise, you can do this for your starting point if you don't want to start your IRR calculation on the initial purchase date. IRRs are often used for reporting over standard periods, not just the full life of an investment.
On Wednesday, November 27, 2024 at 5:10:35 PM UTC-5 Eric Morgan wrote: > I'll just add that this issue has caused me to put using beancount on hold > (since my OP on November 3rd). Prior to this issue I have spent at least > 120 hours writing my own importers for banks I'm using. The end goal was to > calculate an aggregate IRR for all my investments. > > I think my minimal example earlier in this conversation was complete. > Since there is no remaining balance of stocks, I'm pretty sure prices > should not be used for calculating IRR. Also there was nothing wrong with > the prices that could explain a -100% IRR. > > You've created much more for the world than I have, and I'm sure you have > a lot to do with beancount 3. If you do find time to address this IRR issue > it would mean a lot for my use case. > > > On Wednesday, November 27, 2024 at 10:55:26 PM UTC+1 Martin Blais wrote: > >> Debuggability should be improved for sure. >> >> On Wed, Nov 27, 2024, 15:58 Eric Morgan <[email protected]> wrote: >> >>> Further testing shows that prices are used to determine IRR, so my >>> example wasn't complete. Thus you don't need to answer my question. Perhaps >>> I had a problem with price data. >>> >>> On Wednesday, November 27, 2024 at 9:53:33 PM UTC+1 Eric Morgan wrote: >>> >>>> This is an attempt at making my original question easier to answer by >>>> providing a minimal example. >>>> >>>> Here is a beancount file with one purchas and sale. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *option "operating_currency" "SEK"2010-01-01 custom "fava-extension" >>>> "fava_portfolio_returns" "{ 'beangrow_config': >>>> '/data/beancount/beangrow.pbtxt',}"2010-01-01 open Assets:MIPS >>>> MIPS2010-01-01 open Assets:Cash:SEK >>>> >>>> SEK2010-01-01 commodity MIPS price: "SEK:yahoo/MIPS.ST >>>> <http://MIPS.ST>"2022-07-08 * "Purchase MIPS" Assets:MIPS >>>> 453.0 MIPS @ 464.8 SEK Assets:Cash:SEK >>>> >>>> -210655.0 SEK2022-08-08 * "Sale MIPS" Assets:MIPS >>>> -453.0 MIPS @ 608.0 SEK Assets:Cash:SEK >>>> 275325.0 SEK* >>>> Here is a beangrow config file with one investment and group >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *investments { investment { currency: "MIPS" asset_account: >>>> "Assets:MIPS" cash_accounts: "Assets:Cash:SEK" }}* >>>> >>>> >>>> >>>> >>>> >>>> *groups { group { name: "stocks.MIPS" investment: "Assets:MIPS" >>>> currency: "SEK" }}* >>>> >>>> Here is the output >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *Investment stocks.MIPSUnits -Cash In >>>> 210655.0 SEKCash Out 275325.0 SEKMarket Value >>>> -Returns 64670.0 SEKYield >>>> 30.70 %IRR -100.00 %* >>>> >>>> I would expect that since the investment returned 30% in a month, the >>>> annual IRR should be higher than 30%. Does -100% indicate a bug in >>>> beangrow >>>> or am I thinking incorrectly about this? >>>> On Sunday, November 3, 2024 at 12:09:23 AM UTC+1 Eric Morgan wrote: >>>> >>>>> Here is another attempt at inserting images >>>>> >>>>> [image: 20241102_23h47m09s_grim.png] >>>>> >>>>> [image: 20241102_23h51m09s_grim.png] >>>>> On Sunday, November 3, 2024 at 12:07:13 AM UTC+1 Eric Morgan wrote: >>>>> >>>>>> I'm using the beangrow plugin for fava. It shows the following >>>>>> numbers. I've double checked that yield is correct using a different >>>>>> library. But I don't understand why IRR is -100.00%. My calculations >>>>>> suggest it should be 285.78%. >>>>>> >>>>>> [image: 20241102_23h47m09s_grim.png] >>>>>> >>>>>> Here is the same data visualized with the beangrow tool. >>>>>> >>>>>> [image: 20241102_23h51m09s_grim.png] >>>>>> >>>>>> Here is the beangrow config file >>>>>> >>>>>> investments { >>>>>> investment { >>>>>> currency: "MIPS" >>>>>> asset_account: "Assets:MIPS" >>>>>> cash_accounts: "Assets:Cash:SEK:BankA:AccountA" >>>>>> cash_accounts: "Assets:Cash:SEK:BankB:AccountB" >>>>>> } >>>>>> groups { >>>>>> group { >>>>>> name: "stocks.MIPS" >>>>>> investment: "Assets:MIPS" >>>>>> currency: "SEK" >>>>>> } >>>>>> } >>>>>> >>>>>> Here are the entries on that account copied from fava >>>>>> >>>>>> 2022-06-22 >>>>>> Open >>>>>> Assets:MIPS >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 108057.6 SEK >>>>>> 108057.6 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 224.0 MIPS >>>>>> 461.7 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -103480.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> 0.20 SEK >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 59.0 SEK >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 120600.0 SEK >>>>>> 228657.6 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 250.0 MIPS >>>>>> 458.7 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -114738.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 63.0 SEK >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 120600.0 SEK >>>>>> 349257.6 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 250.0 MIPS >>>>>> 460.6 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -115213.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 63.0 SEK >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 117705.6 SEK >>>>>> 466963.2 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 244.0 MIPS >>>>>> 456.1 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -111349.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> -0.40 SEK >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 61.0 SEK >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 96480.0 SEK >>>>>> 563443.2 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 200.0 MIPS >>>>>> 457.6 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -91579.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 59.0 SEK >>>>>> 2022-06-22 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 14472.0 SEK >>>>>> 577915.2 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 30.0 MIPS >>>>>> 456.7 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -13760.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 59.0 SEK >>>>>> 2022-07-04 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 134790.0 SEK >>>>>> 673051.4 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 300.0 MIPS >>>>>> 446.1 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -133904.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 74.0 SEK >>>>>> 2022-07-08 >>>>>> * >>>>>> Purchase MIPS >>>>>> si >>>>>> 212728.8 SEK >>>>>> 916189.6 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> 453.0 MIPS >>>>>> 464.8 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> -210655.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> 1.60 SEK >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 99.0 SEK >>>>>> 2022-08-08 >>>>>> * >>>>>> Sale MIPS >>>>>> si >>>>>> -277326.6 SEK >>>>>> 917075.6 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> -453.0 MIPS >>>>>> 608.0 SEK >>>>>> Assets:Cash:SEK:BankB:AccountB >>>>>> 275325.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankB:AccountB >>>>>> Expenses:Comissions:SEK:BankB:AccountB >>>>>> 99.0 SEK >>>>>> 2022-08-22 >>>>>> * >>>>>> Sale MIPS >>>>>> si >>>>>> -820005.2 SEK >>>>>> signature: >>>>>> ASSET_CASH_EXPENSES_INCOME >>>>>> Assets:MIPS >>>>>> -1498.0 MIPS >>>>>> 540.0 SEK >>>>>> Assets:Cash:SEK:BankA:AccountA >>>>>> 808721.0 SEK >>>>>> Income:Financial:Rounding:SEK:BankA:AccountA >>>>>> Expenses:Comissions:SEK:BankA:AccountA >>>>>> 199.0 SEK >>>>>> >>>>>> The Yield and IRR has been correct for other investments I've looked >>>>>> at in my data. >>>>>> >>>>>> Appreciate any help on this. Thanks! >>>>> >>>>> -- >>> 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 visit >>> https://groups.google.com/d/msgid/beancount/183f903d-f646-456a-be4a-3773633a0c14n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/beancount/183f903d-f646-456a-be4a-3773633a0c14n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- 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 visit https://groups.google.com/d/msgid/beancount/d179174a-3a18-4954-aa6e-5e45dac9f36an%40googlegroups.com.
