-
Notifications
You must be signed in to change notification settings - Fork 100
Description
Background
The Create_QuantityChange function changes the quantity of all PriceQuantity elements in the array based on a minimal match. Where this fails is in the repo case where the tradeLot contains two priceQuantity elements, one for the cash loan amount and a second element for the collateral amount.
When you run any function, such as Create_RepricePrimitiveInstruction that is used to change the price of the collateral and update the cash amount of the loan. The incorrect result is that the collateral quantity is set to the cash loan amount. Here's an example of the before and after TradeLot:
Correct Collateral Amount:
"quantity": [
{
"value": {
"value": 1000.0,
"unit": {
"currency": {
"value": "GBP"
After changing the cash loan amount to 997833.55, the collateral amount is also set to the same amount:
"quantity": [
{
"value": {
"value": 997833.55,
"unit": {
"currency": {
"value": "GBP"
Proposal
The proposal is to provide more granular matching criteria to update a price or quantity by adding two attributes to NonNegativeQuantitySchedule:
quantityType QuantityTypeEnum (0..1) Refers to quantity types Settlement, PurchasePrice, RepurchasePrice, Accrued Interest, Instrument, etc.
quantityTypeReference AssetIdentifier (0..1) refers to the specific asset ID
The Create_QuantityChange will then change it's price/quantity matching function to include addition parameters.
Compatibility
The is a breaking change in v6.
Release
CDM dev 7.x
Additional Context
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status