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 | |
QTY * Equity Price | ||
(Price/100 * Face Amount) + Accrued | ||
(Price/100 * Face Amount) + Accrued | ||
(Price/100 * Face Amount) + Accrued | ||
| (Price/100 * Face Amount) + Accrued | |
| Notional Value | |
| Notional Value | |
| Notional Value | |
Notional Value | ||
| Notional Value (1st leg notional value) | |
| Vanilla | Notional Value (1st leg notional value) |
Cross-currency | Notional Value (1st leg notional value) | |
| Notional Value (of the reference swap leg 1) * Delta | |
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 | |
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. | |
| The sum of the non-report ccy notionals, converted to report ccy. Long ccy notional & Short ccy notional may also be returned. | |
QTY * FX Spot * Delta | ||
EquityOption | 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 | 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 | |
QTY * Underlying Price | ||
| QTY * Equity Price | |
| QTY * Underlying Price | |
| Market value of underlying bond | |
| Will display as PV settings for Funding leg (Accrued Interest) | |
| QTY * Basket Price |
Loading deltas into the SRS
LUSID uses a delta when calculating exposure for an instrument with optionality such as EquityOption
or ExchangeTradedOption
. Note you can override the default delta used by loading your own delta into LUSID’s Structured Result Store (SRS).
The default delta used depends on the pricing model chosen to value an instrument of either type:
The
BlackScholes
andBachelier
pricing models calculate a delta using volatility information upserted to LUSID’s Complex Market Data Store, which is then used to calculate exposure asunits * contract size * underlying price * delta
in line with ESMA regulations. (Note that the units in LUSID are signed.)The
Discounting
pricing model sets a delta value from a discounting curve which is then used to calculate exposure in the same way asBlackScholes
andBachelier
. Note that the delta generated byDiscounting
is not generally aligned to expected values since no volatility information is used.The
SimpleStatic
andConstantTimeValueOfMoney
pricing models do not calculate a delta but instead set it to 1, so exposure is the same as clean PV.
The default delta used by any pricing model can be replaced with a delta stored in the SRS. This triggers a recalculation. Note that LUSID simply applies the value it finds in the SRS so for a meaningful exposure calculation the following rules apply:
The value in the SRS should be a signed number between [-1,1].
For call options the value should have a positive sign.
For put options the value should have a negative sign.
Example
To load a delta into the SRS:
Prepare a JSON or CSV document with a delta amount keyed by the LUID of the instrument being valued, for example:
LUID
Delta
LUID_JKGH56FT
0.6
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 theUnitResult/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" } ] } } }'
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" } } } }'
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 containing a holding in the instrument, 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: