Understanding instrument lifecycle events emitted by LUSID

LUSID is transitioning to a model where it automatically emits lifecycle events for supported instruments that mature, enabling you to handle those events in a seamless and consistent manner.

Note: You must contact us to enable this feature in your environment. It is disabled by default to prevent instrument lifecycle events impacting existing portfolios in an uncontrolled manner.

For example, LUSID emits a bond coupon event each time a coupon is due. No user input is required, providing you have mastered the instrument as type Bond in the LUSID Security Master. In addition, we provide:

  • A default bond coupon transaction template that automatically generates a transaction for the coupon amount.

  • Recommendations for a bond coupon transaction type that confer a typical economic impact for a transaction representing a bond coupon.

You can use the default transaction template for bond coupon events, or create your own. You can configure the transaction type to have any economic impact you like.

When you enable this feature in your LUSID environment, for each portfolio with a holding in the bond instrument, LUSID automatically:

  1. Generates an output transaction scaled to your holding in that portfolio, and enriched with extra information such as gain/loss or a tax calculation.

  2. Implements the economic impact prescribed by the transaction type, for example adding the coupon amount to a particular cash balance.

Recommended reading: Handling bond coupon, principal and maturity events.

The following lifecycle events are available or planned. For more information, start by calling the GetTransactionTemplateSpecification API for that event.

Note: Instruments of type Equity do not have a lifecycle in the normal sense but you can load a stream of corporate actions and trigger LUSID to emit appropriate events. More information.

LUSID instrument type

Lifecycle event(s)

Transaction type(s) mandated by default transaction template *

Notes

Status

Bond

BondCouponEvent

BondCoupon. See an example.

To handle a bond default and terminate lifecycle events, load a BondDefaultEvent corporate action. More information coming soon.

Available

BondPrincipalEvent

BondPrincipal. See an example.

MaturityEvent

Maturity. See an example.

ComplexBond

BondCouponEvent

BondCoupon

Available

BondPrincipalEvent

BondPrincipal

MaturityEvent

Maturity

MBS (a variation of ComplexBond)

MbsCouponEvent

MbsCoupon

Available

MbsPrincipalEvent

MbsPrincipal

Available

MbsPrincipalWriteOffEvent

MbsPrincipalWriteOff

Available

MbsInterestShortfallEvent

MbsInterestShortfall

Available

MbsInterestDeferralEvent

MbsInterestDeferral

Available

InflationLinkedBond

BondCouponEvent

BondCoupon

Available

BondPrincipalEvent

BondPrincipal

MaturityEvent

Maturity

CdsIndex

CreditPremiumCashFlowEvent

CreditPremiumCashFlow

Available

CreditDefaultSwap

CreditPremiumCashFlowEvent

CreditPremiumCashFlow

Available

EquitySwap

MaturityEvent

Maturity

Available

ExchangeTradedOption

ExpiryEvent

Expiry

Available

ForwardRateAgreement

MaturityEvent

Maturity

Available

Future

FutureExpiryEvent

FutureCashSettlement

Available

FxForward

FxForwardSettlementEvent

  • Deliverable: FxForwardDomPrincipal and FxForwardFgnPrincipal. See an example.

  • NDF: NdfSettlement

Available

MaturityEvent

Maturity. See an example.

FxSwap

FxForwardSettlementEvent

FxForwardPrincipal

Available

MaturityEvent

Maturity

InflationSwap

SwapCashFlowEvent

SwapCashFlow

Available

MaturityEvent

Maturity

InterestRateSwap

SwapCashFlowEvent

SwapCashFlow

Available

SwapPrincipalEvent

SwapPrincipal

MaturityEvent

Maturity

Repo

MaturityEvent

Maturity

Available

TermDeposit

MaturityEvent

Maturity

Available

TotalReturnSwap

MaturityEvent

Maturity

Available

* If you use the default transaction template for an event you must ensure the transaction type(s) exists in the default scope and source. You can nominate a different transaction type, perhaps in another scope and source, by creating your own custom transaction template.