For currencies (@), the cost basis is forgotten in the lot that's inserted
or matched to the account's inventory.
For investments ({}), the cost basis is attached to the lot inserted or
matched to the account's inventory.
If you were a currency trader, you wouldn't buy/sell currencies and track
it as such, you'd buy/sell positions in currency pairs (e.g. EUR_USD) or
currency futures contracts (e.g. /6E). You could reduce it to the
individual underlyings' exposures (e.g. EUR_USD -> two positions in EUR,
USD) but that would be a derived detail.On Sun, Dec 12, 2021 at 2:52 PM Pranesh Prakash <[email protected]> wrote: > Hi, > I'm trying to think through implementation of lots and various cost bases > in PTA,[1] and thought I would check with this mailing list. > > Specifically, I'm wondering whether the @ vs. {} difference in Beancount > can be collapsed to the difference between average cost basis (ACB), with > gains/losses unreported vs. ACB / FIFO / LIFO / etc., with gains/losses > reported. > > I understand from the Beancount docs that Beancount distinguishes between > currency conversions (using @) and commodity conversions held at cost > (using {}). In the former, the cost data is not maintained internally by > Beancount, whereas it is with the latter. > > The first is done usually in case of currency conversions when you're > making a purchase in EUR online but your base currency is INR. These are > one-time transactions and in one direction (purchase of EUR for INR, > without any sale of EUR for INR). So you would use the @ syntax. > > It can also be employed when you're travelling and are converting from INR > to EUR, but then also converting the remaining EUR to INR after the trip is > over. (You could also modify this example to imagine that you've earned a > little bit of EUR by waiting tables, so that the amount of EUR you're > converting back to INR matches the amount of EUR you purchased at the > beginning of the trip.) So in this case, even though there is both purchase > and sale, you're not interested in the capital gains/losses that result > from the sale of the EUR to convert it into INR. So there's no need to > track cost. So you would use the @ syntax. > > However, say you're a currency trader, you would need to track cost, since > you're interested in the capital gains. So you would use the {} syntax > instead. You would also need to use whatever lot identification the tax > authorities require (FIFO, etc.). > > So it seems to me that the distinction isn't really between "currencies" > and other commodities, but between conversions for investment/trading with > gains, where the lots needs to be tracked versus conversions for payments > which doesn't require using of lots. > > If lots are not used, and all the purchases are lumped together, but the > cost is still tracked, then that automatically becomes "average cost > basis". So, "currency conversion" could also be seen as "ACB" where the > software doesn't report the gains/losses vs. "conversions held at cost" > where the software implements FIFO/ACB/etc., and reports the gains/losses. > > Does this sound correct? If not, what am I misunderstanding? > > For context, I thought I would add: For the past many years, I've been > using trading accounts for journal entries involving conversions, and for > reporting of unrealized gains/losses. For realized gains/losses, my MF > asset management companies / stock broker provide me figures that I plug in > to my journals. I'm using hledger, which currently doesn't have support for > lots, but is looking to add such support. > > Regards, > Pranesh > > [1]: > https://docs.google.com/document/d/1F8IJ_7fMHZ75XFPocMokLxVZczAhrBRBVN9uMhQFCZ4/edit# > > -- > 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/9a26b7dd-f379-43b9-bc3d-7fad0a1340c0n%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/9a26b7dd-f379-43b9-bc3d-7fad0a1340c0n%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 on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhO95fYGzsN_UoaFXNv0nnXqdGT__7mRVCCsmVVTFpnZ3A%40mail.gmail.com.
