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
- from schema: https://w3id.org/lmodel/common-domain-model
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