Views:

A movement has a movement type that controls how it is categorised and when it is applied.

For example, the built-in Buy transaction type provided with LUSID—intended to signal a purchase of an instrument such as an equity or bond—has two movements:

  • The first has a movement type of StockMovement to update the number of units of the target instrument holding (ie. BP) on the transaction date and the number of settled units on the transaction date.
  • The second has a movement type of CashCommitment to create a separate, temporary cash holding on the transaction date, and to update the main cash holding (ie. GBP) on the settlement date. The temporary holding reflects the commitment to settling the transaction.

At the time of writing, the following movement types are available:

Movement typeEffect on holding on transaction dateEffect on holding on settlement date
StockMovementUpdates the number of units in the target instrument holding (with a holding type of P for Position).Updates the number of settled units.
CashCommitmentCreates a temporary cash holding of type C (for Cash Commitment) to reflect the commitment to settling a trade.

Updates the main cash holding (holding type B for Cash Balance) and removes the temporary holding.

 

Note there is no functional difference between these three movement types. They simply report activity differently on the transaction date.

CashReceivableCreates a temporary cash holding of type R (for Cash Receivable) to reflect the expectation of income from settling a trade.
CashAccrualCreates a temporary cash holding of type A (for Cash Accrual) to reflect accrual of income from an interest-bearing instrument.
CashForwardCreates two temporary cash holdings of type F (for Forward FX) to represent each leg of the forward.Updates the main cash holdings (holding type B) of both currencies. Note that in a valuation, this movement type preserves the two legs of the forward.
CashFxForwardCreates two temporary cash holdings of type F to represent each leg of the forward.Updates the main cash holdings (holding type B) of both currencies. Note that in a valuation, this movement type collapses the forward to a single leg.
VariationMarginThis movement type has no effect on the units of a holding. Instead, it can be used to adjust the notional cost basis of a holding in a Future or CFD instrument up or down as part of a mark-to-market valuation strategy for realizing daily PnL. For a demonstration, see this Jupyter Notebook.
CarryThese movement types have no effect on a holding. Instead, they can be used to model carry activity in an AtoB report.
CarryAsPnl
CapitalThese movement types have no effect on a holding. Instead, they can be used to generate balanced pairs of journal entry lines for an ABOR.
Fee

The following movement types are now deprecated:

  • Traded. Please use StockMovement.
  • Settlement. Please use StockMovement.
  • ForwardFx. Please use CashFxForward.
  • Commitment. Please use CashCommitment.
  • Receivable. Please use CashReceivable.
  • Accrual. Please use CashAccrual.
  • CashSettlement. Please use one of CashCommitmentCashReceivableCashAccrual.
  • FutureCash. Please use CashForward.
  • UnsettledCashTypes. Please use one of the Cash* types.