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 belonging to 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 field | Status | Allowed values | Explanation | Example value | Default value (if missing) |
Identifies the underlying instrument, whether security or currency. | Mandatory | Txn:LusidInstrumentId | Returns the instrumentUid field on a transaction. | LUID_98ABCDJK | The unknown instrument, LUID_ZZZZZZZZ |
Txn:TradeCurrency | Returns the transactionCurrency field on a transaction. | CCY_USD | |||
Txn:SettlementCurrency or Txn:SettleCcy | Returns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency. | CCY_GBP | |||
Txn:PortfolioCurrency | Returns the baseCurrency field on a transaction portfolio. | CCY_JPY | |||
A transaction property | Returns 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 | |||
Identifies the currency of the flow. | Mandatory | Txn:TradeCurrency | Returns the transactionCurrency field on a transaction. | GBP | The unknown currency, CCY_ZZZ |
Txn:SettlementCurrency or Txn:SettleCcy | Returns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency. | USD | |||
Txn:PortfolioCurrency | Returns the baseCurrency field on a transaction portfolio. | EUR | |||
A transaction property | Returns 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 | |||
Fixes the exchange rate between the currency of the flow and the portfolio's base currency, if different. | Mandatory | Txn:TradeToPortfolioRate | Returns 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.09 | 0 |
SettledToPortfolioRate | This 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 property | Returns 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 value | For example, 1.0 when using Txn:PortfolioCurrency as the currency. | 1.0 | |||
Determines the number of units in the flow and their value respectively. The allowed values are the same. | Mandatory | Txn:Units | Returns the units field on a transaction. | 100 | 0 |
Txn:TotalConsideration | Returns 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:
| 12678 | |||
Txn:BondInterest | Returns 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 | |||
BaseOnSeparateBondInterest | This 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:BondInterestPortfolio | This 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 property | Returns 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 value | For example, 0 when the units are not updated ie. a cost adjustment. | 0 | |||
Determines the notional value of the flow, if applicable. | Optional | The 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 |