Class: TradeLot
Specifies the price and quantity of a trade lot, where the same product could be traded multiple times with the same counterparty but in different lots (at a different date, in a different quantity and at a different price). One trade lot combined with a product definition specifies the entire economics of a trade. The lifecycle mechanics of each such trade lot (e.g. cashflow payments) is independent of the other lots.
URI: common_domain_model:TradeLot
classDiagram
class TradeLot
click TradeLot href "../TradeLot/"
TradeLot : lotIdentifier
TradeLot --> "*" Identifier : lotIdentifier
click Identifier href "../Identifier/"
TradeLot : priceQuantity
TradeLot --> "1..*" PriceQuantity : priceQuantity
click PriceQuantity href "../PriceQuantity/"
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| lotIdentifier | * Identifier |
Specifies one or more identifiers for the lot, if any | direct |
| priceQuantity | 1..* PriceQuantity |
Specifies the settlement characteristics of a trade lot: price, quantity, obs... | direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| Trade | tradeLot | range | TradeLot |
| TradableProduct | tradeLot | range | TradeLot |
In Subsets
Comments
- Rosetta func: FilterTradeLot — Filter list of TradeLot based on TradeLot->lotIdentifier.
- Rosetta func: AddTradeLot — Add a TradeLot to an existing list of TradeLots.
- Rosetta func: ReplaceTradeLot — Replace TradeLot in with matching TradeLot->lotIdentifier.
- Rosetta func: CompareTradeLot — Compare the Quantity in TradeLot 1 to the Quantity (with the same unit of amount) in TradeLot 2, based on the CompareOp enum.
- Rosetta func: CompareTradeLotToAmount — Compare the Quantity amount in TradeLot to the given amount (regardless of unit of amount), based on the CompareOp enum.
- Rosetta func: PriceQuantityTriangulation — Defines all the scenarios which triangulation can be helpful validation between Prices and Quantities.
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| rosetta_functions | [{"name":"FilterTradeLot","description":"Filter list of TradeLot based on TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0.."},{"name":"lotIdentifier","type":"Identifier","cardinality":"0.."}],"output":{"name":"filteredTradeLots","type":"TradeLot","cardinality":"0.."}},{"name":"AddTradeLot","description":"Add a TradeLot to an existing list of TradeLots.","inputs":[{"name":"tradableProduct","type":"TradableProduct","cardinality":"1..1"},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"updatedTradableProduct","type":"TradableProduct","cardinality":"1..1"}},{"name":"ReplaceTradeLot","description":"Replace TradeLot in with matching TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0.."},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"mergedTradeLots","type":"TradeLot","cardinality":"0.."}},{"name":"CompareTradeLot","description":"Compare the Quantity in TradeLot 1 to the Quantity (with the same unit of amount) in TradeLot 2, based on the CompareOp enum.","inputs":[{"name":"tradeLot1","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"tradeLot2","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"CompareTradeLotToAmount","description":"Compare the Quantity amount in TradeLot to the given amount (regardless of unit of amount), based on the CompareOp enum.","inputs":[{"name":"tradeLot","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"amount","type":"number","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"PriceQuantityTriangulation","description":"Defines all the scenarios which triangulation can be helpful validation between Prices and Quantities.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0.."}],"output":{"name":"success","type":"boolean","cardinality":"1..1"}}] |
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:TradeLot |
| native | common_domain_model:TradeLot |
LinkML Source
Direct
name: TradeLot
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"FilterTradeLot","description":"Filter list of TradeLot based
on TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"},{"name":"lotIdentifier","type":"Identifier","cardinality":"0..*"}],"output":{"name":"filteredTradeLots","type":"TradeLot","cardinality":"0..*"}},{"name":"AddTradeLot","description":"Add
a TradeLot to an existing list of TradeLots.","inputs":[{"name":"tradableProduct","type":"TradableProduct","cardinality":"1..1"},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"updatedTradableProduct","type":"TradableProduct","cardinality":"1..1"}},{"name":"ReplaceTradeLot","description":"Replace
TradeLot in with matching TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"mergedTradeLots","type":"TradeLot","cardinality":"0..*"}},{"name":"CompareTradeLot","description":"Compare
the Quantity in TradeLot 1 to the Quantity (with the same unit of amount) in
TradeLot 2, based on the CompareOp enum.","inputs":[{"name":"tradeLot1","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"tradeLot2","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"CompareTradeLotToAmount","description":"Compare
the Quantity amount in TradeLot to the given amount (regardless of unit of amount),
based on the CompareOp enum.","inputs":[{"name":"tradeLot","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"amount","type":"number","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"PriceQuantityTriangulation","description":"Defines
all the scenarios which triangulation can be helpful validation between Prices
and Quantities.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"}],"output":{"name":"success","type":"boolean","cardinality":"1..1"}}]'
description: Specifies the price and quantity of a trade lot, where the same product
could be traded multiple times with the same counterparty but in different lots
(at a different date, in a different quantity and at a different price). One trade
lot combined with a product definition specifies the entire economics of a trade.
The lifecycle mechanics of each such trade lot (e.g. cashflow payments) is independent
of the other lots.
comments:
- 'Rosetta func: FilterTradeLot — Filter list of TradeLot based on TradeLot->lotIdentifier.'
- 'Rosetta func: AddTradeLot — Add a TradeLot to an existing list of TradeLots.'
- 'Rosetta func: ReplaceTradeLot — Replace TradeLot in with matching TradeLot->lotIdentifier.'
- 'Rosetta func: CompareTradeLot — Compare the Quantity in TradeLot 1 to the Quantity
(with the same unit of amount) in TradeLot 2, based on the CompareOp enum.'
- 'Rosetta func: CompareTradeLotToAmount — Compare the Quantity amount in TradeLot
to the given amount (regardless of unit of amount), based on the CompareOp enum.'
- 'Rosetta func: PriceQuantityTriangulation — Defines all the scenarios which triangulation
can be helpful validation between Prices and Quantities.'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- lotIdentifier
- priceQuantity
slot_usage:
lotIdentifier:
name: lotIdentifier
description: Specifies one or more identifiers for the lot, if any.
multivalued: true
priceQuantity:
name: priceQuantity
description: 'Specifies the settlement characteristics of a trade lot: price,
quantity, observable (optionally) and the settlement terms. This attribute has
a multiple cardinality to allow to specify the price, quantity and observable
of different legs in a single, composite product (e.g. a Swap).'
Induced
name: TradeLot
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"FilterTradeLot","description":"Filter list of TradeLot based
on TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"},{"name":"lotIdentifier","type":"Identifier","cardinality":"0..*"}],"output":{"name":"filteredTradeLots","type":"TradeLot","cardinality":"0..*"}},{"name":"AddTradeLot","description":"Add
a TradeLot to an existing list of TradeLots.","inputs":[{"name":"tradableProduct","type":"TradableProduct","cardinality":"1..1"},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"updatedTradableProduct","type":"TradableProduct","cardinality":"1..1"}},{"name":"ReplaceTradeLot","description":"Replace
TradeLot in with matching TradeLot->lotIdentifier.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"},{"name":"newTradeLot","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"mergedTradeLots","type":"TradeLot","cardinality":"0..*"}},{"name":"CompareTradeLot","description":"Compare
the Quantity in TradeLot 1 to the Quantity (with the same unit of amount) in
TradeLot 2, based on the CompareOp enum.","inputs":[{"name":"tradeLot1","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"tradeLot2","type":"TradeLot","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"CompareTradeLotToAmount","description":"Compare
the Quantity amount in TradeLot to the given amount (regardless of unit of amount),
based on the CompareOp enum.","inputs":[{"name":"tradeLot","type":"TradeLot","cardinality":"1..1"},{"name":"op","type":"CompareOp","cardinality":"1..1"},{"name":"amount","type":"number","cardinality":"1..1"}],"output":{"name":"result","type":"boolean","cardinality":"1..1"}},{"name":"PriceQuantityTriangulation","description":"Defines
all the scenarios which triangulation can be helpful validation between Prices
and Quantities.","inputs":[{"name":"tradeLots","type":"TradeLot","cardinality":"0..*"}],"output":{"name":"success","type":"boolean","cardinality":"1..1"}}]'
description: Specifies the price and quantity of a trade lot, where the same product
could be traded multiple times with the same counterparty but in different lots
(at a different date, in a different quantity and at a different price). One trade
lot combined with a product definition specifies the entire economics of a trade.
The lifecycle mechanics of each such trade lot (e.g. cashflow payments) is independent
of the other lots.
comments:
- 'Rosetta func: FilterTradeLot — Filter list of TradeLot based on TradeLot->lotIdentifier.'
- 'Rosetta func: AddTradeLot — Add a TradeLot to an existing list of TradeLots.'
- 'Rosetta func: ReplaceTradeLot — Replace TradeLot in with matching TradeLot->lotIdentifier.'
- 'Rosetta func: CompareTradeLot — Compare the Quantity in TradeLot 1 to the Quantity
(with the same unit of amount) in TradeLot 2, based on the CompareOp enum.'
- 'Rosetta func: CompareTradeLotToAmount — Compare the Quantity amount in TradeLot
to the given amount (regardless of unit of amount), based on the CompareOp enum.'
- 'Rosetta func: PriceQuantityTriangulation — Defines all the scenarios which triangulation
can be helpful validation between Prices and Quantities.'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
lotIdentifier:
name: lotIdentifier
description: Specifies one or more identifiers for the lot, if any.
multivalued: true
priceQuantity:
name: priceQuantity
description: 'Specifies the settlement characteristics of a trade lot: price,
quantity, observable (optionally) and the settlement terms. This attribute has
a multiple cardinality to allow to specify the price, quantity and observable
of different legs in a single, composite product (e.g. a Swap).'
attributes:
lotIdentifier:
name: lotIdentifier
description: Specifies one or more identifiers for the lot, if any.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: TradeLot
domain_of:
- ExecutionInstruction
- QuantityChangeInstruction
- TradeLot
range: Identifier
multivalued: true
priceQuantity:
name: priceQuantity
description: 'Specifies the settlement characteristics of a trade lot: price,
quantity, observable (optionally) and the settlement terms. This attribute has
a multiple cardinality to allow to specify the price, quantity and observable
of different legs in a single, composite product (e.g. a Swap).'
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: TradeLot
domain_of:
- ExecutionInstruction
- IndexTransitionInstruction
- PositionBase
- PayoutBase
- TradeLot
range: PriceQuantity
required: true
multivalued: true
inlined: true
inlined_as_list: true