Understanding LUSID's pricing models

Prev Next

Note: For more information on pricing models specific to instruments of type FxForward, see this article and this Jupyter Notebook. Many pricing models also have model options that change how they behave; see Fine-tuning pricing models using model options.

General pricing models

Pricing model

Behaviour

SimpleStatic

Available for most instrument types, but not FlexibleLoan or FlexibleDeposit.

This pricing model was designed as a simple price lookup tool that did not project cashflows. Initially it only required a price upserted to the LUSID Quote Store and it would then calculate PV as units * notional * price / scaling factor. Over time the model has evolved to now also calculate accrued interest. This has come at the cost of additional market data dependencies, so for example any instrument where the accrued interest depends on a floating rate now fails valuation if the required market data is not upserted to the Quote Store first.

If you don't need accrued interest, set the assumeAccruedIsZero model option. LUSID then values the instrument from its price only, and doesn't need fixings. Because the value comes from a price, LUSID doesn't calculate interest rate risk under this pricing model.

ConstantTimeValueOfMoney
(CTVoM)

Available for most instrument types.

This pricing model forward projects cash flows related to the instrument, (bond coupons, principal payments and so on), which SimpleStatic does not produce. All projected cashflows are then summed up to calculate the present value of the instrument. For most instrument types there is no market data dependency on a price in the Quote Store, but some of the cashflows depend on other market data (such as floating rate fixings). The exception is futures, which are valued from their price.

Conceptually this pricing model can be thought of as a discounting pricer where all discount factors are set to 1, but this is not how it is implemented. A discounting model (see below) would calculate forward rates from the curves provided. Instead, CTVoM simply rolls forward the last observed fixings into the future.

Note that while CTVoM is available for options it does not consider optionality in the calculation approach. It assumes that a spot price stays at the value it has found in the Quote Store for the valuation date until exercise date and then uses this spot price to calculate the payoff.

In the same way, for an FxForward CTVoM values both legs at the spot rate, so it ignores forward rates, and for a ContractForDifference or EquitySwap it keeps the forward price of the underlying flat at spot.

Discounting

Available for most instrument types.

This pricing model uses a set of interest rate curves to project future cashflows and to calculate the present value. All interest rate curves must first be upserted to the LUSID Complex Market Data Store. The extent of required curves depends on the instrument, so for example a fixed-rate bond only requires a discounting curve in the currency of the coupon payments. Floating rate bonds and interest rate swaps also require the provision of projection curves to calculate the forward rates, used in the cashflow projections. All projected future cashflows are discounted with the appropriate curve and then summed up to the PV.

Like CTVoM, this pricing model is available for options but does not consider optionality. Better valuation results are achieved by using one of LUSID's native option pricing models (see below). For an equity option, it values the option at its intrinsic value against a forward price projected from the rates curve.

For bonds, this pricing model ignores call and put dates, so a callable bond has the same value as an equivalent bond without calls; use HullWhite1F (see below) to value the optionality. For FX forwards and bond forwards, model options control where the forward price comes from; for a BondForward they're mandatory.

Instrument-specific pricing models

Pricing model

Behaviour

BondLookupPricer

Available for instruments of type Bond, ComplexBond and InflationLinkedBond. More information.

This pricing model values a bond at its market price multiplied by its outstanding principal, plus accrued interest. For an InflationLinkedBond, the price is also multiplied by the index ratio, unless the price already includes indexation.

Because the value comes from a price, by default LUSID reports interest rate risk such as Pv01 as zero. To get interest rate and credit spread risk while still using the market price, set the spreadAnchoredRisk model option.

HullWhite1F

Available for instruments of type Bond and ComplexBond. More information.

This pricing model values a bond on an interest rate lattice fitted to the discount curve, taking account of any call or put dates. It uses a default volatility and mean reversion unless you set them in the model options.

InflationForward

Available for instruments of type InflationLinkedBond and InflationSwap.

This pricing model projects the inflation index off an inflation curve, using published fixings where available, then discounts each cashflow on the discount curve. It's intended for risk, scenarios and rich/cheap analysis rather than book valuation.

CdsLookupPricer

Available for instruments of type CreditDefaultSwap and CdsIndex.

This pricing model extends SimpleStatic to consume either a price or a rate, and also projects cashflows. More information on PV calculations.

FlexibleRepoSimplePricer

Available for instruments of type FlexibleRepo.

This pricing model differs from SimpleStatic in that it does not require dummy market data loaded into the LUSID Quote Store for a FlexibleRepo instrument.

FlexibleLoanPricer

Available for instruments of type FlexibleLoan and FlexibleDeposit, and the only pricing model that supports them.

This pricing model values a loan or deposit at its outstanding principal plus accrued interest. To report accrued interest only, see the model options.

InlinedIndex

Available for instruments that represent a portfolio, such as a SimpleInstrument representing a fund. More information.

This pricing model looks through the instrument to the holdings in the portfolio it represents, and scales them so they add up to the value of your holding. To change the scaling, see the model options.

OverrideOnlyPricer

Available for instruments such as bonds.

This pricing model doesn't calculate anything itself. It uses valuation results you load into the Structured Result Store, for example from an external system.

Option pricing models

Available for instruments of type EquityOption, FxOption and InterestRateSwaption, depending on precise economic definition. By default, these models project the forward price of an equity underlying from the rates curve. To change this, see EquityModelOptions.

Pricing model

Behaviour

BlackScholes

This pricing model is a LUSID-native implementation of the market standard BlackScholes model. It requires a lognormal volatility surface upserted to the Complex Market Data Store. If a digital option, you can use BlackScholesDigital.

Bachelier

This pricing model requires a normal volatility surface upserted to the Complex Market Data Store.

BjerksundStensland1993

Available for American options.