The following table explains how LUSID calculates exposure for supported instruments.

You can report the result when you perform a valuation using the Valuation/Exposure/Amount metric. See all available metrics.

Note that LUSID’s exposure calculation is defined with reference to the guidance provided by ESMA (The European Securities and Markets Authority). Where the exposure calculation for a particular type of instrument is not specified by ESMA guidance, or the variables of the calculation may not be readily available for clients, LUSID’s calculation deviates while remaining within the spirit of the guidance. In particular:

  • Non-derivatives: Exposures are equivalent to the PV (Present Value) as calculated by the valuation engine.

  • Futures: The futures price is used in the calculation rather than the underlying asset price.

Instrument type

LUSID’s exposure calculation

Equity

QTY * Equity Price

Bond

(Price/100 * Face Amount) + Accrued

InflationLinkedBond

(Price/100 * Face Amount) + Accrued

ComplexBond

(Price/100 * Face Amount) + Accrued

TermDeposit

(Price/100 * Face Amount) + Accrued

ForwardRateAgreement

Notional Value

CapFloor

Notional Value

CreditDefaultSwap

Notional Value

CdsIndex

Notional Value

InflationSwap

Notional Value (1st leg notional value)

InterestRateSwap

Vanilla

Notional Value (1st leg notional value)

Cross-currency

Notional Value (1st leg notional value)

InterestRateSwaption

Notional Value (of the reference swap leg 1) * Delta

Future

Equity Future

QTY * Contract Size * Equity Future Price

Bond Future

QTY * Contract Size * Bond Future Price

Index Future

QTY * Contract Size * Index Future Price

Currency Future

QTY * Contract Size

Interest Rate Future

QTY * Contract Size

FxForward

FX Forward

The sum of the non-report ccy notionals, converted to report ccy. Long ccy notional & Short ccy notional may also be returned.

FX Spot

The sum of the non-report ccy notionals, converted to report ccy. Long ccy notional & Short ccy notional may also be returned.

FxSwap

The sum of the non-report ccy notionals, converted to report ccy. Long ccy notional & Short ccy notional may also be returned.

FxOption

QTY * FX Spot * Delta

EquityOption
(Deltas must be loaded into the SRS)

Equity Option OTC

QTY * Contract Size * Underlying Equity Price * Delta

Index Option OTC

QTY * Contract Size * Underlying Index Price * Delta

Warrants and Rights

QTY * Contract Size * Underlying Equity Price * Delta

ExchangeTradedOption
(Deltas must be loaded into the SRS)

Equity Option ET

QTY * Contract Size * Underlying Equity Price * Delta

Bond Option ET

QTY * Contract Size * Underlying Bond Price * Delta

Index Option ET

QTY * Contract Size * Underlying Index Price * Delta

Option on Futures ET

QTY * Contract Size * Underlying Future Price * Delta

Interest Rate Option ET

QTY * Contract Size * Delta

ContractForDifference

QTY * Underlying Price

EquitySwap

QTY * Equity Price

TotalReturnSwap

QTY * Underlying Price

Repo

Market value of underlying bond

FundingLeg

Will display as PV settings for Funding leg (Accrued Interest)

Basket

QTY * Basket Price

Loading deltas into the SRS

When calculating exposure for instruments with optionality, a delta value is generally required. For example, when valuing instruments of type ExchangeTradedOption and EquityOption using the default SimpleStatic pricing model you must pre-load a delta for each into LUSID’s Structured Result Store (SRS).

An exception is when LUSID calculates the delta as part of the valuation, for example when you using the BlackScholes pricing model. However, note that a delta loaded into the SRS overrides a delta calculated by LUSID and will be used in the exposure calculation instead. If no delta is provided, a value of 1 is used, generating a conservative exposure estimate.

To load a delta into the SRS for an EquityOption instrument valued using the default SimpleStatic pricing model:

  1. Prepare a JSON or CSV document with a delta amount keyed by the LUID of the instrument, for example:

    LUID

    Delta

    LUID_JKGH56FT

    0.6

  2. Call the CreateDataMap API to create a data map for the document with the LUID column name in the document mapped to the UnitResult/LusidInstrumentId address and the Delta column name mapped to the UnitResult/Valuation/Delta address, for example:

    curl -X POST 'https://<your-domain>.lusid.com/api/api/unitresults/datamap/ExternalEquityOptionDeltas'
     -H 'Content-Type: application/json-patch+json'
     -H 'Authorization: Bearer <your-API-access-token>'
     -d '{
     "MyDeltaDataMap": {
       "id": {
         "version": "1.0.0",
         "code": "DeltaDataMap"
       },
       "data": {
         "dataDefinitions": [
           {
             "address": "UnitResult/LusidInstrumentId",
             "name": "LUID",
             "dataType": "String",
             "keyType": "Unique"
           },
           {
             "address": "UnitResult/Valuation/Delta",
             "name": "Delta",
             "dataType": "Decimal",
             "keyType": "Leaf"
           }
         ]
       }
     }
    }'
  3. Call the UpsertStructuredResultData API to upsert the document to the SRS using the UnitResult/Analytic result type, for example:

    curl -X POST 'https://<your-domain>.lusid.com/api/api/unitresults/ExternalEquityOptionDeltas'
     -H 'Content-Type: application/json-patch+json'
     -H 'Authorization: Bearer <your-API-access-token>'
     -d '{
     "first-item": {
       "MyDeltaDocument": {
         "source": "Client",
         "code": "DeltaDocument",
         "effectiveAt": "2024-08-31T00:00:00.0000000+00:00",
         "resultType": "UnitResult/Analytic"
       },
       "data": {
         "documentFormat": "Csv",
         "version": "1.0.0",
         "name": "My delta document",
         "document": "LUID,Delta\nLUID_JKGH56FT,0.6",
         "dataMapKey": {
           "version": "1.0.0",
           "code": "DeltaDataMap"
         }
       }
     }
    }'
  4. Call the UpsertConfigurationRecipe API to create a new (or amend an existing) recipe to include a Pricing.ResultDataRules object able to locate the data map in the SRS:

    curl -X POST 'https://<your-domain>.lusid.com/api/api/recipes'
     -H 'Content-Type: application/json-patch+json'
     -H 'Authorization: Bearer <your-API-access-token>'
     -d '{
      "MyRecipe": {
        "scope": "ExternalEquityOptionDeltas",
        "code": "SRSRecipe",
        "pricing": {
          "resultDataRules": [
            {
              "resourceKey": "UnitResult/*",
              "supplier": "Client",
              "dataScope": "ExternalEquityOptionDeltas",
              "documentCode": "DeltaDocument",
              "quoteInterval": "1M.0D",
              "documentResultType": "UnitResult/Analytic",
              "resultKeyRuleType": "ResultDataKeyRule"
            }
          ]
        }
      }
    }'

When you value the portfolio, LUSID automatically calculates Valuation/Exposure/Amount using the delta in the SRS. You can additionally request the UnitResult/Valuation/Delta metric to audit the delta used:

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": "EquityOptions", "code": "UK" ],
    "valuationSchedule": {"effectiveAt": "2024-08-31T00:00:00.0000000+00:00" },
    "recipeId": {"scope": "ExternalEquityOptionDeltas", "code": "SRSRecipe"},
    "metrics": [
      {"key": "Valuation/Exposure/Amount", "op": "Value"},
      {"key": "UnitResult/Valuation/Delta", "op": "Value"},
    ],
  }'

For example: