---
title: "SIX API (real-time valuations)"
slug: "how-do-i-connect-six-data-to-my-lusid-domain-and-perform-real-time-valuations"
updated: 2025-06-23T16:12:30Z
published: 2025-06-23T16:12:30Z
canonical: "support.lusid.com/how-do-i-connect-six-data-to-my-lusid-domain-and-perform-real-time-valuations"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SIX API (real-time valuations)

You can integrate [SIX Group](https://www.six-group.com/en/home.html)'s SIX API with your LUSID domain to fetch real-time prices for your instruments as you perform valuations or rebalance portfolios. Rather than importing data and storing it in LUSID, the data is fetched from SIX and displayed as needed in LUSID to ensure you only see the latest available prices.

To get started connecting SIX API to your LUSID domain:

- [Contact your FINBOURNE sales representative](https://www.finbourne.com/contact) to provision your LUSID domain with the **SIX API** integration.
- Ensure you have access to a [SIX API account](https://www.six-group.com/en/products-services/financial-information/display-and-delivery-capabilities/six-api.html); you'll need to supply LUSID with your credentials.

If your domain has been provisioned with the integration and you have access to a SIX API account, you can use the following steps as a guide to perform your own real-time valuations:

## Step 1: Populate instruments with SIX instrument identifiers

In order for LUSID to fetch real-time prices for an instrument, the instrument must have *at least one* of the following LUSID instrument identifier types populated:

| **LUSID instrument identifier type** | **Can be mapped from SIX identifier type** |
| --- | --- |
| `SixIsin_BC` | `ISIN_BC` |
| `SixValoren_BC` | `VALOR_BC` |
| `SixSedol_BC` | `SEDOL_BC` |
| `SixCusip_BC` | `CUSIP_BC` |
| `SixTicker_BC` | `TICKER_BC` |

> **Note:** If your LUSID domain does not have access to the above LUSID instrument identifier types, please [contact support](https://www.finbourne.com/contact).

For example, you might populate an Apple instrument with the `SixValoren_BC` value `908440_13` to retrieve real-time prices from the Frankfurt Stock Exchange when you perform a valuation.

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/f1f207ae-d686-4c2d-9670-2fc552f55623.png)

There are two ways you can populate your instruments with the above instrument identifiers:

- [Option 1: Using the SIX Flex integration to load instrument reference data](/v1/docs/horizon-six-flex)
- [Option 2: Using an alternative data source or manually populating instruments with at least one of the above identifier types](/v1/docs/how-do-i-master-an-instrument)

Note your SIX API account must have the appropriate entitlements to access data for the exchange you specify a BorseCode (BC) for.

## Step 2: Supply your LUSID domain with your SIX API credentials

To allow LUSID to access and fetch price data, you must supply your SIX API credentials to LUSID securely via the Configuration Store. [See how to do this](/v1/docs/connecting-your-horizon-partner-accounts-to-your-lusid-domain#connecting-six-api-data-to-your-lusid-domain).

## Step 3: Create a SIX-specific recipe

With your LUSID domain linked up to the SIX API, you can create a [recipe](/v1/docs/how-do-i-create-or-generate-a-recipe) that allows you to value portfolios using real-time market prices supplied by SIX. To ensure your recipe uses SIX data, you must specify at least one [market data rule](/v1/docs/recipes-locating-market-data) containing the following:

- A key specifying `Quote.&lt;IdentifierType&gt;.&lt;IdentifierValue&gt;` where `&lt;IdentifierType&gt;` is one of the SIX-specific instrument identifier types from [step 1](/v1/docs/how-do-i-connect-six-data-to-my-lusid-domain-and-perform-real-time-valuations#step-1-populate-instruments-with-six-instrument-identifiers).
- A `supplier` value of `SIX`.
- A `dataScope` of `LUSID-SIX`.
- A `quoteType` of `Price`.
- A `sourceSystem` value of `SIX/Streaming`.
- A `quoteInterval` of `1D.Live`.
- A `priceSource` of either `realtime` or `delayed`.

Note it is currently only possible to retrieve real-time prices for equities.

For example, to create a simple recipe that might be suitable to value a portfolios of equities containing instruments with the `SixValoren_BC` identifier populated, you could call the [UpsertConfigurationRecipe](https://www.lusid.com/docs/api#operation/UpsertConfigurationRecipe) API as follows:

```json
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 '{
 "configurationRecipe": {
   "scope": "Finbourne-Examples",
   "code": "SixEquitiesRealtimePricing",
   "market": {
     "marketRules": [
       {
         "key": "Quote.SixValoren_BC.*",
         "supplier": "SIX",
         "dataScope": "LUSID-SIX",
         "quoteType": "Price",
         "field": "Last",
         "sourceSystem": "SIX/Streaming",
         "quoteInterval": "1D.Live",
         "priceSource": "realtime"        
       },
       {
         "key": "Fx.*.*",
         "supplier": "Lusid",
         "dataScope": "realtime-valuation",
         "quoteType": "Rate",
         "field": "mid"       
       }
     ],
     "options": {
        "defaultSupplier": "Lusid",
        "defaultInstrumentCodeType": "LusidInstrumentId",
        "defaultScope": "Finbourne-Examples",
        "attemptToInferMissingFx": true
      }
   },
   "pricing": {
      "options": { "allowPartiallySuccessfulEvaluation": true }
    },
   "description": "Simple recipe to value equities using SIX real-time prices along with some supporting FX rates"
 }
}'
```

## Step 4: Perform a valuation using your recipe

Now you have a recipe, you can use it to value a portfolio containing instruments with the relevant identifier types populated.

For example, to perform a real-time valuation on a portfolio of US equity instruments with the `SixValoren_BC` identifier populated, you can sign in to the [LUSID web app](https://www.lusid.com/app/home) and navigate to **Dashboard > Valuations**, selecting your **Portfolio** and **Recipe**. You can adjust the refresh rate to ensure you always see the latest prices:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/ae5c4bdf-0e97-4cb5-b751-a94a112c3284.png)

Note the following:

- Prices update as changes are made available via the SIX API.
- The valuation `effectiveAt` datetime doesn't have an impact on real-time valuations; LUSID always retrieves the latest available price from SIX.
- LUSID only displays real-time prices when a specified exchange is open. You can specify additional `marketRules` in your recipe to [implement fallback logic](/v1/docs/recipes-locating-market-data#hierarchy-rules) if a real-time price cannot be retrieved.

You can also use real-time prices to help you rebalance your portfolios using the latest market data. [Read more on rebalancing in LUSID.](/v1/docs/what-is-rebalancing-in-lusid)

For more information, you can work through this [Jupyter Notebook tutorial](https://github.com/finbourne/sample-notebooks/blob/master/examples/use-cases/valuation/Real-time%20Valuation.ipynb).
