LUSID supports all the industry standard accounting methods. These can be configured in various places in LUSID.

  • Default: When set on a portfolio, this instructs LUSID to use the system default accounting method (currently AverageCost). When set on a derived portfolio it means take the accounting method from the parent portfolio, and when set on a transaction it means take the accounting method from the containing portfolio.

  • AverageCost: Do not split the holdings into taxlots, instead aggregate at the holding level and calculate an average cost.

For the remaining accounting methods, LUSID will create new tax lots for all transactions which increase a position, ie buys and short sells. The accounting method determines which tax lots are updated by transactions which reduce the overall position:

  • FirstInFirstOut: the oldest taxlots
  • LastInFirstOut: the newest taxlots
  • HighestCostFirst: the taxlots with the highest cost
  • LowestCostFirst: the taxlots with the lowest cost

For more information, examine this Jupyter Notebook.