How do I create a fund share class as an instrument?

Providing you have suitable access control permissions, you can create a share class as an instrument of type FundShareClass in the LUSID Security Master.

You can then add this share class to a fund in order to ringfence particular investors.

Using the LUSID web app

Coming soon.

Using Luminesce

You can use the Lusid.Instrument.FundShareClass.Writer provider. More information.

Using the LUSID API

  1. Obtain an API access token.

  2. Call the UpsertInstruments API, optionally specifying an instrument scope in the URL and, in the body of the request:

    • An ephemeral ID, to track errors in the response.

    • An intuitive name.

    • In the identifiers object, at least one unique identifier such as Figi or ClientInternal with an appropriate value.

    • A suitable economic definition:

      • The instrumentType must be FundShareClass.

      • The shortCode can be any intuitive name.

      • The fundShareClassType can be either Income or Accumulation.

      • The distributionPaymentType can be either Gross or Net.

      • The hedging currency treatment can be either None or ApplyHedging.

      • The domCcy can be any ISO 4217 currency code.

      For more information on the fields in the economic definition, select FundShareClass from the definition dropdown in the API reference:

       

Consider the following example, of an upsert request with a suitable ephemeral ID for a share class instrument domiciled in the MyShareClassCustomInstrumentScope (in the URL). Note this scope is created if it does not exist. If you omit the scope query parameter, the instrument is domiciled in the default (system) scope: 

curl -X POST 'https://<your-domain>.lusid.com/api/api/instruments?scope=MyShareClassCustomInstrumentScope'
  -H 'Content-Type: application/json-patch+json' \
  -H 'Authorization: Bearer <your-API-access-token>' \
  -d '{
  "my-ephemeral-id-1": {
    "name": "ShareClassA",
    "identifiers": {
      "ClientInternal": {"value": "ShareClassA-Id"}
    },
    "definition": {
      "instrumentType": "FundShareClass",
      "shortCode": "Share class A",
      "fundShareClassType": "Income",
      "distributionPaymentType": "Net",
      "domCcy": "GBP",
      "hedging": "None"
    }
  }
}'

Providing the request is successful, LUSID reveals the LUID of the mastered instrument:

{
  "values": {
    "my-ephemeral-id-1": {
      "scope": "MyShareClassCustomInstrumentScope",
      "lusidInstrumentId": "LUID_00003DTJ",
      "name": "ShareClassA",
      "identifiers": {
        "ClientInternal": "ShareClassA-Id",
        "LusidInstrumentId": "LUID_00003DTJ"
      },
      "properties": [],
      "instrumentDefinition": {
        "shortCode": "Share class A",
        "fundShareClassType": "Income",
        "distributionPaymentType": "Net",
        "hedging": "None",
        "domCcy": "GBP",
        "instrumentType": "FundShareClass"
      },
      "state": "Active",
      "assetClass": "Equities",
      "domCcy": "GBP",
      "relationships": []
    }
  },
  "failed": {},
  ...
}