What is a movement in LUSID?

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