A portfolio in LUSID is a store of economic activity in a set of instruments.
You can create three types of portfolio, to suit different requirements:
- A transaction portfolio enables you to build holdings (positions) in particular instruments. You can set holdings explicitly, load transactions that impact the number of units held, subscribe to corporate actions such as dividends or stock splits, or any combination of these. LUSID does not maintain a static record of your holdings in a portfolio but rather replays the history of economic activity on demand to calculate your live positions.
- A reference portfolio represents an index such as the FTSE 100 or S&P 500. You load constituents referencing particular instruments into the index, with initial weights that can float according to real-time pricing information. LUSID can automatically rebalance the portfolio for you on a regular basis.
- A derived transaction portfolio enables you to perform pre-trade what-if analysis on a live parent transaction portfolio. The derived portfolio is an exact replica of its parent at the point it is created, and also automatically inherits all subsequent changes. It can also store its own economic activity.
Note: Once created, you can only change certain characteristics of a portfolio in some circumstances. More information.
There are several ways to group, nest or relate portfolios:
- A portfolio group collates similar portfolios together, for example an
EMEAportfolio group that acts as an umbrella for
DEportfolios. You can list transactions and holdings for all the portfolios in a portfolio group, and also value the entire group.
- A composite portfolio has a special kind of relationship with one or more constituent portfolios. You can aggregate performance return for the composite portfolio and its constituents to assess overall performance.
- A fund of funds parent portfolio has one or more child portfolios securitised as instruments and purchased as assets in the parent. You can value the parent and drill down (or ‘lookthrough’) to see scaled valuations for individual holdings in child portfolios.
Note the following about portfolios:
- A portfolio has a single identifier consisting of a
code(the latter must be unique within the former). More about identifiers.
- A portfolio has a base (or reporting) currency to which LUSID can normalise foreign currencies in order to provide meaningful valuation reports.
- A portfolio has a minimal set of mandatory data fields, but you can extend the data model by adding custom properties in the normal way.
- You can create relationships to certain other types of entity, for example between a portfolio and the person(s) who manage that portfolio.
- You can apply access metadata to a portfolio. This may be a more effective way of restricting access to portfolio data stored in LUSID.
Alternatively, you can interact with portfolios programmatically:
- For any type of portfolio, using the API endpoints in the Portfolios collection, plus:
- For a transaction portfolio, the API endpoints in the Transaction Portfolios collection.
- For a derived transaction portfolio, the API endpoints in the Transaction Portfolios and Derived Transaction Portfolios collections.
- For a reference portfolio, the API endpoints in the Reference Portfolios collection.
- Using the equivalent methods in the LUSID SDKs.
- If you have a Luminesce license, using dedicated read and write providers.
Explanation: See the big picture
Tutorials: Get started by doing something tangible
Reference: Understand concepts and implications
- Loading constituents and rebalancing a reference portfolio
- What is a portfolio group?
- What is a composite portfolio?
- Aggregating performance return for a portfolio
- Updating certain characteristics of an existing portfolio
How-to guides: Get something done