Lesson 05 · 5 min
TradeLot & PriceQuantity
Economic terms say what the deal is; lots say how much, at what price.
Separating "what" from "how much"
The last two lessons built the what: economic terms and the payout legs inside them. But a real position needs numbers (a notional, a price, a direction in size). The CDM keeps these concerns apart on purpose: the product describes the deal's mechanics, and TradeLot carries its size and price.
TradeLot is a bundle of price-quantity pairs
Each lot holds
priceQuantity(one or morePriceQuantityentries) plus optional lot identifiers.PriceQuantity = price + quantity + observable
Prices and quantities come as schedules (a value that can step over time), and
observablenames what a floating leg watches: an index, an asset, a benchmark.Lots are a list for a reason
Trade events that change size (an increase, a partial unwind) add or adjust lots instead of overwriting the original execution. The position's history stays intact.
A lot in the wild
Here is the day-one lot of our fixed/float swap: USD 10 million notional, fixed leg struck at 4.25%.
{ "lotIdentifier": [ { "assignedIdentifier": [ { "identifier": { "value": "LOT-2026-001" } } ] } ], "priceQuantity": [ { "price": [ { "value": 0.0425, "unit": { "currency": "USD" }, "perUnitOf": { "currency": "USD" }, "priceType": "InterestRate" } ], "quantity": [ { "value": 10000000, "unit": { "currency": "USD" } } ] }, { "quantity": [ { "value": 10000000, "unit": { "currency": "USD" } } ], "observable": { "index": { "floatingRateIndex": { "value": "USD-SOFR-OIS Compound" } } } } ]}
PriceQuantity entries, one per leg. The fixed leg carries a price (the rate); the floating leg carries an observable instead, because its rate is discovered, not agreed.Why not just one notional field?
Because positions change. Suppose the parties later increase the swap by USD 5 million. In most systems that means editing the trade record, which destroys what it looked like before. In the CDM, the increase event appends a second lot:
[ { "lotIdentifier": [ { "assignedIdentifier": [ { "identifier": { "value": "LOT-2026-001" } } ] } ], "priceQuantity": [ { "quantity": [ { "value": 10000000, "unit": { "currency": "USD" } } ] } ] }, { "lotIdentifier": [ { "assignedIdentifier": [ { "identifier": { "value": "LOT-2026-002" } } ] } ], "priceQuantity": [ { "quantity": [ { "value": 5000000, "unit": { "currency": "USD" } } ] } ] }]
01A floating leg's PriceQuantity usually has no price entry. Why?