Using reference lists in LUSID

A reference list in LUSID is a repository of data that can contain:

A series of...

For example, if you want to...

Strings

Store a list of asset classes.

Portfolios or portfolio groups

Store a list of portfolios to exclude from a compliance rule.

Instruments

Store a list of instruments to exclude from a particular compliance rule.

Funds

Store a list of funds to exclude from a compliance rule.

Properties or address keys

Store a list of instrument properties that should exist to pass a compliance check.

Decimals

Store a list of upper and lower bounds that an order should remain within.

All reference lists in LUSID have a scope and a code forming a unique ID. Currently, you can pass one or more reference list IDs into various LUSID compliance rules to ensure the rule checks against the values in the list. For example, you can:

  • Set up a compliance rule that checks orders do not comprise of instruments of a particular set of asset classes.

  • Set up a compliance rule that checks orders contain a list of required properties, such as the country of origin.

  • Specify a reference list of portfolios within a compliance rule to exclude those in the list from the rule.

You can also use reference lists for other LUSID operations, such as to specify a list of portfolios to create valuation reports for.

There are several ways to create reference lists in LUSID:

  • Use the APIs in the ReferenceLists collection to create your own reference lists and load them with data.

  • Use the dashboard in the LUSID web app to create your own reference lists.

  • Use dedicated Luminesce providers to create your own reference lists (coming soon).

How do I create a reference list?

Providing you are a LUSID user with sufficient privileges, you can create a reference list to store a collection of values.

Using the LUSID REST API

Currently, you can create one reference list per API call.

  1. Obtain an API access token.

  2. Call the UpsertReferenceList API, passing in:

    • A scope and code that together uniquely identify the reference list.

    • A user-friendly name and optional description for the reference list.

    • Any tags for the reference list.

    • One referenceListType out of the following options, and an array of values to populate the reference list with:

      • PortfolioGroupIdList: takes in an array of scope and code pairs that uniquely identify portfolio groups.

      • PortfolioIdList: takes in an array of scope and code pairs that uniquely identify portfolios.

      • PropertyList: takes in an array of property key and value pairs that uniquely identify properties.

      • AddressKeyList: takes in an array of strings containing keys that uniquely identify a queryable address (such as a metric) in LUSID.

      • FundIdList: takes in an array of scope and code pairs that uniquely identify funds.

      • InstrumentList: takes in an array of strings containing instrument identifiers of any type.

      • StringList: takes in an array of strings.

      • DecimalList: takes in an array of doubles.

The following example creates (or updates if it already exists) a reference list of portfolios:

curl -X POST 
"https://<your-domain>.lusid.com/api/api/referencelists"
  -H "Content-Type: application/json-patch+json"
  -H "Authorization: Bearer <your-API-access-token>"
  -d "{
  "id": {
    "scope": "Finbourne-Examples",
    "code": "Uk-Portfolios"
  },
  "name": "UkPortfoliosReferenceList",
  "description": "Reference list containing the scope and code of all my UK portfolios",
  "tags": [
    "portfolio",
    "uk"
  ],
  "referenceList": {
    "values": [
      {
        "scope": "Finbourne-Examples",
        "code": "PortfolioUk"
      },
      {
        "scope": "Finbourne-Examples",
        "code": "Uk-Equities"
      }
    ],
    "referenceListType": "PortfolioIdList"
  }
}"

Once you have created a reference list, you could include the scope and code when creating a compliance rule to, for example, exclude the portfolios in the reference list from being checked by a particular rule. See how to create a compliance rule.

Using the LUSID web app

  1. Sign in to the LUSID web app using the credentials of a LUSID administrator.

  2. From the top left menu, select Compliance > Rule Manager.

  3. Select the Reference Lists tab and click the Create reference list button:

  4. On the Create Reference List screen, specify:

    • A unique Scope and Code.

    • A friendly Display Name and Description.

    • Any Tags for the reference list.

    • A reference List Type.

    • A set of items, depending on your List Type, to include in your reference list.

  5. Click the Create button to save your reference list.