Skip to content

Function Create_QuantityChange does not work for multiple quantities #3658

@tomhealey-icma

Description

@tomhealey-icma

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

Labels

backward-incompatibleLikely to be backward-incompatible; must be on Steering WG roadmap; 2 maintainers to approve

Projects

Status

Pipeline

Relationships

None yet

Development

No branches or pull requests

Issue actions