-
Notifications
You must be signed in to change notification settings - Fork 100
Description
Background
The current status of a trade is held in the tradeState->state->positionState attribute. This is an enumerated list that has several options, including "Executed", "Formed", "Settled", "Cancelled" and "Closed".
For securities lending, knowing whether a trade has "Settled" is imperative, as this controls whether specific lifecycle events can be performed upon it. For example, if a trade has not settled then you would not mark or return it.
Proposal
The positionState of a securities lending trade should be set to "Settled" once the settlement obligations of that trade have been fulfilled.
To support this, the proposal is as follows:
- Create new functions to:
- determine whether the full quantity of securities have been delivered
- determine whether the total cash expected has been paid (only for trades collateralised by cash)
- these functions will use the details in the
tradeState->transferHistoryandtradeState->trade->tradeLot
- Update the
Create_Transferfunction to setpositionStateto "Settled" if:- this is a securities lending trade, and
- the settlement obligations (security delivery and potentially cash payment) have been fulfilled
This change will be applied only to trades that qualify as securities lending trades. This will restrict the impact to only this product type.
Compatibility
This should not be a breaking change, as it is enhancing how existing attributes are set.
Release
CDM 7
Additional Context
The proposed change is solely for securities lending trades. If the same functionality is required for other product types then this can be picked up by interested parties and considered separately.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status