LUSID is transitioning to a system where it automatically emits lifecycle events for supported instruments that have maturity dates, enabling you to handle those events in a seamless and consistent manner.
Important: Instrument events are disabled by default. To enable them, register a recipe with every portfolio you wish events to impact. More information.
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 confers a suitable 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:
Generates an output transaction scaled to your holding in that portfolio, and enriched with extra information such as gain/loss or a tax calculation.
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 |
---|---|---|---|---|
| For a worked example, see this tutorial. To override a particular bond coupon or principal payment amount, manually load an appropriate event. More information coming soon. To handle a bond default and terminate lifecycle events, manually load a | Available | ||
| ||||
|
| |||
| ||||
| Available | |||
| ||||
|
| |||
| ||||
MBS (modelled as a ComplexBond) |
| Available | ||
| ||||
| ||||
| ||||
| ||||
| Available | |||
| ||||
|
| |||
| ||||
| Available | |||
| ||||
|
| Available | ||
| ||||
|
| CashSettledOptionExercise (if cash settled) | Available | |
|
| |||
| ||||
|
| Available | ||
| CashSettledOptionExercise (if cash settled) |
| Available | |
|
| |||
| ||||
|
| Available | ||
|
| For a worked example, see this tutorial. | Available | |
|
| |||
|
| For a worked example of a deliverable FxForward, see this tutorial. | Available | |
|
| |||
|
|
|
| Available |
|
| |||
|
| Available | ||
| ||||
|
| Available | ||
| ||||
| ||||
|
| Available | ||
|
|
| Available | |
|
| |||
|
| |||
|
| 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.