Skip to content

Class: Price

Specifies a price as a single value to be associated to a financial product. This data type extends PriceSchedule and requires that only the amount value exists.

URI: common_domain_model:Price

 classDiagram
    class Price
    click Price href "../Price/"
      PriceSchedule <|-- Price
        click PriceSchedule href "../PriceSchedule/"
      
      Price : arithmeticOperator
        
          
    
        
        
        Price --> "0..1" ArithmeticOperationEnum : arithmeticOperator
        click ArithmeticOperationEnum href "../ArithmeticOperationEnum/"
    

        
      Price : composite
        
          
    
        
        
        Price --> "0..1" PriceComposite : composite
        click PriceComposite href "../PriceComposite/"
    

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

        
      Price : derivedQuantity
        
          
    
        
        
        Price --> "0..1" NonNegativeQuantitySchedule : derivedQuantity
        click NonNegativeQuantitySchedule href "../NonNegativeQuantitySchedule/"
    

        
      Price : perUnitOf
        
          
    
        
        
        Price --> "0..1" UnitType : perUnitOf
        click UnitType href "../UnitType/"
    

        
      Price : premiumType
        
          
    
        
        
        Price --> "0..1" PremiumTypeEnum : premiumType
        click PremiumTypeEnum href "../PremiumTypeEnum/"
    

        
      Price : priceExpression
        
          
    
        
        
        Price --> "0..1" PriceExpressionEnum : priceExpression
        click PriceExpressionEnum href "../PriceExpressionEnum/"
    

        
      Price : priceSubType
        
          
    
        
        
        Price --> "0..1" PriceSubTypeEnum : priceSubType
        click PriceSubTypeEnum href "../PriceSubTypeEnum/"
    

        
      Price : priceType
        
          
    
        
        
        Price --> "1" PriceTypeEnum : priceType
        click PriceTypeEnum href "../PriceTypeEnum/"
    

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

        
      Price : value
        
      
Name Cardinality and Range Description Inheritance
perUnitOf 0..1
UnitType
Provides an attribute to define the unit of the thing being priced PriceSchedule
priceType 1
PriceTypeEnum
Specifies the price type as an enumeration: interest rate, exchange rate, ass… PriceSchedule
priceSubType 0..1
PriceSubTypeEnum
Allows further classification of the chosen price type PriceSchedule
priceExpression 0..1
PriceExpressionEnum
(Optionally) Specifies whether the price is expressed in absolute or percenta… PriceSchedule
composite 0..1
PriceComposite
(Optionally) Specifies the underlying price components if the price can be ex… PriceSchedule
arithmeticOperator 0..1
ArithmeticOperationEnum
(Optionally) When the price is to be understood as an operator to apply to an… PriceSchedule
premiumType 0..1
PremiumTypeEnum
(Optionally) Additional attribute that can further define any premium to the … PriceSchedule
derivedQuantity 0..1
NonNegativeQuantitySchedule
Specifies the derived quantity associated with the price PriceSchedule
unit 0..1
UnitType
Qualifies the unit by which the amount is measured MeasureBase
value 0..1
Decimal
The initial rate or amount, as the case may be Schedule
datedValue *
DatedValue
The schedule of step date and value pairs Schedule
Expressions & Logic

The class must satisfy all of:

  • AnonymousClassExpression({ ‘description’: (’From Schedule. ValueExists: A schedule may be specified as a single value or ’ ’as a set of date-value pairs. Both attributes may be specified, in which ’ ‘case the single amount number is the initial value.’), ‘any_of’: [AnonymousClassExpression({ ‘slot_conditions’: {‘value’: SlotDefinition({‘name’: ‘value’, ‘value_presence’: PresenceEnum(text=‘PRESENT’)})} }), AnonymousClassExpression({ ‘slot_conditions’: {‘datedValue’: SlotDefinition({‘name’: ‘datedValue’, ‘value_presence’: PresenceEnum(text=‘PRESENT’)})} })] })
  • AnonymousClassExpression({ ‘description’: (’From PriceSchedule. Choice: The price can be specified mutually exclusively ’ ‘as an operator (e.g. a spread or multiplier) or a composite.’), ‘exactly_one_of’: [AnonymousClassExpression({ ‘slot_conditions’: {‘arithmeticOperator’: SlotDefinition({‘name’: ‘arithmeticOperator’, ‘value_presence’: PresenceEnum(text=‘PRESENT’)})} }), AnonymousClassExpression({ ‘slot_conditions’: {‘composite’: SlotDefinition({‘name’: ‘composite’, ‘value_presence’: PresenceEnum(text=‘PRESENT’)})} }), AnonymousClassExpression({ ‘all_of’: [AnonymousClassExpression({ ‘slot_conditions’: {‘arithmeticOperator’: SlotDefinition({‘name’: ‘arithmeticOperator’, ‘value_presence’: PresenceEnum(text=‘ABSENT’)})} }), AnonymousClassExpression({ ‘slot_conditions’: {‘composite’: SlotDefinition({‘name’: ‘composite’, ‘value_presence’: PresenceEnum(text=‘ABSENT’)})} })] })] })
  • AnonymousClassExpression({ ‘description’: (’AmountOnlyExists: The amount must exist when the price represents a single ’ ‘value, and steps must be absent.’), ‘slot_conditions’: {‘value’: SlotDefinition({‘name’: ‘value’, ‘value_presence’: PresenceEnum(text=‘PRESENT’)}), ‘datedValue’: SlotDefinition({‘name’: ‘datedValue’, ‘value_presence’: PresenceEnum(text=‘ABSENT’)})} })

