Skip to content

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

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

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.