A holding is your position in a specific instrument in a particular transaction portfolio.
LUSID is a transaction-based system. It does not maintain a static record of your holdings in a portfolio but rather generates them on demand from the stored history of transactions, replayed in date order. Note you can manually set or adjust holdings if you don’t have a feed of transactions.
This process is controlled using transaction types. Every transaction in a portfolio must resolve to a transaction type that defines the precise economic impact; that is, the effect on your holding in the instrument, and also potentially on holdings in other instruments in the portfolio (such as currency holdings).
For example, the built-in Buy
transaction type provided with LUSID is intended to signal a purchase of a security such as an equity or bond. When you generate a holdings report, for every transaction with a transaction type of Buy
, LUSID automatically:
Increases your holding in the security instrument (ie. BP) by the number of units purchased in the transaction.
Decreases your holding in the settlement currency instrument (ie. GBP) by the total consideration.
Note: LUSID reports holdings differently on the trade date vs. the settlement date. A holding has a holding type that indicates its state.
By default, LUSID reports holdings at the instrument level; that is, one holding per security instrument per settlement currency in the portfolio, and one holding per currency instrument. You can change this:
Using sub-holding keys (SHKs). For example, you could divide your overall position in BP into two holdings representing different investment strategies.
Using tax lots, to segregate and expand instrument holdings into separate tax lots according to a particular liquidation strategy.
You can combine these mechanisms using custodian accounts.
Providing you have appropriate permissions, you can generate a holdings report for a transaction portfolio from the Holdings dashboard in the LUSID web app:
Alternatively, you can interact with holdings programmatically:
Using appropriate API endpoints in the Transaction Portfolios collection.
Using the equivalent methods in the LUSID SDK.
If you have a Luminesce license, using dedicated read and write providers.
Explanation: See the big picture
Reference: Understand concepts and implications
How-to guides: Get something done