Class: PositionBase
Base class to describe a Position, which could be a group of products (e.g. trade portfolio) or a group of assets (e.g. collateral portfolio).
URI: common_domain_model:PositionBase
classDiagram
class PositionBase
click PositionBase href "../PositionBase/"
PositionBase <|-- CollateralPosition
click CollateralPosition href "../CollateralPosition/"
PositionBase <|-- Position
click Position href "../Position/"
PositionBase : asset
PositionBase --> "0..1" Asset : asset
click Asset href "../Asset/"
PositionBase : cashBalance
PositionBase --> "0..1" Money : cashBalance
click Money href "../Money/"
PositionBase : priceQuantity
PositionBase --> "1..*" PriceQuantity : priceQuantity
click PriceQuantity href "../PriceQuantity/"
PositionBase : product
PositionBase --> "0..1" Product : product
click Product href "../Product/"
PositionBase : tradeReference
PositionBase --> "0..1" TradeState : tradeReference
click TradeState href "../TradeState/"
Inheritance
- PositionBase
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| priceQuantity | 1..* PriceQuantity |
Position with many price quantities | direct |
| product | 0..1 Product |
The product underlying the position | direct |
| asset | 0..1 Asset or Cash or Commodity or DigitalAsset or Instrument |
The asset that underlies the position | direct |
| cashBalance | 0..1 Money |
The aggregate cost of proceeds | direct |
| tradeReference | 0..1 TradeState |
Reference to the Contract, in case product is contractual and the contract ha... | direct |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
In Subsets
Comments
- Rosetta condition: ProductOrAsset — required choice product, asset
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:PositionBase |
| native | common_domain_model:PositionBase |
LinkML Source
Direct
name: PositionBase
description: Base class to describe a Position, which could be a group of products
(e.g. trade portfolio) or a group of assets (e.g. collateral portfolio).
comments:
- 'Rosetta condition: ProductOrAsset — required choice product, asset'
in_subset:
- cdm_event_position
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- priceQuantity
- product
- asset
- cashBalance
- tradeReference
slot_usage:
priceQuantity:
name: priceQuantity
description: Position with many price quantities.
product:
name: product
description: The product underlying the position.
range: Product
required: false
tradeReference:
name: tradeReference
description: Reference to the Contract, in case product is contractual and the
contract has been formed.
range: TradeState
multivalued: false
rules:
- postconditions:
exactly_one_of:
- slot_conditions:
product:
name: product
required: true
- slot_conditions:
asset:
name: asset
required: true
description: A Position must either refer to a grouping by product or a grouping
by asset.
Induced
name: PositionBase
description: Base class to describe a Position, which could be a group of products
(e.g. trade portfolio) or a group of assets (e.g. collateral portfolio).
comments:
- 'Rosetta condition: ProductOrAsset — required choice product, asset'
in_subset:
- cdm_event_position
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
priceQuantity:
name: priceQuantity
description: Position with many price quantities.
product:
name: product
description: The product underlying the position.
range: Product
required: false
tradeReference:
name: tradeReference
description: Reference to the Contract, in case product is contractual and the
contract has been formed.
range: TradeState
multivalued: false
attributes:
priceQuantity:
name: priceQuantity
description: Position with many price quantities.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: PositionBase
domain_of:
- ExecutionInstruction
- IndexTransitionInstruction
- PositionBase
- PayoutBase
- TradeLot
range: PriceQuantity
required: true
multivalued: true
inlined: true
inlined_as_list: true
product:
name: product
description: The product underlying the position.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: PositionBase
domain_of:
- ExecutionInstruction
- TermsChangeInstruction
- PositionBase
- AggregationParameters
- ExcludedProducts
- TradableProduct
range: Product
required: false
asset:
name: asset
description: The asset that underlies the position.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: PositionBase
domain_of:
- PositionBase
- AssetFlowBase
range: Asset
any_of:
- range: Cash
- range: Commodity
- range: DigitalAsset
- range: Instrument
cashBalance:
name: cashBalance
description: The aggregate cost of proceeds.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: PositionBase
domain_of:
- PositionBase
range: Money
tradeReference:
name: tradeReference
annotations:
metadata_reference:
tag: metadata_reference
value: true
description: Reference to the Contract, in case product is contractual and the
contract has been formed.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: PositionBase
domain_of:
- Lineage
- CounterpartyPosition
- PositionBase
- AggregationParameters
range: TradeState
multivalued: false
inlined: true
inlined_as_list: true
rules:
- postconditions:
exactly_one_of:
- slot_conditions:
product:
name: product
required: true
- slot_conditions:
asset:
name: asset
required: true
description: A Position must either refer to a grouping by product or a grouping
by asset.