How do I upload an inflation fixing to the LUSID Quote Store?

Providing you have suitable access control permissions, you can upload an inflation fixing (or 'reset') representing the level of a particular index on the first day of a particular month, for example a value of 378.4 for UKRPI for 1 September 2023.

Note the following:

  • Inflation fixings are required items of market data for inflation-linked instruments such as inflation-linked bonds and InflationSwap, to calculate the current nominal, cashflows and accrued interest.

  • There is no limit to the number of indices per currency or region you can upload fixings for; it is possible to reference both FRHICP and FRHICPxT (French inflation with and without tobacco) in LUSID and have corresponding swaps on both. More information on data sources.

  • Choices you make when uploading market data impact the composition of the recipe you must create in order to use this data in a valuation.

Using the LUSID API

You can load up to 2000 fixings in a single request:

  1. Obtain an API access token.

  2. Call the UpsertQuotes API, encapsulating all the fixings in the request in a single scope (namespace). Match this using the dataScope field in a recipe.

  3. For each fixing in the request, specify:

    • An ephemeral ID (to track errors in the response).

    • A provider representing a financial data vendor. Valid providers are currently Bloomberg, DataScope (for Refinitiv), SIX, FactSet, TraderMade, Edi, Rimes, Lusid and Client; if your data vendor isn't listed, represent it using Client. Match this using the supplier field in a recipe.

    • Optionally, a priceSource indicating a sub-supplier to the financial data vendor (above), for example Tradeweb or RRPS for Refinitiv DataScope. If specified, match this using the priceSource field in a recipe.

    • An instrumentIdType of ClientInternal and an instrumentId that matches the inflationIndexName in the instrument's inflation index convention, for example UKRPI. Together, these constitute an instrument identifier linking the fixing to an instrument mastered in LUSID. Match this using the key field in a recipe.

    • A quoteType of Index, except in the following circumstances:

      • A fixing for an InflationLinkedBond instrument with a calculationType of Ratio in its economic definition should have a quoteType of Ratio. Typically, these are Latin American bonds.

      • A fixing for an InflationLinkedBond instrument with a calculationType of Brazil and that requires an inflation assumption reset should have a quoteType of InflationAssumption.

      Match this using the quoteType field in a recipe.

    • A field of mid. Match this using the field field in a recipe.

    • An effectiveAt date. For fixings with a quoteType of:

      • Index, this must be the first day of a month at midnight; other datetime values are ignored:

        • For a monthly index such as UKRPI or USCPI, this must be the first day of the month, even if it is a weekend or holiday. For example, for 1 September 2023 you would specify 2023-09-01T00:00:00Z.

        • For a quarterly index such as AUCPI or NZCPI, this must be the first day of the last month in the quarter. For example, for the first quarter of 2023 you would specify 2023-03-01T00:00:00Z.

      • Ratio or InflationAssumption, this can be any effectiveAt date to enable daily fixings to be uploaded.

    • A metricValue with a value constituting the index level on that date, and a unit of none.

Consider the following example of a fixing for each of UKRPI and USCPI for 1 September 2023, uploaded together to a Growth scope (in the URL):

curl -X POST "https://<your-domain>.lusid.com/api/api/quotes/Growth"
  -H "Authorization: Bearer <your-API-access-token>"
  -H "Content-Type: application/json-patch+json"
  -d '{
    "Quote-0001": {
      "quoteId": {
        "quoteSeriesId": {
          "provider": "Lusid",
          "instrumentIdType": "ClientInternal",
          "instrumentId": "UKRPI",
          "quoteType": "Index",
          "field": "mid"
        },
        "effectiveAt": "2023-09-01T00:00:00Z"
      },
      "metricValue": {
        "value": 378.4, "unit": "none"
      }
    },
    "Quote-0002": {
      "quoteId": {
        "quoteSeriesId": {
          "provider": "Lusid",
          "instrumentIdType": "ClientInternal",
          "instrumentId": "USCPI",
          "quoteType": "Index",
          "field": "mid"
        },
        "effectiveAt": "2023-09-01T00:00:00Z"
      },
      "metricValue": {
        "value": 307.026, "unit": "none"
      }
    }
  }'

Using Luminesce

You can use the Lusid.Instrument.Quote.Writer provider.

Using the LUSID web app

Coming soon.

Data sources for inflation fixings

CPI fixings can be sourced from standard market data vendors such as Reuters or Bloomberg, and also directly from the state bodies that produce them. These are typically state statistics offices such as the ONS in the UK and Eurostat in Europe (which covers both Europe as a whole, EUHICPxT being common, as well as individual country indices such as FRHICPxT, ITHICPxT, ESHICPxT and so on).

Examples include: