Skip to content

Class: PriceQuantity

Defines a settlement as an exchange between two parties of a specified quantity of an asset (the quantity) against a specified quantity of another asset (the price). The settlement is optional and can be either cash or physical. The quantity can additionally be specified in terms of one or more currency amounts. In the case of non-cash products, the settlement of the price/quantity would not be specified here and instead would be delegated to the product mechanics, as parameterised by the price/quantity values.

URI: common_domain_model:PriceQuantity

 classDiagram
    class PriceQuantity
    click PriceQuantity href "../PriceQuantity/"
      PriceQuantity : effectiveDate





        PriceQuantity --> "0..1" AdjustableOrRelativeDate : effectiveDate
        click AdjustableOrRelativeDate href "../AdjustableOrRelativeDate/"



      PriceQuantity : observable





        PriceQuantity --> "0..1" Observable : observable
        click Observable href "../Observable/"



      PriceQuantity : price





        PriceQuantity --> "*" PriceSchedule : price
        click PriceSchedule href "../PriceSchedule/"



      PriceQuantity : quantity





        PriceQuantity --> "*" NonNegativeQuantitySchedule : quantity
        click NonNegativeQuantitySchedule href "../NonNegativeQuantitySchedule/"



Slots

Name Cardinality and Range Description Inheritance
price *
PriceSchedule
Specifies a price to be used for trade amounts and other purposes direct
quantity *
NonNegativeQuantitySchedule
Specifies a quantity to be associated with an event, for example a trade amou... direct
observable 0..1
Observable or 
Asset or 
Basket or 
Index
Specifies the object to be observed for a price, it could be an asset or an i... direct
effectiveDate 0..1
AdjustableOrRelativeDate
Specifies the date at which the price and quantity become effective direct

Usages

used by used in type used
ExecutionInstruction priceQuantity range PriceQuantity
QuantityChangeInstruction change range PriceQuantity
IndexTransitionInstruction priceQuantity range PriceQuantity
CollateralPosition priceQuantity range PriceQuantity
PositionBase priceQuantity range PriceQuantity
Position priceQuantity range PriceQuantity
TradeLot priceQuantity range PriceQuantity

In Subsets

Comments

  • Rosetta condition: NonCurrencyQuantities — (quantity count - quantity -> unit -> currency count) <= 1 or (observable -> Asset -> Commodity exists and quantity -> unit -> capacityUnit exists and (quantity count - quantity -> unit -> currency count) <= 2)
  • Rosetta condition: ArithmeticOperator — if observable -> Index -> InterestRateIndex exists and price exists then price -> arithmeticOperator exists
  • Rosetta condition: InterestRateObservable — InterestRateObservableCondition
  • Rosetta func: InterestRateObservableCondition — Implementation for PriceQuantity.InterestRateObservable condition.

Identifier and Mapping Information

Annotations

property value
metadata_key True
rosetta_functions [{"name":"InterestRateObservableCondition","description":"Implementation for PriceQuantity.InterestRateObservable condition.","inputs":[{"name":"pq","type":"PriceQuantity","cardinality":"1..1"}],"output":{"name":"valid","type":"boolean","cardinality":"0..1"}}]

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:PriceQuantity
native common_domain_model:PriceQuantity

LinkML Source

Direct

name: PriceQuantity
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"InterestRateObservableCondition","description":"Implementation
      for PriceQuantity.InterestRateObservable condition.","inputs":[{"name":"pq","type":"PriceQuantity","cardinality":"1..1"}],"output":{"name":"valid","type":"boolean","cardinality":"0..1"}}]'
description: Defines a settlement as an exchange between two parties of a specified
  quantity of an asset (the quantity) against a specified quantity of another asset
  (the price). The settlement is optional and can be either cash or physical. The
  quantity can additionally be specified in terms of one or more currency amounts.
  In the case of non-cash products, the settlement of the price/quantity would not
  be specified here and instead would be delegated to the product mechanics, as parameterised
  by the price/quantity values.
comments:
- 'Rosetta condition: NonCurrencyQuantities  (quantity count - quantity -> unit ->
  currency count) <= 1 or (observable -> Asset -> Commodity exists and quantity ->
  unit -> capacityUnit exists and (quantity count - quantity -> unit -> currency count)
  <= 2)'
- 'Rosetta condition: ArithmeticOperator  if observable -> Index -> InterestRateIndex
  exists and price exists then price -> arithmeticOperator exists'
- 'Rosetta condition: InterestRateObservable  InterestRateObservableCondition'
- 'Rosetta func: InterestRateObservableCondition  Implementation for PriceQuantity.InterestRateObservable
  condition.'
