This repository contains Jupyter notebooks that show how to use LUSID. The examples in this repository are in Python. but the underlying LUSID functionality can be implemented using any language that has a HTTP client library. The notebooks are divided into two categories:
features
- Notebooks showing specific LUSID features. These notebooks are short and specific.use-cases
- Notebooks showing sample business implementations or use-cases. These notebooks will combine various LUSID features to solve a business use-case. Theuse-case
notebooks are generally longer than thefeatures
ones.
filename | title | description | features |
---|---|---|---|
fx-forward-pricing-models.ipynb | FX Forward Pricing Models | FX Forwards, Pricing Models, Valuation | |
fx-inference-triangulation.ipynb | FX Inference Triangulation | FX, FX inference, Foreign Exchange, Triangulation |
filename | title | description | features |
---|---|---|---|
template.ipynb | Description here | Attributes ---------- |
filename | title | description | features |
---|---|---|---|
Access Metadata entitlements.ipynb | Portfolio look-through in LUSID | Demonstrates the use of policies to grant access to portfolios based on their Access Metadata (AMD) in LUSID. | access metadata, amd, entitlements |
Portfolio Entitlements.ipynb | Portfolio Entitlements | Demonstrates how to create policies/access control to various date items. | entitlements |
Property value entitlements.ipynb | Portfolio look-through in LUSID | Demonstrates the use of policies to grant access to property values in LUSID. | entitlements, property values, transactions |
Restrict Transactions between two effective dates.ipynb | Create Policy to Restrict Portfolio Updates in a Period | This notebook shows how to create a policy to restrict portfolio updates inbetween 2 effective dates by denying any write/delete activity to all portfolios in a given scope. | policies, portfolios |
filename | title | description | features |
---|---|---|---|
Example Data Load.ipynb | Example Data Load | Loads some example data into LUSID | cutlabels, portfolio groups, quotes, transactions, valuation |
filename | title | description | features |
---|---|---|---|
Bi-temporal example.ipynb | Bi-temporal Example | Demonstration of how the asAt date can be used to get data from different system dates. | bi-temporality, cocoon - identify_cash_items, holdings, transaction configuration, transactions |
Cancelling transactions in LUSID.ipynb | Cancelling transactions | Demonstration of how to use the CancelTransactions endpoint to cancel transactions in a LUSID portfolio. | cancel transactions, cocoon - seed_data, holdings, transactions |
Derived portfolios.ipynb | Derived portfolios | Shows how to use derived portfolios, a type of portfolio that inherits the contents from a parent portfolio. | derived portfolios, holdings, transactions |
Generating an IBOR extract with LUSID's GetHoldings method.ipynb | Generating an IBOR extract | Demonstrates how to use the GetHoldings API to generate IBOR extracts. | cocoon - seed_data, holdings |
Multi-Value Properties.ipynb | Time-variant Properties (e.g. coupon schedule) in LUSID | Illustrates the use of multi-value properties. | coupon schedules, multi-valued properties, time-variant properties |
Output Transactions.ipynb | Output Transactions | This notebook shows how LUSID uses synthetic transactions to fill in the gaps between user-instructed transactions and corporate actions. | adjust holdings, build transactions, corporate actions, instruments, output transactions, portfolios, stock split, sub-holding keys, transactions |
Paging and limiting LUSID's API calls.ipynb | Paging and limiting LUSID's API calls | Shows how to slice up large requests to LUSID into smaller requests using the limit and page parameters. | paging |
Processing Corporate Actions as input transactions.ipynb | Processing Corporate Actions as input transactions | Demonstration of booking corporate action transactions using LUSID's standard input transactions | cocoon - seed_data, holdings, transaction configuration, transactions |
Processing Corporate Actions as native LUSID transitions.ipynb | Processing Corporate Actions using LUSID transitions | Demonstration of booking corporate actions using LUSID's transitions | cocoon - seed_data, corporate actions, holdings, transaction configuration, transactions |
Sub-holding Keys.ipynb | Sub-Holding Keys | Demonstration of how to set up and use sub-holding keys | cocoon - seed_data, holdings, properties, prorated, sub-holding keys |
TimeVariant Properties.ipynb | Time-variant Properties (e.g. coupon schedule) in LUSID | Illustrates the use of time-variant properties, a type of property that depend on different effective dates. | coupon schedules, multi-valued properties, time-variant properties |
filename | title | description | features |
---|---|---|---|
Relations.ipynb | Relations | Demonstrates how to create relationships between different portfolios. | relations |
filename | title | description | features |
---|---|---|---|
Using TraderMade FX spot price data in LUSID.ipynb | Using TraderMade FX spot price data in LUSID | This notebook shows you how to access TraderMade spot FX data in LUSID | quotes |
filename | title | description | features |
---|---|---|---|
Valuation.ipynb | Valuation | Demonstrates how to value a portfolio using a custom recipe. | valuation |
bitemporal-backtrade.ipynb | Bi-temporal backtrade | Demonstrates how to add a missing trade and then get back transactions using the AsAt date. | bi-temporality |
filename | title | description | features |
---|---|---|---|
Create and Setup Chart of Accounts and General Ledger Accounts.ipynb | Corporate Actions in LUSID | Accounts, Chart of Accounts, Properties | |
Generate P&L with different accounting methods (FIFO and LIFO).ipynb | Accounting methods | Generating P&L with different accounting methods (FIFO and LIFO) | accounting methods, cocoon, derived portfolios, transaction configuration |
Using Custodian Accounts.ipynb | Custodian Accounts in LUSID | custodian accounts, transaction portfolios, transactions |
filename | title | description | features |
---|---|---|---|
Identifying Downstream Consumers affected by Backdated Corrections on a Locked Reporting Window.ipynb | Identifying backdated corrections | Demonstration of how to identify backdated corrections and their impact | build transaction, cocoon - seed_data, insights, portfolio changes |
Requesting log details using the Insights API.ipynb | Requesting details of inline valuation operations using the insights API | Insights, Request Logs |
filename | title | description | features |
---|---|---|---|
Accruals.ipynb | Accruals | Demonstration of how to model accruals in LUSID | cocoon, holdings, transaction configuration |
Booking subscriptions and redemptions.ipynb | Booking subscriptions and redemptions | Demonstration of how to model subscriptions and redemptions in LUSID | cocoon - seed_data, holdings, transaction configuration |
Cash ladder.ipynb | Cash ladder | Demonstration of how to compute a cash ladder for a portfolio. | bucketed cashflow, cash, cash ladder |
Manual journal entries to correct cash balances.ipynb | Correcting cash balances with manual journal entries | Demonstration of how to model manual journal entries in LUSID | cancel transactions, cocoon, holdings, reconciliations, transaction configuration |
filename | title | description | features |
---|---|---|---|
Business Agility - migration between investment systems.ipynb | Business agility | Demonstration of how to migrate your data from one system to another. | holdings, instruments, properties, reconciliations, set holdings, transaction configuration, transactions |
Checking a portfolio for transaction updates since an AsAt time.ipynb | Checking a portfolio for transaction updates since an AsAt time | AsAt, GetPortfolioChanges API, Transaction Portfolios | |
Safely and efficiently test changes to your system.ipynb | Testing system changes | Demonstration of how to safely test changes to your data in a production environment | derived portfolios, instrument definitions, instruments, set holdings, transactions |
Set up a sandbox trading environment.ipynb | Sandbox trading environment | Learn how to setup a virtual trading environment in LUSID. | aggregation, instruments, properties, quotes, reference portfolios, set holdings, transactions |
filename | title | description | features |
---|---|---|---|
Configuring and Running Pre-Trade Compliance.ipynb | Compliance in LUSID | Compliance, OMS, Pre/Post trade checks |
filename | title | description | features |
---|---|---|---|
Corporate Actions.ipynb | Equity - Handling Corporate Actions | bonus issue, corporate actions, dividend, equity, merger, recipes, spin-off, split, valuations | |
Creating Portfolios With Different Tax Lot Management Methods.ipynb | Creating portfolios with different tax lot management methods | This notebook demonstrates how to create transaction portfolios under different tax lot accounting methodologies. | accounting, corporate actions, holdings, taxlots, transactions |
Generating Corporate actions natively in LUSID.ipynb | Corporate Actions in LUSID | Demonstrates how to create and apply a corporate action to a portfolio. | corporate actions, derived portfolios, holdings, transactions |
Generating holdings with the movements engine in LUSID.ipynb | Generating holdings | Generating holdings with the movements engine | cocoon, instruments, transaction configuration, transactions |
Get Holdings and Extract to csv.ipynb | Get Holdings | Shows how to use the Get Holdings endpoint and extract it to a csv | holdings, transaction portfolios |
Get a consolidated view of your data from multiple systems.ipynb | Consolidating multiple systems | Demonstration of how to migrate funds from multiple source systems into LUSID | aggregation, holdings, instruments, properties, quotes, reconciliations, transaction configuration |
How do I create holdings in LUSID.ipynb | Creating holdings in LUSID | Demonstrates how to load transactions based on custom transaction types and then compute the subsequent holdings. | properties, transaction configuration, transactions |
IBOR User Journey.ipynb | IBOR User Journey | A day in the life of an IBOR using LUSID | aggregation, aggregation, cocoon, corporate actions, instruments, quotes, results store, sub-holding keys, transaction configuration, valuation reconciliation |
Load Transactions from an External System.ipynb | Loading transactions from an external system | Demonstration of loading a transaction XML file from another "External System" into LUSID. | cocoon, holdings, transactions |
Loading data with the Lusid-Python-Tools (LPT) package.ipynb | Loading data with LUSID Python Tools | Demonstrates how to load portfolios, instruments, holdings, and transactions. | cocoon, instruments, portfolios, transactions |
Maintain a fund in multiple currencies and share classes.ipynb | Modelling share classes in LUSID | This notebook shows how to model a fund that operates in different currencies and share classes. | adjust holdings, aggregation, holdings, instrument definitions, quotes, transactions |
Maintaining an instrument master in LUSID.ipynb | Maintaining an instrument master | Demonstrates how to import, update, retrieve, and delete instruments. | instruments, properties, search |
Perform a reconciliation.ipynb | Reconciliations | Demonstration of how to use LUSID to find discrepancies between versions of a portfolio | adjust holdings, instruments, portfolio groups, properties, reconciliations, set holdings, transactions |
Portfolio types and portfolio groups in LUSID.ipynb | Portfolios and Portfolio Groups | Demonstrates how to do various operations with portfolios and portfolio groups. | commands, corporate actions, portfolio groups, portfolios, transactions |
Running a Global Fund.ipynb | Running a global fund | Demonstration of using LUSID to run funds fed from multiple source systems across multiple regions | aggregation, cocoon, cut labels, instruments, quotes, recipes, transaction configuration, transactions |
Using cut-labels to manage your business across different time-zones.ipynb | Cut Labels | Demonstrates how to use cut labels to simplify timestamps and streamline usage of LUSID when used across multiple timezones. | cut labels, holdings, instruments, transactions |
filename | title | description | features |
---|---|---|---|
Bond.ipynb | Bonds - Computing P&L and Accrued Interest for Bonds | P&L, accrued interest, bond, bonds, recipes, valuations | |
BondWithAmortisation.ipynb | Bonds - Amortisation | P&L, a2b, amortisation, amortization, bond | |
Contract for Difference.ipynb | Contract for Difference - Calculating Intraday P&L for CFD's with and without Daily Close outs | P&L, cfd, close out, contract for difference, recipes, valuations | |
Equity Option.ipynb | Equity Option - Booking and valuing an Equity Option with physical settlement | P&L, equity option, physical settlement, recipes, valuations | |
Equity Options - Pricing and risk using Black-Scholes.ipynb | Equity Option - Pricing and risk | black scholes, equity option, exposure, inline valuations, market value, option delta | |
FX Forward.ipynb | FX Forward - Valuation Workflow | FX Forwards, complex market data, recipes, valuations | |
Funding Leg Swap.ipynb | Variable Funding Leg + Equity or Cash Instrument | Demonstrates creation and pricing of a funding leg with variable notional and constructing a related position in an stock or underlying instrument. This construct can be used to represent the mechanics of a total return or equity swap. |
aggregation, funding leg swap, instruments, market data store, quotes, results store |
Interest Rate Swap.ipynb | Interest Rate Swap Valuation | Demonstrates pricing of an Interest Rate Swap based on a user defined Instrument. | instruments, lifecycle events, market data store, quotes, results store, valuation |
Mortgage Backed Securities.ipynb | Mortgage Backed Securities in LUSID | complex bond, mbs, mortgage backed securities, pool factor, schedule | |
Simple Equity.ipynb | Equity - Computing P&L and Handling Dividends for Equities | P&L, dividend, equity, recipes, valuations | |
Term Deposit.ipynb | Term Deposit Valuation | Demonstrates pricing of a Term Deposit Investment. | instruments, lifecycle events, market data store, quotes, results store, valuation |
filename | title | description | features |
---|---|---|---|
Rebalancing with a model portfolio.ipynb | Rebalancing with a model portfolio | This notebook shows how you can automatically generate transactions to rebalance a transaction portfolio with a model portfolio | reference portfolios, transactions portfolios |
Setting up a blended benchmark with floating weights.ipynb | Setting up a blended benchmark | Demonstration of how to load a blended benchmark. We also show how floating weights with a periodic reset. |
Floating weights, Reference portfolios, Securitised portfolios, Weights |
filename | title | description | features |
---|---|---|---|
Incorporating live orders into your holdings view.ipynb | Live Orders with Holdings in LUSID | holdings, instruments, orders, portfolio, quotes, recipe |
filename | title | description | features |
---|---|---|---|
Call Api On File Upload.ipynb | Call Api on File Upload | events, luminesce, notifications, subscriptions |
filename | title | description | features |
---|---|---|---|
Managing a transaction lifecycle using LUSID's properties.ipynb | Managing the transaction lifecycle on LUSID | Demonstration of how to use properties to manage the transaction lifecycle | cocoon, data types, instruments, properties, transactions |
Transactions with Trade To Portfolio Rate.ipynb | Trade To Portfolio Rate (TTPR) Demo | This notebook demonstrates how LUSID can resolve the Trade To Portfolio Rate for transactions booked with different trade currencies to the base portfolio currency. | instruments, portfolios, quotes, recipes, trade to portfolio rate, transactions |
filename | title | description | features |
---|---|---|---|
Managing cashflows - capital calls and income distributions.ipynb | Running a Fund with Investors | Demonstration of how to manage a fund's subscriptions and capital calls with investors in LUSID | holdings, instruments, properties, transaction configuration, transactions |
Supporting a multi-asset class book of business.ipynb | Bespoke asset classes | Demonstration of how to create your own custom instrument inside LUSID, create a transaction against it and value it. | aggregation, instruments, properties, quotes, transactions |
filename | title | description | features |
---|---|---|---|
Private Markets and Real Estate.ipynb | Private Markets and Real Estate | cash flows, excel, lookthrough, pdf, private markets, quotes, real estate, transactions |
filename | title | description | features |
---|---|---|---|
Backtesting with LUSID derived portfolios.ipynb | Backtesting with derived portfolios | Shows how to use a derived portfolio to test different trading strategies. | aggregation, cocoon, derived portfolios, holdings, instruments, quotes |
Calculating P&L on strategy.ipynb | Calculating P&L on strategies | Demonstration of how to use sub-holding keys and output transactions to track P&L on different strategies. | cocoon - seed_data, derived portfolios, output transactions, properties, sub-holding keys, transactions |
Composite returns adjusted for FX rates.ipynb | Loading and caculating returns | Demonstration of how to get aggregate returns adjusted by FX performance | Composite portfolios, FX performance, Returns |
Loading and calculating returns.ipynb | Loading and calculating returns | Demonstration of how to load and calculate returns in LUSID. | Returns |
Manage your investment strategies.ipynb | Managing investment strategies | Demonstration of how to compare how strategies are performing across all of our client's holdings, rather than just looking at a single portfolio in isolation. | aggregation, data types, instruments, portfolio groups, properties, set holdings, transactions |
Returns on composite portfolios.ipynb | Loading and caculating returns | Demonstration of how to load and calculate returns on composite portfolios in LUSID | Composite portfolios, Returns |
Track trading commissions in your portfolio.ipynb | Track trading costs and commissions in your portfolio | Demonstrates how to track commissions and fees separately from trade costs. | cocoon, instruments, portfolio groups, properties, sub-holding keys, transaction configuration, transactions |
filename | title | description | features |
---|---|---|---|
Bond Pricing And Accrued Interest Calculation.ipynb | Bond Pricing And Accrued Interest Calculation | Demonstrates pricing a bond and calculating it's accrued interest based on a user defined Bond Instrument. | aggregation, instruments, market data store, quotes, results store |
Configuration Recipe Composability Using Recipe Composer.ipynb | Recipe Composer Workflow | recipe composers, recipes, valuations | |
Externally Calculated Metrics.ipynb | Save externally calculated metrics and use them within the Valuation Engine | Attributes ---------- |
|
FundingLeg Valuation with compounding interests.ipynb | FundingLeg - Valuation with daily resets | Compounding, FundingLeg, recipes, valuations | |
Futures Valuation with Differing Cost Basis Treatments (Synthetic Cash Method).ipynb | Futures Valuation Workflow | futures, recipes, transaction types, valuations | |
Futures Valuation with Differing Cost Basis Treatments.ipynb | Futures Valuation Workflow | futures, recipes, transaction types, valuations | |
Futures Valuation with notional cost and variation margin.ipynb | Futures Valuation Workflow | futures, recipes, transaction types, valuations | |
Look-through valuation (multi-level).ipynb | Look-through Valuation with Multiple Levels | The following notebook details how to compute PVs across different levels of look-through for both securitised funds and Index Futures |
futures, instruments, recipes, securitised portfolios, transactions, valuation |
Look-through valuation.ipynb | Portfolio look-through in LUSID | Shows how to compute the value of a child portfolio's holding as though they were directly held by the parent portfolio. | holdings, look through, portfolios, securitised portfolios, valuations |
Model selection using instrument features and properties.ipynb | Model selection using instrument features and properties | Demonstration of how to configure model selectio for valuation based on instrument features as well as instrument properties. | Derived instrument properties, Instrument features, Instruments, Model selection |
Real-time Valuation.ipynb | Real-time valuation using streamed market data | This notebook shows how to value a portfolio using real-time streamed market data | recipes, valuation |
SRS csv Example.ipynb | Structured Results Store for storage of Portfolio data | luminesce, structured_results_store, virtual_document | |
Simple Valuation.ipynb | Simple valuation with default recipes | This notebook shows how to value a portfolio using recipes, for an out of the box look at positions and valuations | manifests, recipes, transactions, valuation |
Total Return Swap Pricing With Reference Instrument.ipynb | Total Return Swap Pricing With Reference Instrument | Demonstrates pricing of an Total Return Swap with AssetLeg having the ReferenceInstrument as underlying. | instruments, reference-instrument, valuation |
Valuation Analysis.ipynb | Valuation Debugging | instruments, recipes, transactions, valuation, valuation manifest | |
Valuations with recipes.ipynb | Valuation with recipes | This notebook shows how to value a portfolio using recipes with different pricing sources | manifests, recipes, transactions, valuation |
filename | title | description | features |
---|---|---|---|
Households.ipynb | Households | Demonstration of how to manage the holdings for an investor based on each Mandate & Household they are associated with. | aggregation, instruments, portfolio groups, portfolios, properties, quotes, set holdings |
filename | title | description | features |
---|---|---|---|
Luminesce Syntax.ipynb | Luminesce Syntax | Attributes ---------- |
filename | title | description | features |
---|---|---|---|
Providers and Views.ipynb | Luminesce Providers and Views | Attributes ---------- |