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.

Reply via email to