Skip to content

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

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