Investing and trading

Stocks, EFTs, cryptocurrencies, etc. (The journal entries are much the same for any of these, so feel free to translate examples to different commodities.)

The main challenge of accounting for investments and trading in PTA is tracking lots and disposing (selling) them in the right order, to calculate capital gain/loss accurately and comply with tax rules. Here are several methods:

  1. Lot subaccounts. Each lot is given an explicit subaccount, entries are created manually. Simple and flexible, works in any PTA app.
  2. Lot syntax. The app has special syntax and support for lots. Convenient, has restrictions. Available in Beancount and Ledger.
  3. Lot entry-generating tools. Add-on tools help generate lot-aware entries.
    • lotter detects lots from ordinary transactions, adds lot information to buy/sell entries. Works with Ledger.
    • hledger-lots detects lots from ordinary transactions, helps make buy/sell entries. Works with hledger.
    • hledger-move is a lower-level tool to help make trading (sell) entries. Works with hledger-compatible journals.
    • docker-finance (discussion) does many things, some trading related. Runs hledger and hledger-flow.

Sometimes calculating average cost basis is needed, and this another challenge, currently not well supported.


(c) 2016-2024 Simon Michael & contributors | Send updates via github