Skip to content

Class: QuantitySchedule

Specifies a quantity schedule to be associated to a financial product to represent a trade amount. This data type extends MeasureSchedule with several unit or multiplier attributes that are used to define financial quantities. This data type is generically based on a schedule and can also be used to represent a quantity as a single value.

URI: common_domain_model:QuantitySchedule

 classDiagram
    class QuantitySchedule
    click QuantitySchedule href "../QuantitySchedule/"
      MeasureSchedule <|-- QuantitySchedule
        click MeasureSchedule href "../MeasureSchedule/"


      QuantitySchedule <|-- Quantity
        click Quantity href "../Quantity/"
      QuantitySchedule <|-- NonNegativeQuantitySchedule
        click NonNegativeQuantitySchedule href "../NonNegativeQuantitySchedule/"


      QuantitySchedule : datedValue





        QuantitySchedule --> "*" DatedValue : datedValue
        click DatedValue href "../DatedValue/"



      QuantitySchedule : frequency





        QuantitySchedule --> "0..1" Frequency : frequency
        click Frequency href "../Frequency/"



      QuantitySchedule : multiplier





        QuantitySchedule --> "0..1" Measure : multiplier
        click Measure href "../Measure/"



      QuantitySchedule : unit





        QuantitySchedule --> "0..1" UnitType : unit
        click UnitType href "../UnitType/"



      QuantitySchedule : value

Inheritance

Slots

Name Cardinality and Range Description Inheritance
multiplier 0..1
Measure
Defines an optional number that the quantity should be multiplied by to deriv... direct
frequency 0..1
Frequency
Defines the frequency to be used when defining a quantity direct
datedValue *
DatedValue
A schedule of step date and value pairs MeasureSchedule
value 0..1
Decimal
Specifies the value of the measure as a number MeasureBase
unit 0..1
UnitType
Qualifies the unit by which the amount is measured MeasureBase

Rules

Rule Applied Preconditions Postconditions Elseconditions

In Subsets

Comments

  • Rosetta condition: Quantity_multiplier — if multiplier exists then multiplier -> value >= 0.0
  • Rosetta condition: UnitOfAmountExists — unit exists
  • Rosetta func: FilterQuantityByCurrency — Filter list of quantities based on unit type.
  • Rosetta func: FilterQuantityByCurrencyExists — Filter list of quantities based on unit type.
  • Rosetta func: FilterQuantityByFinancialUnit — Filter list of quantities based on unit type.

Identifier and Mapping Information

Annotations

property value
rosetta_functions [{"name":"FilterQuantityByCurrency","description":"Filter list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0.."},{"name":"currency","type":"string","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0.."}},{"name":"FilterQuantityByCurrencyExists","description":"Filter list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0.."}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0.."}},{"name":"FilterQuantityByFinancialUnit","description":"Filter list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0.."},{"name":"financialUnit","type":"FinancialUnitEnum","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0.."}}]

Schema Source

Mappings

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

LinkML Source

Direct

name: QuantitySchedule
annotations:
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"FilterQuantityByCurrency","description":"Filter list of quantities
      based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"},{"name":"currency","type":"string","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}},{"name":"FilterQuantityByCurrencyExists","description":"Filter
      list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}},{"name":"FilterQuantityByFinancialUnit","description":"Filter
      list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"},{"name":"financialUnit","type":"FinancialUnitEnum","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}}]'
description: Specifies a quantity schedule to be associated to a financial product
  to represent a trade amount. This data type extends MeasureSchedule with several
  unit or multiplier attributes that are used to define financial quantities. This
  data type is generically based on a schedule and can also be used to represent a
  quantity as a single value.
comments:
- 'Rosetta condition: Quantity_multiplier  if multiplier exists then multiplier ->
  value >= 0.0'
- 'Rosetta condition: UnitOfAmountExists  unit exists'
- 'Rosetta func: FilterQuantityByCurrency  Filter list of quantities based on unit
  type.'
- 'Rosetta func: FilterQuantityByCurrencyExists  Filter list of quantities based
  on unit type.'
- 'Rosetta func: FilterQuantityByFinancialUnit  Filter list of quantities based on
  unit type.'
