Type | Read/write | Author | Availability |
Data provider | Read | FINBOURNE | Provided with LUSID |
Providing you have sufficient access control permissions, the Lusid.Fund.ValuationPointData
provider enables you to write a Luminesce SQL query that values a fund by calculating GAV, NAV and other pricing data.
NAV is GAV minus any accrued fees. You can retrieve fee accruals by joining this provider to the Lusid.Fund.ValuationPointData.Fee provider.
See also: Lusid.Fund, Lusid.Fund.ValuationPoint.Writer
Basic usage
select * from Lusid.Fund.ValuationPointData where FundScope = <scope> and FundCode = <code> and <date-or-diary-entry> ;
Query parameters
Lusid.Fund.ValuationPointData
has parameters that enable you to filter or refine a query.
To list available parameters, their data types, default values, and an explanation for each, run the following query using a suitable tool:
select FieldName, DataType, ParamDefaultValue, Description from Sys.Field where TableName = 'Lusid.Fund.ValuationPointData' and FieldType = 'Parameter';
Data fields
By default, Lusid.Fund.ValuationPointData
returns a table of data populated with particular fields (columns). You can return a subset of these fields.
To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a suitable tool:
select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Lusid.Fund.ValuationPointData' and FieldType = 'Column';
Note: Fields marked 'main' are returned by queries that select a ^
character, for example select ^ from Lusid.Fund.ValuationPointData
.
Examples
Note: For more example Luminesce SQL queries, visit our Github repo.
Example 1: Generate an ad-hoc fund valuation
You can use the EndDate
parameter to value a fund at an arbitrary point in time. Note no data is persisted.
select * from Lusid.Fund.ValuationPointData where FundScope = 'Growth' and FundCode = 'Equities' and EndDate = #2024-06-13 17:00:00# ;
Example 2: Publish an official fund valuation
This operation is part of a workflow with checks and balances, not all of which is possible using Luminesce.
You must first create an accounting diary entry of type ValuationPoint
using the Lusid.Fund.ValuationPoint.Writer provider. You then use the DiaryEntryCode
parameter to generate an estimate for the fund value at that point in time. See how to finalise and persist data in LUSID.
select * from Lusid.Fund.ValuationPointData where FundScope = 'Growth' and FundCode = 'Equities' and DiaryEntryCode = '13June2024-5pm-asAt7pm' ;
Example 3: Retrieve fee accruals
You must specify the same EndDate
or DiaryEntryCode
for this provider and for Lusid.Fund.ValuationPointData.Fee in order to retrieve the correct fee accruals.
select d.*, f.Amount, f.Code from Lusid.Fund.ValuationPointData d inner join Lusid.Fund.ValuationPointData.Fee f on d.FundScope = f.FundScope and d.FundCode = f.FundCode where d.FundScope = 'Growth' and d.FundCode = 'Equities' and d.EndDate = #2024-06-13 17:00:00# and f.EndDate = #2024-06-13 17:00:00# ;