Skip to content

Class: ResolvablePriceQuantity

Generic class to specify the quantity for different payout legs in a contractual product, when that quantity can vary across payout legs or across time. A resolvable quantity can always be resolved into a single quantity from the quantity notation which has a corresponding asset identifier. In addition to the base case, where quantity is directly specified as a number as part of the quantity notation, the other use cases are: (i) quantity based on some pre-defined schedule (eg amortising notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency notional), or quantity set as reference to another quantity (eg equity notional as no. securities x price).

URI: common_domain_model:ResolvablePriceQuantity

 classDiagram
    class ResolvablePriceQuantity
    click ResolvablePriceQuantity href "../ResolvablePriceQuantity/"
      ResolvablePriceQuantity : futureValueNotional





        ResolvablePriceQuantity --> "0..1" FutureValueAmount : futureValueNotional
        click FutureValueAmount href "../FutureValueAmount/"



      ResolvablePriceQuantity : priceSchedule





        ResolvablePriceQuantity --> "*" PriceSchedule : priceSchedule
        click PriceSchedule href "../PriceSchedule/"



      ResolvablePriceQuantity : quantityMultiplier





        ResolvablePriceQuantity --> "0..1" QuantityMultiplier : quantityMultiplier
        click QuantityMultiplier href "../QuantityMultiplier/"



      ResolvablePriceQuantity : quantityReference





        ResolvablePriceQuantity --> "0..1" ResolvablePriceQuantity : quantityReference
        click ResolvablePriceQuantity href "../ResolvablePriceQuantity/"



      ResolvablePriceQuantity : quantitySchedule





        ResolvablePriceQuantity --> "0..1" NonNegativeQuantitySchedule : quantitySchedule
        click NonNegativeQuantitySchedule href "../NonNegativeQuantitySchedule/"



      ResolvablePriceQuantity : reset

      ResolvablePriceQuantity : resolvedQuantity





        ResolvablePriceQuantity --> "0..1" Quantity : resolvedQuantity
        click Quantity href "../Quantity/"



Slots

Name Cardinality and Range Description Inheritance
resolvedQuantity 0..1
Quantity
A product's quantity as a single, non-negative amount direct
quantitySchedule 0..1
NonNegativeQuantitySchedule
A payout's quantity specified as a schedule, which may also contain a single ... direct
quantityReference 0..1
ResolvablePriceQuantity
Reference quantity when resolvable quantity is defined as relative to another... direct
quantityMultiplier 0..1
QuantityMultiplier
Quantity multiplier is specified on top of a reference quantity and is used a... direct
reset 0..1
Boolean
Whether the quantity is resettable direct
futureValueNotional 0..1
FutureValueAmount
The future value notional is specific to BRL CDI swaps, and is specified alon... direct
priceSchedule *
PriceSchedule
A payout's price specified as a schedule, which may also contain a single val... direct

Usages

used by used in type used
CommodityPayout priceQuantity range ResolvablePriceQuantity
CreditDefaultPayout priceQuantity range ResolvablePriceQuantity
InterestRatePayout priceQuantity range ResolvablePriceQuantity
ResolvablePriceQuantity quantityReference range ResolvablePriceQuantity
PayoutBase priceQuantity range ResolvablePriceQuantity
OptionPayout priceQuantity range ResolvablePriceQuantity
PerformancePayout priceQuantity range ResolvablePriceQuantity
SettlementPayout priceQuantity range ResolvablePriceQuantity
FixedPricePayout priceQuantity range ResolvablePriceQuantity
AssetPayout priceQuantity range ResolvablePriceQuantity

In Subsets

Comments

  • Rosetta condition: QuantityMultiplier — if quantityMultiplier exists then quantityReference -> reference exists

Identifier and Mapping Information

Annotations

property value
metadata_key True

Schema Source

Mappings

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

LinkML Source

Direct

name: ResolvablePriceQuantity
annotations:
  metadata_key:
    tag: metadata_key
    value: true
description: 'Generic class to specify the quantity for different payout legs in a
  contractual product, when that quantity can vary across payout legs or across time.
  A resolvable quantity can always be resolved into a single quantity from the quantity
  notation which has a corresponding asset identifier. In addition to the base case,
  where quantity is directly specified as a number as part of the quantity notation,
  the other use cases are: (i) quantity based on some pre-defined schedule (eg amortising
  notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency
  notional), or quantity set as reference to another quantity (eg equity notional
  as no. securities x price).'
