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
Inheritance
Section titled “Inheritance”- Schedule
- MeasureBase
- PriceSchedule
- Price
- PriceSchedule
- MeasureBase
| 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
All Of
Section titled “All Of”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’)})} })
None Of
Section titled “None Of”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’ })} })
Usages
Section titled “Usages”Identifier and Mapping Information
Section titled “Identifier and Mapping Information”Schema Source
Section titled “Schema Source”- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
Section titled “Mappings”| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:Price |
| native | common_domain_model:Price |
LinkML Source
Section titled “LinkML Source”Direct
Section titled “Direct”name: Pricedescription: 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-modelis_a: PriceSchedulenone_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: Divideall_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: ABSENTInduced
Section titled “Induced”name: Pricedescription: 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-modelis_a: PriceScheduleattributes: 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: truenone_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: Divideall_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