in_subset:
- cdm_observable_asset
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- price
- quantity
- observable
- effectiveDate
slot_usage:
  price:
    name: price
    description: Specifies a price to be used for trade amounts and other purposes.
    range: PriceSchedule
    multivalued: true
  quantity:
    name: quantity
    description: Specifies a quantity to be associated with an event, for example
      a trade amount.
    range: NonNegativeQuantitySchedule
    multivalued: true
  effectiveDate:
    name: effectiveDate
    description: Specifies the date at which the price and quantity become effective.
      This day may be subject to adjustment in accordance with a business day convention,
      or could be specified as relative to a trade date, for instance. Optional cardinality,
      as the effective date is usually specified in the product definition, so it
      may only need to be specified as part of the PriceQuantity in an increase/decrease
      scenario for an existing trade.
    range: AdjustableOrRelativeDate

Induced

name: PriceQuantity
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"InterestRateObservableCondition","description":"Implementation
      for PriceQuantity.InterestRateObservable condition.","inputs":[{"name":"pq","type":"PriceQuantity","cardinality":"1..1"}],"output":{"name":"valid","type":"boolean","cardinality":"0..1"}}]'
description: Defines a settlement as an exchange between two parties of a specified
  quantity of an asset (the quantity) against a specified quantity of another asset
  (the price). The settlement is optional and can be either cash or physical. The
  quantity can additionally be specified in terms of one or more currency amounts.
  In the case of non-cash products, the settlement of the price/quantity would not
  be specified here and instead would be delegated to the product mechanics, as parameterised
  by the price/quantity values.
comments:
- 'Rosetta condition: NonCurrencyQuantities  (quantity count - quantity -> unit ->
  currency count) <= 1 or (observable -> Asset -> Commodity exists and quantity ->
  unit -> capacityUnit exists and (quantity count - quantity -> unit -> currency count)
  <= 2)'
- 'Rosetta condition: ArithmeticOperator  if observable -> Index -> InterestRateIndex
  exists and price exists then price -> arithmeticOperator exists'
- 'Rosetta condition: InterestRateObservable  InterestRateObservableCondition'
- 'Rosetta func: InterestRateObservableCondition  Implementation for PriceQuantity.InterestRateObservable
  condition.'
in_subset:
- cdm_observable_asset
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
  price:
    name: price
    description: Specifies a price to be used for trade amounts and other purposes.
    range: PriceSchedule
    multivalued: true
  quantity:
    name: quantity
    description: Specifies a quantity to be associated with an event, for example
      a trade amount.
    range: NonNegativeQuantitySchedule
    multivalued: true
  effectiveDate:
    name: effectiveDate
    description: Specifies the date at which the price and quantity become effective.
      This day may be subject to adjustment in accordance with a business day convention,
      or could be specified as relative to a trade date, for instance. Optional cardinality,
      as the effective date is usually specified in the product definition, so it
      may only need to be specified as part of the PriceQuantity in an increase/decrease
      scenario for an existing trade.
    range: AdjustableOrRelativeDate
attributes:
  price:
    name: price
    description: Specifies a price to be used for trade amounts and other purposes.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: PriceQuantity
    domain_of:
    - IdentifiedList
    - PriceQuantity
    - RateSchedule
    - FixedPrice
    range: PriceSchedule
    multivalued: true
  quantity:
    name: quantity
    description: Specifies a quantity to be associated with an event, for example
      a trade amount.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CalculateTransferInstruction.quantity
    rank: 1000
    owner: PriceQuantity
    domain_of:
    - CalculateTransferInstruction
    - ReturnInstruction
    - AvailableInventoryRecord
    - PriceQuantity
    - BasketConstituent
    - FutureValueAmount
    - AssetFlowBase
    - PortfolioReturnTerms
    range: NonNegativeQuantitySchedule
    multivalued: true
  observable:
    name: observable
    description: Specifies the object to be observed for a price, it could be an asset
      or an index. The cardinality is optional as some quantity / price cases have
      no observable (e.g. a fixed rate in a given currency).
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: PriceQuantity
    domain_of:
    - PriceQuantity
    - ObservationIdentifier
    range: Observable
    any_of:
    - range: Asset
    - range: Basket
    - range: Index
  effectiveDate:
    name: effectiveDate
    description: Specifies the date at which the price and quantity become effective.
      This day may be subject to adjustment in accordance with a business day convention,
      or could be specified as relative to a trade date, for instance. Optional cardinality,
      as the effective date is usually specified in the product definition, so it
      may only need to be specified as part of the PriceQuantity in an increase/decrease
      scenario for an existing trade.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CodeValue.effectiveDate
    rank: 1000
    owner: PriceQuantity
    domain_of:
    - CodeValue
    - CounterpartyPositionBusinessEvent
    - IndexTransitionInstruction
    - StockSplitInstruction
    - ClosedState
    - EventInstruction
    - LegalAgreementBase
    - MinimumTransferAmountAmendment
    - TerminationCurrencyAmendment
    - PriceQuantity
    - FallbackRateParameters
    - CalculationPeriodDates
    - EconomicTerms
    - CancelableProvision
    range: AdjustableOrRelativeDate