comments:
- 'Rosetta condition: QuantityMultiplier  if quantityMultiplier exists then quantityReference
  -> reference exists'
in_subset:
- cdm_product_common_settlement
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- resolvedQuantity
- quantitySchedule
- quantityReference
- quantityMultiplier
- reset
- futureValueNotional
- priceSchedule
slot_usage:
  reset:
    name: reset
    description: Whether the quantity is resettable
    range: boolean

Induced

name: ResolvablePriceQuantity
annotations:
  metadata_key:
    tag: metadata_key
    value: true
description: 'Generic class to specify the quantity for different payout legs in a
  contractual product, when that quantity can vary across payout legs or across time.
  A resolvable quantity can always be resolved into a single quantity from the quantity
  notation which has a corresponding asset identifier. In addition to the base case,
  where quantity is directly specified as a number as part of the quantity notation,
  the other use cases are: (i) quantity based on some pre-defined schedule (eg amortising
  notional), (ii) quantity based on some pre-defined events (eg resetting cross-currency
  notional), or quantity set as reference to another quantity (eg equity notional
  as no. securities x price).'
comments:
- 'Rosetta condition: QuantityMultiplier  if quantityMultiplier exists then quantityReference
  -> reference exists'
in_subset:
- cdm_product_common_settlement
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
  reset:
    name: reset
    description: Whether the quantity is resettable
    range: boolean
attributes:
  resolvedQuantity:
    name: resolvedQuantity
    description: A product's quantity as a single, non-negative amount.  When specified
      as part of a product definition, this quantity attribute would not be set.  Instead
      it is specified on the quantity notation along with an asset identifier matching
      this payout's asset identifier.  This allows the quantity to be resolved for
      a payout leg, which can then be specified here for convenience during data processing.  There
      needs to be at least one resolvable quantity across payout legs of a product
      to define an anchor that other payout quantities can refer to.  This attribute
      is ignored when mapping existing FpML messages.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: Quantity
  quantitySchedule:
    name: quantitySchedule
    description: 'A payout''s quantity specified as a schedule, which may also contain
      a single value if that quantity is constant. There can only be a single quantity
      schedule applicable to a payout: e.g. the notional for an interest rate leg.
      The quantity must be specified outside of the payout in a PriceQuantity object
      and only referenced inside the payout using an address.'
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: NonNegativeQuantitySchedule
  quantityReference:
    name: quantityReference
    annotations:
      metadata_reference:
        tag: metadata_reference
        value: true
    description: Reference quantity when resolvable quantity is defined as relative
      to another (resolvable) quantity. A resolvable quantity needs to contain either
      an absolute quantity or a reference to another (resolvable) quantity. This requirement
      is captured by a choice rule on the class.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: ResolvablePriceQuantity
  quantityMultiplier:
    name: quantityMultiplier
    description: Quantity multiplier is specified on top of a reference quantity and
      is used as a multiplying factor when resolving the quantity. A quantity multiplier
      can only exist when the resolvable quantity specifies a reference quantity.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: QuantityMultiplier
  reset:
    name: reset
    description: Whether the quantity is resettable
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - PrimitiveInstruction
    - ResolvablePriceQuantity
    range: boolean
  futureValueNotional:
    name: futureValueNotional
    description: 'The future value notional is specific to BRL CDI swaps, and is specified
      alongside the notional amount. The value is calculated as follows: Future Value
      Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction).
      The currency should always match that expressed in the notional schedule. The
      value date should match the adjusted termination date.'
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: FutureValueAmount
  priceSchedule:
    name: priceSchedule
    description: 'A payout''s price specified as a schedule, which may also contain
      a single value if that price is constant. There may be multiple prices specified
      for a single payout: e.g. a floating interest rate leg may specify a spread,
      a cap and/or floor and a multiplier. The price must be specified outside of
      the payout in a PriceQuantity object and only referenced inside the payout using
      an address.'
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: ResolvablePriceQuantity
    domain_of:
    - ResolvablePriceQuantity
    range: PriceSchedule
    multivalued: true
    inlined: true
    inlined_as_list: true