An event in LUSID can refer to either a:
System events
LUSID emits a system event when an internal operation completes. This can be within LUSID itself, or in one of its ecosystem applications such as Drive, Scheduler or Luminesce.
For example, when you call the CreatePortfolio
API (either directly, or via an SDK, Luminesce, the LUSID web app or any other proxy), LUSID emits a PortfolioCreated
system event providing the operation succeeds.
To see a list of all possible system events, call the Notification Service ListEventTypes API. More information.
System events are designed to be handled by the:
- Notification Service, so for example you can handle the
PortfolioCreated
event to send an email to a portfolio manager. - Workflow Service, so for example you can handle the
PortfolioCreated
event to trigger a task to load transactions.
Instrument events
There are two types of instrument event, both emitted by LUSID in response to real-world events impacting the instruments you hold.
Instrument lifecycle events
LUSID emits an instrument lifecycle event when an instrument mastered in LUSID reaches a milestone. This occurs automatically; there is no user input.
For example, LUSID emits a BondCouponEvent
every time a coupon is due on an instrument of type Bond
. You can handle this event to capture the coupon amount and perform an operation such as adding it to the cash balance in every portfolio with a holding in that bond.
Corporate action events
LUSID emits a corporate action event on the ex-dividend date of a corporate action manually loaded into a LUSID corporate action source.
For example, LUSID emits a CashDividendEvent
on the ex-dividend date of a cash dividend for an equity, providing you have loaded that cash dividend into a corporate action source. You can handle this event to capture the dividend amount and perform an operation such as adding it to a cash balance in every portfolio that both subscribes to the corporate action source and has a holding in the equity.
Note it is possible for a corporate action event to override a lifecycle event for the same underlying instrument.