What is a movement in LUSID, and how are they used as part of the movements engine processing to build portfolio holdings?
Each transaction is converted into one or more ‘movements’ by a transaction type handler within the Movements engine.
A movement is the change to units and/or cost for a holding at a particular time resulting from application of a transaction.
Movements can be of one or more types.
Examples of movements include: -
- Traded: Adjustment to the trade-date quantity of a holding
- Settlement: Adjustment to the settlement-date quantity of a holding
- Commitment: Future-dated cash movement in a single currency generated by an unsettled trade
Movements are simply summed up to yield the current state at the chosen ‘effective-at’[GD1] date for the portfolio. Additionally, cash flows can be calculated from effective-at ordered sequence of movements e.g.:
- Day 1: Expected Cash +10
- Day 2: Expected Cash -10, Realised Cash +10