A metric in LUSID is a discrete piece of business information you can retrieve when creating a valuation report and, potentially, perform operations on to add value and gain insight.

LUSID can report many hundreds of metrics about almost any aspect of the valuation process, from information about underlying instruments and transactions, portfolios and the holdings they contain, market data used, and headline statistics such as PV and PnL.

Note: You can include properties in valuation reports too, and create custom metrics using a special kind of derived property. More information.

Listing available metrics

To list every metric, call the GetQueryableKeys API, or query the Lusid.Portfolio.Valuation.Measure provider if you have a Luminesce license. Note the following:

  • Not every metric is useful or valid for the types of instruments you wish to value. You can call APIs in advance to understand which metrics might be relevant to your use case.

  • There are hundreds of metrics, so it is often useful to apply a filter when retrieving them; see the table below for examples.

  • Some metrics are deprecated. You can ignore these by adding the following expression to a filter: and lifeCycleStatus neq 'Deprecated'.

Domain

Sub-category (where relevant)

Filter to apply

Example metrics

Notes

Aggregation

 

domain eq 'Aggregation'

Aggregation/GrossExposureFraction
Aggregation/NetExposureFraction

 

Analytic

 

domain eq 'Analytic'

Analytic/YieldToMaturity
Analytic/MacaulayDuration

 

Counterparty

 

domain eq 'Counterparty'

Counterparty/Signatory/Name
Counterparty/CSA/MarginCallFrequency

 

Holding

 

domain eq 'Holding'

Holding/Cost/Dom


Holding/Units


Holding/Amortisation/Unrealised/MarketDiscount

 

Instrument

OTC

domain eq 'Instrument' and addressKey ct 'OTC'

Instrument/OTC/Bond/StartDate
Instrument/OTC/CdsIndex/FgnCcys
Instrument/OTC/EquityOption/Strike

Information specific to instrument types.

Other

domain eq 'Instrument' and addressKey not ct 'OTC'

Instrument/InstrumentType
Instrument/AssetClass
Instrument/Features

Generic information about instruments.

LegalEntity

 

domain eq 'LegalEntity'

LegalEntity/DisplayName
LegalEntity/RiskInformation/CountryOfRisk

 

Lookthrough

 

domain eq 'Lookthrough'

Lookthrough/LookthroughWeight
Lookthrough/Root/Valuation/PV

'Lookthrough' refers to securitised portfolios.

Portfolio

 

domain eq 'Portfolio'

Portfolio/Name
Portfolio/AmortisationMethod

 

ProfitAndLoss

 

domain eq 'ProfitAndLoss'

ProfitAndLoss/Total/Market
ProfitAndLoss/Realised/Fx/PortfolioCcy

Replacement for Valuation/PnL* metrics. More information.

Quotes

 

domain eq 'Quotes'

Quotes/Price
Quotes/Price/EffectiveAt

 

Transaction

 

domain eq 'Transaction'

Transaction/TotalConsideration
Transaction/SettlementDate

 

Valuation

PV

domain eq 'Valuation' and addressKey ctsw 'PV'

Valuation/PV
Valuation/Leg1/PV
Valuation/PvInPortfolioCcy

 

Risk

domain eq 'Valuation' and addressKey ct 'Risk'

Valuation/Risk/Gamma


Valuation/Risk/Theta

 

Accrual

domain eq 'Valuation' and addressKey ctsw 'Accr'

Valuation/Accrued


Valuation/Leg1/AccruedInPortfolioCcy

More information.

Exposure

domain eq 'Valuation' and addressKey ctsw 'Exposure'

Valuation/Exposure
Valuation/ExposureInPortfolioCcy

More information.

Diagnostics

domain eq 'Valuation' and addressKey ct 'Diagnostics'

Valuation/Diagnostics/FxForwardRate


Valuation/Diagnostics/ImpliedVolatility

 

Instrument legs

domain eq 'Valuation' and addressKey ctsw 'Leg'

Valuation/Leg1/PV
Valuation/LegIdentifier

