Understanding instrument lifecycle events emitted by LUSID

Prev Next

LUSID can automatically emit lifecycle events for supported term instruments, enabling you to handle those events in a seamless and consistent manner.

Important: To enable instrument events, register a recipe with every portfolio you wish events to impact. More information.

For example, LUSID automatically emits a BondCouponEvent each time a bond coupon is due. No user input is required, providing you have mastered the underlying instrument as either type Bond, ComplexBond or InflationLinkedBond in the LUSID Security Master. In addition:

  • LUSID provides a BondCouponEvent default transaction template that automatically generates a transaction representing each coupon amount on its ex-date. You can override this default template if you wish, but it is not necessary.

  • You must implement a BondCoupon transaction type to confer a suitable economic impact on automatically-generated bond coupon transactions. We provide a recommendation, which you can either implement as-is or change if desired.

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.

With the BondCoupon transaction type in place, for each portfolio with a holding in the bond instrument on the ex-date of each coupon, 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 bond 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.

LUSID instrument type

Lifecycle events automatically emitted by LUSID

Transaction types requiring implementation (click for recommendations)

Notes (see also Troubleshooting)

Bond, ComplexBond, InflationLinkedBond

BondCouponEvent

BondCoupon

For a Bond example, see this tutorial.

To override a particular coupon or principal amount, manually load an appropriate event. More information coming soon.

To handle early redemption and terminate lifecycle events, manually load an EarlyRedemptionEvent.

To handle a bond default and terminate lifecycle events, manually load a BondDefaultEvent.

BondPrincipalEvent

BondPrincipal

MaturityEvent

Maturity

MBS (modelled as a ComplexBond)

MbsCouponEvent

MbsCoupon

MbsPrincipalEvent

MbsPrincipal

MbsPrincipalWriteOffEvent

MbsPrincipalWriteOff

MbsInterestShortfallEvent

MbsInterestShortfall

MbsInterestDeferralEvent

MbsInterestDeferral

MaturityEvent

Maturity

CdsIndex, CreditDefaultSwap

CreditPremiumCashFlowEvent

CreditPremiumCashFlow

For a CdsIndex example, see this tutorial.

ProtectionPayoutCashFlowEvent

ProtectionPayoutCashFlow

MaturityEvent

Maturity

EquityOption, ExchangeTradedOption

OptionExerciseCashEvent

CashSettledOptionExercise (if cash settled)

See this tutorial.

OptionExercisePhysicalEvent

ExpiryEvent

Expiry

EquitySwap

MaturityEvent

Maturity

FlexibleDeposit

DepositInterestPaymentEvent

DepositInterestPayment

UpdateDepositAmountEvent

UpdateDepositAmount

DepositCloseEvent

  • DepositCloseInterestPayment

  • DepositCloseFinalBalanceRepayment

  • DepositClose

FlexibleLoan

LoanInterestRepaymentEvent

LoanInterestRepayment

LoanPrincipalRepaymentEvent

LoanBalanceReduction

RevolvingLoanFacility (if revolving loan)

TermLoanFacilityLimitDecrease (if term loan)

ForwardRateAgreement

MaturityEvent

Maturity

Future

FutureMarkToMarketEvent

FutureMarkToMarket

For an example, see this tutorial.

FutureExpiryEvent

FutureCashSettlement

FxForward

FxForwardSettlementEvent

For a deliverable FxForward example, see this tutorial.

MaturityEvent

Maturity

FxSwap

FxForwardSettlementEvent

FxForwardPrincipal

MaturityEvent

Maturity

InflationSwap

SwapCashFlowEvent

SwapCashFlow

MaturityEvent

Maturity

InterestRateSwap

SwapCashFlowEvent

SwapCashFlow

SwapPrincipalEvent

SwapPrincipal

MaturityEvent

Maturity

LoanFacility

ContractInitialisationEvent

InitialiseContract

AdjustGlobalCommitmentEvent

AdjustGlobalCommitment

DrawdownEvent

  • DrawdownFacilityBalance

  • IncreaseContractBalance

LoanInterestRepaymentEvent

LoanInterestRepayment (if not lapsed)

Repo

MaturityEvent

Maturity

TermDeposit

TermDepositInterestEvent

TermDepositInterest

TermDepositPrincipalEvent

TermDepositPrincipal

MaturityEvent

Maturity

TotalReturnSwap

MaturityEvent

Maturity