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 type | Effect on holding on transaction date | Effect on holding on settlement date |
StockMovement | Updates the number of units in the target instrument holding (with a holding type of P for Position ). | Updates the number of settled units. |
CashCommitment | Creates 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
Note there is no functional difference between these three movement types. They simply report activity differently on the transaction date. |
CashReceivable | Creates a temporary cash holding of type R (for Cash Receivable ) to reflect the expectation of income from settling a trade. | |
CashAccrual | Creates a temporary cash holding of type A (for Cash Accrual ) to reflect accrual of income from an interest-bearing instrument. | |
CashForward | Creates 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. |
CashFxForward | Creates 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. |
VariationMargin | This 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. | |
Carry | These movement types have no effect on a holding. Instead, they can be used to model carry activity in an AtoB report. | |
CarryAsPnl | ||
Capital | These 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 useStockMovement
.Settlement. Please useStockMovement
.ForwardFx. Please useCashFxForward
.Commitment. Please useCashCommitment
.Receivable. Please useCashReceivable
.Accrual. Please useCashAccrual
.CashSettlement. Please use one ofCashCommitment
,CashReceivable
,CashAccrual
.FutureCash. Please useCashForward
.UnsettledCashTypes. Please use one of theCash*
types.