LUSID provides a set of aggregation APIs which gathers metrics on holdings within a portfolio or portfolio group and presents them in a configurable way by grouping, sorting and specifying the result set and the operations used to generate it. The process is controlled by a recipe - a LUSID-specific ruleset of instructions and parameters for the aggregation request. The recipe controls the following aspects of the aggregation process:

  • The pricing context - controlling the model and the parameters set 
  • The market context - controlling the market data used, its (temporal) tolerance, source, shape etc at an instrument level


Aggregation in LUSID is currently supported against portfolio and portfolio groups, as an absolute result or nested down the group structure and also against a portfolio in LUSID or in-line (created on the fly).

You can specify the return information by adding metrics. 

Available metrics within the aggregation

Any custom property can be used as a metric, there are also a number of default metrics available which include:

  • Instrument/default/Name
  • Holding/default/SubHoldingKey
  • Holding/default/Units
  • Holding/default/Cost
  • Holding/default/PV
  • Holding/default/Type
  • Holding/default/PortfolioGroupLevel1
  • Holding/default/PortfolioGroupLevel2
  • Portfolio/default/Name
  • Portfolio/default/Id
  • Analytic/default/ValuationDate


Available Operations

The following operations are currently supported on these metric where appropriate:

  • Sum
  • Proportion
  • Average
  • Count
  • Min
  • Max
  • Value