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

You must create at least one share class as an instrument of type FundShareClass in the LUSID Security Master.

You must then add this share class to a fund in order to ringfence particular investors. You can add as many more share classes as you like, each mastered as a separate instrument with a distinct short code.

Using the LUSID web app

  1. Sign in to the LUSID web app as a user with suitable permissions.

  2. From the top left menu, select Data Management > Instruments.

  3. Click the Create instrument button and follow the instructions:

    Note the following:

    • The instrument type must be FundShareClass.

    • You can optionally domicile the share class in a custom instrument scope, which is created if it does not exist in the list. Alternatively, you can domicile the share class in the default scope with other instruments such as currencies.

    • You must add at least one unique identifier and a suitable value, in this case ClientInternal.

    • The short code can be any unique string used to identify the share class when you load transactions into LUSID that are specific to that class, such as subscriptions and redemptions.

    • You can add as many custom properties as you like to extend the information recorded about the share class.

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": {},
  ...
}