-
Notifications
You must be signed in to change notification settings - Fork 97
Description
Issue Summary
The logic to qualify terminations includes a check to ensure that the quantities in the tradeLot have been decreased to zero. This is done by the function CompareTradeLotToAmount (called within the QuantityDecreasedToZero function).
This function only returns true if all quantities in the tradeLot have been reduced to zero:
This is missaligned with the Termination event, since for certain products (e.g. bond options), there are values in the TradeLot that are not reduced to zero, and we do not expect them to be reduced.
To solve the issue, we should look into the logic applied by the function UpdateAmountForEachMatchingQuantity to select the tradeLots where the quantity is to be reduced to zero and apply the same criteria at the qualification stage.
Steps to Reproduce
In a IR Debt Option, there are the following quantities in the tradeLot:
- The notional amount: total traded notional amount of the underlying debt option trade
- The option entitlement (this is the name in FpML): The number of units of underlyer per option comprised in the option transaction.
The option entitlement it's a feature of the product, therefore, we do not expect this quantity to be reduced to zero. Being the notional amount the only quantity we expect to be reduced to zero. However, then the event is not qualified as a termination.
This behaviour can be proven in the following sample (mock up):
ir-option-debt-option-ex01-output-term-cdm-proposed.json
Where the quantities are:
- The notional amount: 600000000 USD
- The option entitlement: 100000000 USD
Expected Behaviour
Should qualify as Termination, even if one of the quantities on the tradeLot is not zero.
Actual Behaviour
Doesn't qualify as Termination.
Compatibility
This change is backward compatible.
Release
CDM 7dev.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status