LUSID considers certain instruments to have legs.

PnL

domain eq 'Valuation' and addressKey ct 'PnL'

Valuation/PnL/YearToDate
Valuation/PnL/Tm1

Being replaced by dedicated ProfitAndLost metrics.

UnitResult

All metrics

domain eq 'UnitResult'

UnitResult/Valuation/InstrumentAccrued


UnitResult/MyNotes

User-defined metrics for external result data in the SRS.

Metrics in a particular data map

domain eq 'UnitResult' and scope eq '<my-data-map-scope>'

Performing operations on metrics

The Valuation/PV metric is defined as follows:

{
     "addressKey": "Valuation/PV",
     "description": "The present value of a holding of an instrument, at a point in time, in the settlement currency if applicable, otherwise domestic currency. Includes accrued interest",
     "displayName": "PV",
     "type": "Result0D",
     "flattenedType": "Decimal",
     "scalesWithHoldingQuantity": true,
     "supportedOperations": "Sum,Proportion,Average,Count,Min,Max,Value,SumOfPositiveValues,SumOfNegativeValues,SumOfAbsoluteValues,ProportionOfAbsoluteValues",
     "lifeCycleStatus": "Experimental"
}

Every metric:

  • Has a multi-stage addressKey you can use to report the metric.

  • Has a set of supportedOperations. You can always report a metric's Value; in addition, you can typically perform operations such as Sum, Proportion and Average on numeric values. See a demonstration.

Specifying metrics in valuation reports

When you create a valuation report you must specify at least one metric. Note it's often useful to specify the Instrument/default/Name metric to report the friendly names of underlying instruments. 

Consider the following example, of a call to value this GBP-denominated portfolio containing a mix of US and UK equities and bonds on a single day, 7 March 2022:

  • The metrics chosen to create a meaningful valuation report have summary explanations.

  • Results are grouped by the  Instrument/default/LusidInstrumentId metric to report one result per underlying instrument held. If the portfolio contains multiple holdings in the same underlying instrument (perhaps divided into tax lots or strategies), they are automatically aggregated.

  • Non-numeric metrics report their Value.

  • Numeric metrics use the Sum operation to total any holdings in the same underlying instrument divided into tax lots or strategies. Note this has no effect if holdings have not been so divided:

curl -X POST "https://<your-domain>.lusid.com/api/api/aggregation/$valuation"
   -H "Authorization: Bearer <your-API-access-token>"
   -H "Content-Type: application/json-patch+json"
   -d '{
     "portfolioEntityIds": [ {"scope": "FBNUniversity", "code": "Module-4-1", "portfolioEntityType": "SinglePortfolio"} ],
     "valuationSchedule": {"effectiveAt": "2022-03-07T00:00:00.0000000+00:00"},
     "recipeId": {"scope": "FBNUniversity", "code": "Module-4-1Recipe"},
     "groupBy": ["Instrument/default/LusidInstrumentId"],
     "metrics": [
       {"key": "Instrument/default/Name", "op": "Value"},             # Reports the friendly name of the underlying instrument
       {"key": "Valuation/EffectiveAt", "op": "Value"},               # Confirms the valuation date
       {"key": "Holding/default/Cost", "op": "Sum"},                  # Calculates cost in the transaction currency
       {"key": "Valuation/PV", "op": "Sum"},                          # Calculates PV in the transaction currency
       {"key": "Valuation/PnL/Unrealised", "op": "Sum"},              # Calculates PnL in the transaction currency (PV minus cost)
       {"key": "Holding/Cost/Pfolio", "op": "Sum"},                   # Calculates cost in GBP (the portfolio currency)
       {"key": "Valuation/PvInPortfolioCcy", "op": "Sum"},            # Calculates PV in GBP
       {"key": "Valuation/PnL/Unrealised/PfolioCcy", "op": "Sum"}     # Calculates PnL in GBP
     ]
   }'

The response might look like this (transformed to a table and with columns renamed for simplicity):

For more on grouping results in a valuation report, and aggregating numeric values using mathematical operations, see this article.