Views:

Related resources:

Explanation

Tutorials

How-to guides

A derived property has a derivation formula that instructs LUSID how to automatically calculate (ie. derive) property values.

Required reading: Derivation formulas part 1: Operations and allowed values

Depending on the operation, allowed values can be strings or numbers, but they can also be components of entities such as data fields, identifiers, custom properties, system properties, and even other derived properties. Note the exact components you can reference differ depending on the type of entity the derived property belongs to:

Holding derived properties

You can reference certain components belonging to transactions, instruments and portfolios in a formula for a holding derived property, for example:

if(HoldingType eq 'P' 
and Transaction.TotalConsideration.Currency eq 'USD' 
and Properties[Portfolio/Ibor/Region] eq 'USA') 
then 'United States' else 'Rest of world'
Entity componentsBelonging to holdingsBelonging to other types of entity
TransactionsInstrumentsPortfolios
Stored data fieldsAny for holdings. Nested fields can be referenced using dot notation. For example:
InstrumentUid
HoldingType
Cost.Currency
Any for transactions, prefixed by Transaction. Nested fields can be referenced using dot notation. For example:
Transaction.TransactionId
Transaction.TransactionPrice.Price Transaction.TotalConsideration.Currency
N/AN/A
IdentifiersN/ATransaction instrument identifiers, for example:
Transaction.InstrumentIdentifiers[Instrument/default/Figi]
N/AN/A
Sub-holding keys (SHKs)For example:
SubHoldingKeys[Transaction/X/Y]
SubHoldingKeys[Transaction/Y/X]
N/A.
SHKs are properties in the Transaction domain but they 'belong' to holdings.
N/AN/A
Properties

Custom properties, including other derived properties. For example:
Properties[Holding/X/Y]
Properties[Holding/Y/X]
 

System properties, for example:
Properties[Holding/default/SourcePortfolioId]
Properties[Holding/default/SourcePortfolioScope]

Transaction custom properties, including derived properties, prefixed by Transaction. For example:
Transaction.Properties[Transaction/X/Y]
Transaction.Properties[Transaction/Y/X]


Transaction system properties prefixed by Transaction. For example:
Transaction.Properties[Transaction/default/BondInterest]
Transaction.Properties[Transaction/default/NotionalAmount]

Instrument custom properties, including derived properties. For example:
Properties[Instrument/X/Y]
Properties[Instrument/Y/X]

Instrument system properties, for example:
Properties[Instrument/default/Name]
Properties[Instrument/default/Scope]


Note: You must also retrieve the instrument property when retrieving the holding derived property in order for the value to be calculated correctly.

Portfolio custom properties but NOT portfolio derived properties. For example:
Properties[Portfolio/X/Y]
Properties[Portfolio/Y/X]

Portfolio system properties, for example:
Properties[Portfolio/default/ModelFees]
Properties[Portfolio/default/FundFamily]

 

Note: You must also retrieve the portfolio property when retrieving the holding derived property in order for the value to be calculated correctly.

Transaction derived properties

You can reference certain components belonging to instruments in a formula for a transaction derived property, for example:

if(TotalConsideration.Currency eq 'USD' 
and Properties[Instrument/Ibor/Region] eq 'USA') 
then 'United States' else 'Rest of world'
Entity componentsBelonging to transactionsBelonging to other types of entity
Instruments
Stored data fieldsAny for transactions. Nested fields can be referenced using dot notation. For example:
TransactionId
TransactionPrice.Price
TotalConsideration.Currency
N/A
IdentifiersFor example:
InstrumentIdentifiers[Instrument/default/ClientInternal]
InstrumentIdentifiers[Instrument/default/Figi]
InstrumentIdentifiers[Instrument/default/LusidInstrumentId]
N/A
Properties

Custom properties, including other derived properties. For example:
Properties[Transaction/X/Y]
Properties[Transaction/Y/X]


System properties, for example:
Properties[Transaction/default/BondInterest]
Properties[Transaction/default/NotionalAmount]

Instrument custom properties, including derived properties. For example:
Properties[Instrument/X/Y]
Properties[Instrument/Y/X]

Instrument system properties, for example:
Properties[Instrument/default/Name]
Properties[Instrument/default/Scope]

 

Note: You must also retrieve the instrument property when retrieving the transaction derived property in order for the value to be calculated correctly.

Instrument derived properties

You can only reference components belonging to instruments in a formula for an instrument derived property.

Entity componentsBelonging to instrumentsBelonging to other types of entity
Stored data fields

Any for instruments except Href and Links. Note it is not yet possible to reference the fields of the nested economic definition. For example:
LusidInstrumentId
DomCcy
InstrumentDefinition.InstrumentType

N/A
IdentifiersFor example:
Identifiers[ClientInternal]
Identifiers[Figi]
Identifiers[LusidInstrumentId]
N/A
Properties

