Views:

A side is a plug-and-play component of a movement, which itself is a component of a transaction type.

A side determines which holding is impacted by all the transactions of that transaction type, and which transaction attributes (built-in data fields, properties or calculated fields) are used to update the quantity and/or cost of the holding.

Note the following:

  • LUSID provides a set of built-in sides which you can use as-is or modify. Alternatively, you can create your own custom sides.
  • The same side can be used in movements belonging to multiple transaction types.
  • A side is domiciled in a scope and can only ultimately belong to transaction types domiciled in the same scope.
  • A side has a set of mandatory and optional data fields. See the table below for allowed and default values.
Data fieldStatusAllowed valuesExplanationExample valueDefault value (if missing)
securityMandatoryTxn:LusidInstrumentIdReturns the instrumentUid field on a transaction.LUID_98ABCDJKThe unknown instrument, LUID_ZZZZZZZZ
Txn:TradeCurrencyReturns the transactionCurrency field on a transaction.CCY_USD
Txn:SettlementCurrency or Txn:SettleCcyReturns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency.CCY_GBP
Txn:PortfolioCurrencyReturns the baseCurrency field on a transaction portfolio.CCY_JPY
A transaction propertyReturns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/BuyAmountCcy. The property must either use the built-in String data type or have a custom data type with a primitive valueType of String. The property value must contain a valid instrument LUID, currency LUID, or ISO 4217 currency code.LUID_98ABCDJK or CCY_GBP or GBP
currencyMandatoryTxn:TradeCurrencyReturns the transactionCurrency field on a transaction.GBPThe unknown currency, CCY_ZZZ
Txn:SettlementCurrency or Txn:SettleCcyReturns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency.USD
Txn:PortfolioCurrencyReturns the baseCurrency field on a transaction portfolio.EUR
A transaction propertyReturns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/BuyAmountCcy. The property must either use the built-in currency or iso4217Currency data type, or have a custom data type with a primitive valueType of String. The property value must contain a valid ISO 4217 currency code or currency LUID.JPY or CCY_JPY
rateMandatoryTxn:TradeToPortfolioRateReturns the value of the Transaction/default/TradeToPortfolioRate system property added to a transaction to represent the exchange rate between the transaction's trade currency and the portfolio's base currency.1.090
SettledToPortfolioRateThis is a calculated field representing the rate from the settlement currency to the portfolio currency. It is calculated as TradeToPortfolioRate/ExchangeRate, where ExchangeRate is the rate from trade currency to settlement currency.1.78
A transaction propertyReturns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/FxRate. The property must either use the built-in number or currencyAndAmount data type, or have a custom data type with a primitive valueType of Decimal or Int. The property value must contain a parsable numeric value.1.17
A constant valueFor example, 1.0 when using Txn:PortfolioCurrency as the currency.1.0
units, amount
(the allowed values are the same)
MandatoryTxn:UnitsReturns the units field on a transaction.1000
Txn:TotalConsiderationReturns the totalConsideration.amount field on a transaction. 12678
Txn:TradeAmount

This is a calculated field representing the value of the underlying instrument in the trade currency:
 

  • If the underlying instrument is a currency, the number of units is returned.
  • Otherwise the total consideration less bond interest (if any) is returned, converted at the exchange rate on the transaction.
  • When the total consideration is zero (or not populated), the number of units multiplied by price is returned.
12678
Txn:BondInterestReturns the value of the Transaction/default/BondInterest system property added to a transaction to represent the accrued interest in the settlement currency included in the purchase/sale of a bond.90000
BasedOnSeparateBondInterestThis is a calculated field representing total consideration minus bond interest, where the latter is the value of the Transaction/default/BondInterest system property.82000
Txn:BondInterestPortfolioThis is a calculated field representing bond interest converted to the portfolio's base currency, where the former is the value of the Transaction/default/BondInterest system property.75000
A transaction propertyReturns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/Commission. The property must either use the built-in number or currencyAndAmount data type, or have a custom data type with a primitive valueType of Decimal or Int. The property value must contain a parsable numeric value.302345
A constant valueFor example, 0 when the units are not updated ie. a cost adjustment.0
notionalAmountOptionalThe allowed values for this field are the same as for the units and amount fields, above. However, it might be most useful to assign this field the Transaction/default/NotionalAmount system property, to return the notional amount of a buy or sell transaction in a Future or CFD instrument.0