Lusid.Portfolio.Constituent

Type

Read/write

Author

Availability

Data provider

Read

Finbourne

Provided with LUSID

Providing you have sufficient access control permissions, the Lusid.Portfolio.Constituent provider enables you to write a Luminesce SQL query that retrieves constituents from one or more LUSID reference portfolios.

Note: By default, Lusid.Portfolio.Constituent cannot retrieve reference holding properties. To do this, you must first configure Lusid.Portfolio.Constituent to 'inline' properties. See how to do this.

See also: Lusid.Portfolio.Constituent.Writer

Basic usage

select * from Lusid.Portfolio.Constituent where <filter-expression>;

Query parameters

Lusid.Portfolio.Constituent 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.Portfolio.Constituent' and FieldType = 'Parameter';

Data fields

By default, Lusid.Portfolio.Constituent 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.Portfolio.Constituent' and FieldType = 'Column';

Note: Fields marked 'main' are returned by queries that start select ^ from Lusid.Portfolio.Constituent...

Examples

Note: For more example Luminesce SQL queries, visit our Github repo.

Example 1: Retrieve constituents in every portfolio

select * from Lusid.Portfolio.Constituent;

Example 2: Retrieve constituents in a particular portfolio

select * from Lusid.Portfolio.Constituent where PortfolioScope = 'Finbourne-Examples' and PortfolioCode = 'FTSE100';

Example 3: Retrieve constituents whose floating weight is greater than initial weight on a particular day

select * from Lusid.Portfolio.Constituent where EffectiveAt = #2022-03-02# and FloatingWeight > Weight;

Example 4: Show the friendly name of underlying instruments for constituents

It's typically useful to join to the Lusid.Instrument provider in order to retrieve the friendly name of underlying instruments. Note that since both providers have a DisplayName field, only that of Lusid.Instrument is returned in order to avoid a duplicate column clash:

select 
    c.^, 
    i.DisplayName 
from Lusid.Portfolio.Constituent c
    left outer join Lusid.Instrument i
    on c.LusidInstrumentId = i.LusidInstrumentId;