in_subset:
- cdm_base_math
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: MeasureSchedule
slots:
- multiplier
- frequency
rules:
- postconditions:
    slot_conditions:
      unit:
        name: unit
        required: true
  description: Requires that a unit of amount must be specified for any quantity.

Induced

name: QuantitySchedule
annotations:
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"FilterQuantityByCurrency","description":"Filter list of quantities
      based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"},{"name":"currency","type":"string","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}},{"name":"FilterQuantityByCurrencyExists","description":"Filter
      list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}},{"name":"FilterQuantityByFinancialUnit","description":"Filter
      list of quantities based on unit type.","inputs":[{"name":"quantities","type":"QuantitySchedule","cardinality":"0..*"},{"name":"financialUnit","type":"FinancialUnitEnum","cardinality":"1..1"}],"output":{"name":"filteredQuantities","type":"QuantitySchedule","cardinality":"0..*"}}]'
description: Specifies a quantity schedule to be associated to a financial product
  to represent a trade amount. This data type extends MeasureSchedule with several
  unit or multiplier attributes that are used to define financial quantities. This
  data type is generically based on a schedule and can also be used to represent a
  quantity as a single value.
comments:
- 'Rosetta condition: Quantity_multiplier  if multiplier exists then multiplier ->
  value >= 0.0'
- 'Rosetta condition: UnitOfAmountExists  unit exists'
- 'Rosetta func: FilterQuantityByCurrency  Filter list of quantities based on unit
  type.'
- 'Rosetta func: FilterQuantityByCurrencyExists  Filter list of quantities based
  on unit type.'
- 'Rosetta func: FilterQuantityByFinancialUnit  Filter list of quantities based on
  unit type.'
in_subset:
- cdm_base_math
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: MeasureSchedule
attributes:
  multiplier:
    name: multiplier
    description: Defines an optional number that the quantity should be multiplied
      by to derive a total quantity. This number is associated to a unit. For example
      in the case of the Coal (API2) CIF ARA (ARGUS-McCloskey) Futures Contract on
      the CME, where the unit would be contracts, the multiplier value would 1,000
      and the mulitiplier unit would be 1,000 MT (Metric Tons).
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: QuantitySchedule
    domain_of:
    - QuantitySchedule
    - FloatingRateProcessingParameters
    range: Measure
  frequency:
    name: frequency
    description: Defines the frequency to be used when defining a quantity. For example
      a quantity may be specified as a number of barrels of oil per day, which needs
      multiplying by the number of days in the relevant period to get the total quantity
      as a number of barrels.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: QuantitySchedule
    domain_of:
    - QuantitySchedule
    - CSAValuationDate
    range: Frequency
  datedValue:
    name: datedValue
    description: A schedule of step date and value pairs. On each step date the associated
      step value becomes effective. The step dates are used to order the steps by
      ascending order. This attribute is optional so the data type may be used to
      define a schedule with a single value.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: QuantitySchedule
    domain_of:
    - MeasureSchedule
    - Schedule
    range: DatedValue
    multivalued: true
    inlined: true
    inlined_as_list: true
  value:
    name: value
    description: Specifies the value of the measure as a number. Optional because
      in a measure vector or schedule, this single value may be omitted.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: QuantitySchedule
    domain_of:
    - MeasureBase
    - Schedule
    - DatedValue
    - Taxonomy
    - TaxonomyClassification
    - CodeValue
    - AdjustmentFactor
    - AccrualFactor
    - DisputeResolution
    - OtherEligibleAndPostedSupport
    - CSAThresholdVariableSet
    - CSAMinimumTransferAmountVariableSet
    - MasterAgreementVariableSet
    range: decimal
  unit:
    name: unit
    description: Qualifies the unit by which the amount is measured. Optional because
      a measure may be unit-less (e.g. when representing a ratio between amounts in
      the same unit).
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: QuantitySchedule
    domain_of:
    - MeasureBase
    - Qty
    - Term
    range: UnitType
rules:
- postconditions:
    slot_conditions:
      unit:
        name: unit
        required: true
  description: Requires that a unit of amount must be specified for any quantity.