The class must not satisfy any of:

  • AnonymousClassExpression({ ‘description’: (’From PriceSchedule. ArithmeticOperator: Operator must not be subtract or ’ ‘divide.’), ‘slot_conditions’: {‘arithmeticOperator’: SlotDefinition({ ‘name’: ‘arithmeticOperator’, ‘value_presence’: PresenceEnum(text=‘PRESENT’), ‘equals_string’: ‘Subtract’ })} })
  • AnonymousClassExpression({ ‘description’: (’From PriceSchedule. ArithmeticOperator: Operator must not be subtract or ’ ‘divide.’), ‘slot_conditions’: {‘arithmeticOperator’: SlotDefinition({ ‘name’: ‘arithmeticOperator’, ‘value_presence’: PresenceEnum(text=‘PRESENT’), ‘equals_string’: ‘Divide’ })} })
used by used in type used
IdentifiedList price range Price
AdjustmentFactorCalculationTerms rightsSubscriptionPrice range Price
AdjustmentFactorCalculationTerms lastFixingPriceBeforeAdjustment range Price
CreditEvent finalPrice range Price
Merger purchaserSecurityPrice range Price
Merger acquiredSecurityPrice range Price
Reset resetValue range Price
SpinOff parentSecurityPrice range Price
SpinOff childSecurityPrice range Price
Valuation priceComponent range Price
CalculateResetValueInstruction resetValue range Price
ResetInstructionState resetValue range Price
AvailableInventoryRecord interestRate range Price
Observation observedValue range Price
AssetDeliveryProfileBlock priceTimeIntervalQuantity range Price
CalculationScheduleDeliveryPeriods priceTimeIntervalQuantity range Price
CorrelationReturnTerms correlationStrikePrice range Price
FloatingRateSpecification initialRate range Price
InflationRateSpecification initialRate range Price
ReferenceInformation referencePrice range Price
VarianceReturnTerms varianceStrikePrice range Price
VarianceReturnTerms volatilityStrikePrice range Price
VolatilityReturnTerms volatilityStrikePrice range Price
FloatingRateProcessingParameters initialRate range Price
EvergreenProvision finalPeriodFeeAdjustment range Price
OptionStrike strikePrice range Price
Mapping Type Mapped Value
self common_domain_model:Price
native common_domain_model:Price
name: Price
description: Specifies a price as a single value to be associated to a financial product.
This data type extends PriceSchedule and requires that only the amount value exists.
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: PriceSchedule
none_of:
- description: 'From PriceSchedule. ArithmeticOperator: Operator must not be subtract
or divide.'
slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
equals_string: Subtract
- description: 'From PriceSchedule. ArithmeticOperator: Operator must not be subtract
or divide.'
slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
equals_string: Divide
all_of:
- description: 'From Schedule. ValueExists: A schedule may be specified as a single
value or as a set of date-value pairs. Both attributes may be specified, in which
case the single amount number is the initial value.'
any_of:
- slot_conditions:
value:
name: value
value_presence: PRESENT
- slot_conditions:
datedValue:
name: datedValue
value_presence: PRESENT
- description: 'From PriceSchedule. Choice: The price can be specified mutually exclusively
as an operator (e.g. a spread or multiplier) or a composite.'
exactly_one_of:
- slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
- slot_conditions:
composite:
name: composite
value_presence: PRESENT
- all_of:
- slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: ABSENT
- slot_conditions:
composite:
name: composite
value_presence: ABSENT
- description: 'AmountOnlyExists: The amount must exist when the price represents
a single value, and steps must be absent.'
slot_conditions:
value:
name: value
value_presence: PRESENT
datedValue:
name: datedValue
value_presence: ABSENT
name: Price
description: Specifies a price as a single value to be associated to a financial product.
This data type extends PriceSchedule and requires that only the amount value exists.
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: PriceSchedule
attributes:
perUnitOf:
name: perUnitOf
description: Provides an attribute to define the unit of the thing being priced.
For example, {amount, unitOfAmount, PerUnitOfAmount} = [10, EUR, Shares] = (10.00
EUR/SHARE) * (300,000 SHARES) = EUR 3,000,000.00 (Shares cancel out in the calculation).
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: UnitType
priceType:
name: priceType
description: 'Specifies the price type as an enumeration: interest rate, exchange
rate, asset price etc. This attribute is mandatory so that prices can always
be clasiffied according to their type. The price type implies some constraints
on the price''s units.'
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: PriceTypeEnum
required: true
priceSubType:
name: priceSubType
description: Allows further classification of the chosen price type.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: PriceSubTypeEnum
priceExpression:
name: priceExpression
description: (Optionally) Specifies whether the price is expressed in absolute
or percentage terms.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: PriceExpressionEnum
composite:
name: composite
description: '(Optionally) Specifies the underlying price components if the price
can be expressed as a composite: e.g. dirty price = clean price + accrued.'
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
- FxFeature
range: PriceComposite
arithmeticOperator:
name: arithmeticOperator
description: (Optionally) When the price is to be understood as an operator to
apply to an observable, i.e. a spread, multiplier or min/max.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
owner: Price
domain_of:
- PriceComposite
- PriceSchedule
range: ArithmeticOperationEnum
premiumType:
name: premiumType
description: (Optionally) Additional attribute that can further define any premium
to the price.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: PremiumTypeEnum
derivedQuantity:
name: derivedQuantity
description: Specifies the derived quantity associated with the price. For instance
when the price is an asset price expressed in a currency, the primary quantity
is the asset's quantity while the derived quantity is the corresponding monetary
amount in that currency. When the price is an exchange rate, both the primary
quantity and the derived quantity are monetary amounts, in the 2 currencies
of the exchange rate.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_observable_asset
rank: 1000
owner: Price
domain_of:
- PriceSchedule
range: NonNegativeQuantitySchedule
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: Price
domain_of:
- MeasureBase
range: UnitType
value:
name: value
description: The initial rate or amount, as the case may be. An initial rate of
5% would be represented as 0.05.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_math
owner: Price
domain_of:
- DatedValue
- Schedule
- Taxonomy
- TaxonomyClassification
- CodeValue
- AccrualFactor
- AdjustmentFactor
- ClauseLibraryVariableSet
- CSAMinimumTransferAmountVariableSet
- CSAThresholdVariableSet
- DisputeResolution
- OtherEligibleAndPostedSupport
range: decimal
datedValue:
name: datedValue
description: The schedule of step date and value pairs. On each step date the
associated step value becomes effective. A list of steps may be ordered in the
document by ascending step date. An FpML document containing an unordered list
of steps is still regarded as a conformant document.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_math
rank: 1000
owner: Price
domain_of:
- Schedule
range: DatedValue
multivalued: true
none_of:
- description: 'From PriceSchedule. ArithmeticOperator: Operator must not be subtract
or divide.'
slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
equals_string: Subtract
- description: 'From PriceSchedule. ArithmeticOperator: Operator must not be subtract
or divide.'
slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
equals_string: Divide
all_of:
- description: 'From Schedule. ValueExists: A schedule may be specified as a single
value or as a set of date-value pairs. Both attributes may be specified, in which
case the single amount number is the initial value.'
any_of:
- slot_conditions:
value:
name: value
value_presence: PRESENT
- slot_conditions:
datedValue:
name: datedValue
value_presence: PRESENT
- description: 'From PriceSchedule. Choice: The price can be specified mutually exclusively
as an operator (e.g. a spread or multiplier) or a composite.'
exactly_one_of:
- slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: PRESENT
- slot_conditions:
composite:
name: composite
value_presence: PRESENT
- all_of:
- slot_conditions:
arithmeticOperator:
name: arithmeticOperator
value_presence: ABSENT
- slot_conditions:
composite:
name: composite
value_presence: ABSENT
- description: 'AmountOnlyExists: The amount must exist when the price represents
a single value, and steps must be absent.'
slot_conditions:
value:
name: value
value_presence: PRESENT
datedValue:
name: datedValue
value_presence: ABSENT