What is a side?

Prev Next

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 below for allowed and default values.

security

Mandatory. Identifies the underlying instrument, whether security or currency.

This field is a string that expects to resolve to an instrument or currency LUID. The default value is the unknown instrument: LUID_ZZZZZZZZ

Allowed values

Explanation

Example value

Txn:LusidInstrumentId

Returns the instrumentUid field on a transaction.

LUID_98ABCDJK

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 property (custom, system or derived) explicitly added to a transaction, 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 LUID or ISO 4217 currency code.

LUID_98ABCDJK or CCY_GBP or GBP

currency

Mandatory. Identifies the currency.

This field is a string that expects to resolve to either a currency LUID or an ISO 4217 currency code. The default value is the unknown currency: CCY_ZZZ

Allowed values

Explanation

Example value

Txn:TradeCurrency

Returns the transactionCurrency field on a transaction.

GBP

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 property (custom, system or derived) explicitly added to a transaction, 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.

JPY or CCY_JPY

rate

Mandatory. Fixes the exchange rate between the currency and the portfolio's base currency, if different.

This field is a string that expects to resolve to a parsable numeric value. The default value is 0.

Allowed values

Explanation

Txn:TradeToPortfolioRate

Returns the Transaction/default/TradeToPortfolioRate system property to represent the exchange rate between the transaction currency and the portfolio's base currency.

SettledToPortfolioRate

This is a calculated field representing the rate from the settlement currency to the portfolio currency. It is calculated as Transaction/default/TradeToPortfolioRate / exchangeRate, where exchangeRate is the rate from transaction currency to settlement currency.

A transaction property

Returns the value of a property (custom, system or derived) explicitly added to a transaction, 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.

A constant value

For example, 1.0 when using Txn:PortfolioCurrency as the currency.

units, amount

Mandatory. Determines the number of units and their value respectively. The allowed values for both fields are the same. More on calculated amounts.

These fields are strings that expect to resolve to parsable numeric values. The default value (if missing) is 0.

Allowed values

Explanation

Txn:Units

Returns the units field on a transaction.

Txn:GrossTradeAmount

Returns the transaction amount before fees, a calculation by LUSID that cannot be set explicitly. See how this is calculated.

Txn:TradeAmount

Returns the transaction amount after fees, a calculation by LUSID that cannot be set explicitly. See how this is calculated.

Txn:GrossConsideration

Returns the Transaction/default/GrossConsideration system property, whether set or calculated. Note this includes accrued interest, is before fees, and in settlement currency. More information.

Txn:TotalConsideration

Returns the totalConsideration.amount field on a transaction, whether set or calculated. Note this includes accrued interest, is after fees, and in settlement currency. More information.

Txn:TotalConsiderationInTradeCurrency

Returns totalConsideration.amount / exchangeRate, to convert to transaction currency.

Txn:BondInterest

Returns the Transaction/default/BondInterest system property, whether set or calculated. More information.

BaseOnSeparateBondInterest

Returns totalConsideration.amount - Transaction/default/BondInterest

Txn:BondInterestPortfolio

Returns Transaction/default/BondInterest * Transaction/default/TradeToPortfolioRate, to convert to portfolio currency.

Txn:NotionalAmount

Returns the Transaction/default/NotionalAmount system property. See the notionalAmount field, below.

A transaction property

Returns the value of a property (custom, system or derived) explicitly added to a transaction, 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.

A constant value

For example, 0 when the units are not updated i.e. a cost adjustment.

notionalAmount

Optional for Future and ContractForDifference instruments only. Determines the notional value. More information.

Typical behaviour is to configure this field to use Txn:NotionalAmount, which returns the value of the Transaction/default/NotionalAmount system property added to a transaction or calculated automatically. However, it can accept any of the other allowed values for the units and amount fields, above.

This field is a string that expects to resolve to a parsable numeric value. The default value (if missing) is 0.

currentFace

Optional for MBS instruments only (modelled as asset-backed ComplexBond). Determines the outstanding notional of a holding. More information.

This field is a string that expects to resolve to a parsable numeric value. The default value (if missing) is 0.

Allowed values

Explanation

Txn:CurrentFace

Returns the Transaction/default/CurrentFace system property, whether this is set of calculated.

Txn:Units

Returns the units field on a transaction.

Txn:TotalConsideration

Returns the totalConsideration.amount field on a transaction.

A transaction property

Returns the value of a property (custom, system or derived) explicitly added to a transaction, for example Transaction/Demo/Commission.

The property must either use the built-in number data type, or have a custom data type with a primitive valueType of Decimal.

A constant value

A parsable numeric value, for example 2500.