Providing you have suitable access control permissions, you can create a fund referencing a particular fund configuration module, an underlying ABOR, and optionally 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.
Using the LUSID web app
Sign in to the LUSID web app as a user with suitable permissions.
From the top left menu, select Data Management > Funds.
Click the Create fund button and follow the instructions. For more information about fields, see the API section below:
Using Luminesce
You can use the Lusid.Fund.Writer
provider. More information.
Using the LUSID API
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, adescription
.In the
aborId
object, thescope
andcode
of an existing ABOR. Note this ABOR cannot be referenced by any other fund.In the
fundConfigurationId
object, thescope
andcode
of an existing fund configuration module.A type of either
Standalone
,Master
orFeeder
.An
inceptionDate
.In the
yearEndDate
object, amonth
between 1 and 12 and aday
number appropriate to that month.Optionally in the
shareClassInstruments
collection, any number of existing instruments of typeFundShareClass
, identified by a unique identifier such as a LUID. If share class instruments are not in thedefault
instrument scope, add that scope to theshareClassInstrumentScopes
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 theFund
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
(in the URL) that references 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"
},
"fundConfigurationId": {
"scope": "Fund",
"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:
{
"id": {
"scope": "MyFunds",
"code": "Growth"
},
"displayName": "Growth Fund",
"description": "Fund for growth",
"aborId": {
"scope": "Abor",
"code": "Standard"
},
"fundConfigurationId": {
"scope": "Fund",
"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"
}
},
...
}