Skip to content

Updating positionState to "Settled" for securities lending trades #4071

@chrisisla

Description

@chrisisla

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->transferHistory and tradeState->trade->tradeLot
  • Update the Create_Transfer function to set positionState to "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

No labels
No labels

Projects

Status

Approved

Relationships

None yet

Development

No branches or pull requests

Issue actions