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.

Reply via email to