This article explains structured market data documents, how to create, edit, store and retrieve them, and how they are used within LUSID
What is Structured Market Data?
In simple pricing of equities, a quote can be looked up to give the unit value of a share at a point in time. In order to price OTC instruments, such as an FX-forward or an interest rate swap (IRS) more information is required.
Instead of single quotes, a user might specify a set of quotes for a composite view of a subset of the market, such as European interest rates, at a point in time. This collection of instruments, perhaps a set of FRA, forward, IRS and bond prices or rates can be used to build a structured market data object that can be used to price a single instrument consistent with that overall view.
A structured market data document provides a description of what the user considers to be the important instruments in describing a subset of the overall market such as interest rates, credit, or foreign-exchange.
The benefit of this is consistency.
Consider how you would evaluate the price of several FX-forwards with initial maturities of 3, 6 and 12 months, a few days after purchase. Whilst the calculation is straight-forward, the OIS instruments for exactly the required number of days to obtain interest rates from are not available. One could guess a set of rates but how would one make them consistent? Structured market data provides a consistent method for interpolation in such cases.
The structured market data document provides a mechanism for passing the specification as to what a user considers important to LUSID.
What does Structured Market Data look like?
Structured market data is a JSON or XML document that describes a collection of instruments. A simple example is the ISDA rates curve XML used as a reference in calculating and quoting ISDA CDS prices. Equally it can be a definition that contains a set of LUSID Quotes ,
How do I store and retrieve structured market data?
Given a document that one wishes to store, it can be upserted to LUSID using the structured market data endpoint. The user must specify the key that uniquely describes what the data is such that it can be discovered during pricing. The key contains several bits of data that can be used to search and find it via the structured market data endpoint. However, the crucial information is that which is used to link the document into the discovery mechanism used by the valuation.
When aggregation or valuation need to obtain market data to evaluate an instrument with a model they rely on being able to identify the economic dependencies that the instrument has. Consider an FX-forward. To price one needs to know the spot FX rate at the time of pricing along with the average deposit rate in each of the currencies it is sensitive to. This set of dependencies can be filled by appropriate rate curves and FX information. The valuation engine will query for the set of dependencies using primarily the effectiveAt, marketElementType and marketAsset parts of the StructuredMarketDataId defined in the API.