This is indeed one of the solutions written about in the past. https://docs.google.com/document/d/1SC_q_t8TkLdPxglb2qcpG8q4wVe0VP-XU35FTI0ICRA/
On Thu, Jun 27, 2024 at 12:13 AM Eric Altendorf <[email protected]> wrote: > if i were doing this i think i'd look into using a different symbol for > pre and post split. it just feels cleaner to think of the pre-split shares > as being a fundamentally different thing than the post-split. not sure how > hard it would be to keep price fetching working, and suppress realization > of cap gains. > > On Wed, Jun 26, 2024 at 8:57 PM Martin Blais <[email protected]> wrote: > >> Beancount does not deal with splits explicitly. >> This means that the time series of your price will have a jump at the >> time of the stock split. >> Building this properly is out of scope and I've found it not worthwhile; >> there are many more corporate actions it would have to take into account, >> e.g., spinoff of shares and that's worthy of building in something that >> serves market data, but not super important in an accounting system. >> >> >> >> On Wed, Jun 26, 2024 at 9:38 AM Brian Lalor <[email protected]> wrote: >> >>> Alright, I see. Thank you. >>> >>> If it’s not already obvious, I’m quite naïve about trading. Given that >>> most (if not all?) historical price records seem to have been retroactively >>> updated for all cumulative splits (ie >>> https://finance.yahoo.com/quote/NVDA/ shows the 2024-02-14 closing >>> price as 73.90 USD), is there any reason not to just update the original >>> transaction in my ledger? >>> >>> — >>> Brian Lalor (he/him) >>> [email protected] >>> >>> On Jun 22, 2024, at 9:34 PM, Martin Blais <[email protected]> wrote: >>> >>> 2024-06-02 * "NVDA 10:1 stock split" "" >>> Assets:Stocks:NVDA -2 NVDA {733.09 USD, 2024-02-14} >>> Assets:Stocks:NVDA 2*10 NVDA {733.09/10 USD} >>> >>> You don't realize gains on a split >>> >>> >>> >>> >>> >>> >>> On Sat, Jun 22, 2024 at 8:42 PM Brian Lalor <[email protected]> wrote: >>> >>>> Like this? >>>> >>>> 2024-06-02 * "NVDA 10:1 stock split" "" >>>> Assets:Stocks:NVDA >>>> -2 NVDA {733.09 USD, 2024-02-14} >>>> Assets:Stocks:NVDA >>>> 20 NVDA {109.633 USD} >>>> >>>> >>>> But that doesn’t balance. >>>> >>>> — >>>> Brian Lalor (he/him) >>>> [email protected] >>>> >>>> On Jun 22, 2024, at 8:16 PM, Martin Blais <[email protected]> wrote: >>>> >>>> You bought your NVDA at 733.09 not 1096.33, that's what you have to >>>> provide in the cost for the -2 leg. >>>> The docs are correct. >>>> >>>> >>>> On Sat, Jun 22, 2024 at 5:32 PM Brian Lalor <[email protected]> wrote: >>>> >>>>> I know this has been discussed a few times, but the docs are still >>>>> incorrect and I’m unable to find a complete example. I’m using beancount >>>>> v2 because Fava’s not been updated for v3, yet. >>>>> >>>>> NVDA recently split 10:1. I previously purchased 2 shares: >>>>> >>>>> option "operating_currency" "USD" >>>>> >>>>> 2024-02-14 open Equity:Opening-Balances >>>>> USD >>>>> >>>>> 2024-02-14 open Assets:Cash >>>>> USD >>>>> 2024-02-14 pad Assets:Cash Equity:Opening-Balances >>>>> >>>>> 2024-02-14 open Assets:Stocks:NVDA >>>>> NVDA >>>>> 2024-02-14 commodity NVDA >>>>> >>>>> 2024-02-14 * "Buying some NVDA" "" >>>>> Assets:Stocks:NVDA >>>>> 2.00 NVDA {733.09 USD} >>>>> Assets:Cash >>>>> >>>>> 2024-05-31 balance Assets:Stocks:NVDA >>>>> 2 NVDA >>>>> 2024-05-31 balance Assets:Cash >>>>> 0.00 USD >>>>> >>>>> The pre-split stock price (per Yahoo and bean-price) was 1,096.33, and >>>>> my Fidelity account confirms that I have 20 shares. Per the docs[1], I >>>>> would do (I think): >>>>> >>>>> 2024-06-02 * "NVDA 10:1 stock split" "" >>>>> Assets:Stocks:NVDA >>>>> -2 NVDA {1,096.33 USD} >>>>> Assets:Stocks:NVDA >>>>> 50 NVDA {109.633 USD} >>>>> >>>>> bean-check fails, however: >>>>> >>>>> nvidia_split.beancount:24: No position matches >>>>> "Posting(account='Assets:Stocks:NVDA', units=-2 NVDA, >>>>> cost=CostSpec(number_per=Decimal('1096.33'), number_total=None, >>>>> currency='USD', date=None, label=None, merge=False), price=None, >>>>> flag=None, >>>>> meta={'filename': 'nvidia_split.beancount', 'lineno': 29})" against >>>>> balance >>>>> (2.00 NVDA {733.09 USD, 2024-02-14}) >>>>> >>>>> Explicitly using the lot in that transaction fails, too: >>>>> >>>>> 2024-06-02 * "NVDA 10:1 stock split" "" >>>>> Assets:Stocks:NVDA -2 NVDA {733.09 USD, 2024-02-14} @ 1096.33 USD >>>>> Assets:Stocks:NVDA 20 NVDA {109.633 USD} >>>>> >>>>> The error is: >>>>> >>>>> nvidia_split.beancount:24: Transaction does not balance: >>>>> (726.4800 USD) >>>>> >>>>> 2024-06-02 * "NVDA 10:1 stock split" "" >>>>> Assets:Stocks:NVDA -2.00 NVDA {733.09 USD, 2024-02-14} @ 1096.33 >>>>> USD >>>>> Assets:Stocks:NVDA 20 NVDA {109.633 USD, 2024-06-02} >>>>> >>>>> So it seems the price of 1096.33 is being ignored and I’m trying to >>>>> purchase 20 shares at 109.633 USD using 2*733.09 USD and the “gain” of >>>>> 363.24 USD per share is being lost. >>>>> >>>>> What is the proper way to reflect a stock split? >>>>> >>>>> Thanks, >>>>> Brian >>>>> >>>>> [1]: >>>>> https://beancount.github.io/docs/trading_with_beancount.html#stock-splits >>>>> — >>>>> Brian Lalor (he/him) >>>>> [email protected] >>>>> >>>>> -- >>>>> 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/C9EBE17D-A95F-4018-B979-59831C301DFB%40bravo5.org >>>>> . >>>>> >>>> >>>> -- >>>> 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/CAK21%2BhMXg654ZmD8N%2BedrJuCzSah2hrX0apH1Q6o%3D2%3DxP80kQQ%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/beancount/CAK21%2BhMXg654ZmD8N%2BedrJuCzSah2hrX0apH1Q6o%3D2%3DxP80kQQ%40mail.gmail.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 on the web visit >>>> https://groups.google.com/d/msgid/beancount/EBF195B5-FA6C-476B-9925-0DADC70FADA2%40bravo5.org >>>> <https://groups.google.com/d/msgid/beancount/EBF195B5-FA6C-476B-9925-0DADC70FADA2%40bravo5.org?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 on the web visit >>> https://groups.google.com/d/msgid/beancount/CAK21%2BhNGvUFRtQmK9jskoGCPidmahv6aOf_hpqTHmZGYYsEvPA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/beancount/CAK21%2BhNGvUFRtQmK9jskoGCPidmahv6aOf_hpqTHmZGYYsEvPA%40mail.gmail.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 on the web visit >>> https://groups.google.com/d/msgid/beancount/CAF6E8D1-6E0B-47F4-A9B6-E77C1C18AD69%40bravo5.org >>> <https://groups.google.com/d/msgid/beancount/CAF6E8D1-6E0B-47F4-A9B6-E77C1C18AD69%40bravo5.org?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 on the web visit >> https://groups.google.com/d/msgid/beancount/CAK21%2BhOrUwFLda0bFMK%2BGp3-3SBW5eyVY7J%3DBy_mcY1S%3D_kReg%40mail.gmail.com >> <https://groups.google.com/d/msgid/beancount/CAK21%2BhOrUwFLda0bFMK%2BGp3-3SBW5eyVY7J%3DBy_mcY1S%3D_kReg%40mail.gmail.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 on the web visit > https://groups.google.com/d/msgid/beancount/CAFXPr0vDq1Ty1pLTgZBBRGgNFUAwSD1VtZx0t0Fjv36VVcuQBg%40mail.gmail.com > <https://groups.google.com/d/msgid/beancount/CAFXPr0vDq1Ty1pLTgZBBRGgNFUAwSD1VtZx0t0Fjv36VVcuQBg%40mail.gmail.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 on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhOb0rZE5zeMXt208%2BNs-EOkkb-pN0m1GiEhQSuUmY1%3D3w%40mail.gmail.com.