Custom properties, including other derived properties. For example:
Properties[Instrument/X/Y]
Properties[Instrument/Y/X]
 

System properties, for example:
Properties[Instrument/default/Name]
Properties[Instrument/default/Scope]

N/A

Portfolio derived properties

You can only reference components belonging to portfolios in a formula for a portfolio derived property.

Entity componentsBelonging to portfoliosBelonging to other types of entity
Stored data fields

Any for portfolios except Href and Links. Nested fields can be referenced using dot notation. For example:
Id.Scope
Version.UserIdCreated
ParentPortfolioId.Code

N/A
IdentifiersN/AN/A
Properties

Custom properties, including other derived properties. For example:
Properties[Portfolio/X/Y]
Properties[Portfolio/Y/X]
 

System properties, for example:
Properties[Portfolio/default/FundFamily]
Properties[Portfolio/default/ModelFees]

N/A

Legal entity derived properties

You can only reference components belonging to legal entities in a formula for a legal entity derived property.

Entity componentsBelonging to legal entitiesBelonging to other types of entity
Stored data fields

Any for legal entities except Href and Links. Nested fields can be referenced using dot notation. For example:
LusidLegalEntityId
DisplayName
CounterpartyRiskInformation.CountryOfRisk

N/A
IdentifiersFor example:
Identifiers[LegalEntity/InternationalBanks/BankId]
Identifiers[LegalEntity/InvestmentFirms/InvestId]
N/A
Properties

Custom properties, including other derived properties. For example:
Properties[LegalEntity/X/Y]
Properties[LegalEntity/Y/X]
 

System properties, for example:
Properties[LegalEntity/default/LEI]

N/A

Person derived properties

You can only reference components belonging to person entities in a formula for a person derived property.

Entity componentsBelonging to person entitiesBelonging to other types of entity
Stored data fields

Any for person entities except Href and Links. Nested fields can be referenced using dot notation. For example:
LusidPersonId
DisplayName
Version.AsAtCreated

N/A
IdentifiersIdentifiers[Person/PortfolioManagers/ManagerId]
Identifiers[Person/Traders/TraderId]
N/A
Properties

Custom properties, including other derived properties. For example:
Properties[Person/X/Y]
Properties[Person/Y/X]

N/A

Custom valuation metric derived properties

You can create a custom metric to extend the set of LUSID metrics available to include in a valuation report.

To do this, create a derived property type in the special DerivedValuation domain. It does not belong to a type of entity as such, but rather can be reported in the same way as a LUSID metric. See an example.

You can reference components belonging to certain entities, and also certain LUSID and other custom metrics, in a formula for a custom metric.

ComponentsBelonging to instrumentsBelonging to holdingsBelonging to transactions, portfolios or portfolio groupsLUSID metrics
Stored data fields

Any for instruments except Href and Links, prefixed by Instrument. Nested fields can be referenced using dot notation. For example:
Instrument.LusidInstrumentId
Instrument.DomCcy
Instrument.InstrumentDefinition.InstrumentType

Any for holdings, prefixed by PortfolioHolding. Nested fields can be referenced using dot notation. For example:
PortfolioHolding.InstrumentUid
PortfolioHolding.HoldingType
PortfolioHolding.Cost.Currency
N/AN/A
IdentifiersAny prefixed by Instrument. For example:
Instrument.Identifiers[ClientInternal]
Instrument.Identifiers[Figi]
Instrument.Identifiers[LusidInstrumentId]
N/AN/AN/A
SHKsN/AAny prefixed by PortfolioHolding. For example:
PortfolioHolding.SubHoldingKeys[Transaction/X/Y]
PortfolioHolding.SubHoldingKeys[Transaction/Y/X]

N/A

N/A
Properties

Custom properties, including other derived properties. For example:
Properties[Instrument/X/Y]
Properties[Instrument/Y/X]
 

System properties, for example:
Properties[Instrument/default/Name]
Properties[Instrument/default/Scope]

Custom properties, including other derived properties. For example:
Properties[Holding/X/Y]
Properties[Holding/Y/X]
 

System properties, for example:
Properties[Holding/default/SourcePortfolioId]
Properties[Holding/default/SourcePortfolioScope]

Custom properties, including other derived properties. For example:
Properties[Transaction/X/Y]
Properties[Portfolio/Y/X]
 

System properties, for example:
Properties[Transaction/default/BondInterest]
Properties[Portfolio/default/FundFamily]

N/A
MetricsN/AN/AN/AAny with an underlying (flattened) data type of string, decimal, int, bool or datetime, including other custom metrics. For example:
AddressKeys[Valuation/PV]
AddressKeys[Holding/Cost/Pfolio]
AddressKeys[DerivedValuation/MyDerivedProps/AdjustedExposure]