Views:

Related resources:

Explanation

Tutorials

Reference

Providing you have suitable access control permissions, you can create a fund referencing a particular ABOR and the transaction portfolios and other components it incorporates.

Note: A fund can optionally reference any number of share class instruments.

Once created, you can:

  • Add fees to a fund to register expenses such as management or legal fees.
  • Value a fund at a specific point in time, calculating GAV and NAV (which is GAV minus accrued fees) and persisting the data so the result is reproducible.

The following methods for creating a fund are available:

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 > Funds.
  3. Click the Create fund button and follow the instructions. For more information about fields, see the API section below:

Using the LUSID API

  1. Obtain an API access token.
  2. Call the CreateFund API, specifying a scope in the URL and, in the body of the request:
    • A code that, together with the scope, uniquely identifies the fund in LUSID.
    • A displayName and, optionally, a description.
    • In the aborId object, the scope and code of an existing ABOR. Note this ABOR cannot be referenced by any other fund.
    • A type of either Standalone, Master or Feeder.
    • An inceptionDate.
    • In the yearEndDate object, a month between 1 and 12 and a day number appropriate to that month.
    • Optionally in the shareClassInstruments collection, any number of existing instruments of type FundShareClass, identified by a unique identifier such as a LUID. If share class instruments are not in the default instrument scope, add that scope to the shareClassInstrumentScopes collection. Alternatively, you can add or remove share class instruments independently using the SetShareClassInstruments API.
    • Optionally in the properties collection, any number of custom properties from the Fund domain to extend the data model. Alternatively, you can add or remove properties independently using the UpsertFundProperties API.

Consider the following example, of a fund with a scope of MyFunds (highlighted in red in the UR) that references an ABOR with a scope of Abor and a code of Standard and two share class instruments identified by LUID, at least one of which resides in a MyShareClassCustomInstrumentScope. Note there is no significance to the order in which share class instruments are specified:

curl -X POST 'https://<your-domain>.lusid.com/api/api/funds/MyFunds'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "code": "Growth",
  "displayName": "Growth Fund",
  "description": "Fund for growth",
  "aborId": {
    "scope": "Abor",
    "code": "Standard"
  },
  "shareClassInstrumentScopes": [
    "MyShareClassCustomInstrumentScope",
  ],
  "shareClassInstruments": [
    {
      "instrumentIdentifiers": {
        "Instrument/default/LusidInstrumentId": "LUID_00003DTJ"
      }
    },
    {
      "instrumentIdentifiers": {
        "Instrument/default/LusidInstrumentId": "LUID_00003DTI"
      }
    }
  ],
  "type": "Standalone",
  "inceptionDate": "2023-12-31T23:59:59.9999999Z",
  "decimalPlaces": 2,
  "yearEndDate": {
    "day": 31,
    "month": 12
  },
  "properties": {
    "Fund/Managers/FundManagerName": {
      "key": "Fund/Managers/FundManagerName",
      "value": {
        "labelValue": "John Doe"
      },
      "effectiveFrom": "2024-01-03"
    }
  }
}'

Providing the ABOR is not referenced by any other fund, and providing LUSID is able to resolve the share class identifiers to mastered instruments, the response confirms the unique identifier of the fund consists of its scope and code (highlighted in red):

{
  "id": {
    "scope": "MyFunds",
    "code": "Growth"
  },
  "displayName": "Growth Fund",
  "description": "Fund for growth",
  "aborId": {
    "scope": "Abor",
    "code": "Standard"
  },
  "shareClassInstruments": [
    {
      "instrumentIdentifiers": {
        "Instrument/default/LusidInstrumentId": "LUID_00003DTJ"
      },
      "lusidInstrumentId": "LUID_00003DTJ",
      "instrumentScope": "MyShareClassCustomInstrumentScope"
    },
    {
      "instrumentIdentifiers": {
        "Instrument/default/LusidInstrumentId": "LUID_00003DTI"
      },
      "lusidInstrumentId": "LUID_00003DTI",
      "instrumentScope": "default"
    }
  ],
  "type": "Standalone",
  "inceptionDate": "2023-12-31T23:59:59.9999999+00:00",
  "decimalPlaces": 2,
  "yearEndDate": {
    "day": 31,
    "month": 12
  },
  "properties": {
    "Fund/Managers/FundManagerName": {
      "key": "Fund/Managers/FundManagerName",
      "value": {
        "labelValue": "John Doe"
      },
      "effectiveFrom": "2024-01-03T00:00:00.0000000+00:00",
      "effectiveUntil": "9999-12-31T23:59:59.9999999+00:00"
    }
  },
  ...
}