Skip to content

Class: PortfolioState

State-full representation of a Portfolio that describes all the positions held at a given time, in various states which can be either traded, settled, etc., with lineage information to the previous state

URI: common_domain_model:PortfolioState

 classDiagram
    class PortfolioState
    click PortfolioState href "../PortfolioState/"
      PortfolioState : lineage





        PortfolioState --> "1" Lineage : lineage
        click Lineage href "../Lineage/"



      PortfolioState : positions





        PortfolioState --> "*" Position : positions
        click Position href "../Position/"



Slots

Name Cardinality and Range Description Inheritance
positions *
Position
The list of positions, each containing a Quantity and a Product direct
lineage 1
Lineage
Pointer to the previous PortfolioState and new Event(s) leading to the curren... direct

Usages

used by used in type used
Lineage portfolioStateReference range PortfolioState
Exposure tradePortfolio range PortfolioState
Portfolio portfolioState range PortfolioState

In Subsets

Comments

  • Rosetta condition: Initialisation — if lineage -> portfolioStateReference is absent then positions is absent and lineage -> eventReference is absent
  • Rosetta condition: NonTransferable — positions -> product -> NonTransferableProduct exists
  • Rosetta func: EvaluatePortfolioState — Function specification to evaluate a portfolio's aggregation parameters and return a new portfolio state containing aggregated positions.

Identifier and Mapping Information

Annotations

property value
metadata_key True
rosetta_functions [{"name":"EvaluatePortfolioState","description":"Function specification to evaluate a portfolio's aggregation parameters and return a new portfolio state containing aggregated positions.","inputs":[{"name":"portfolio","type":"Portfolio","cardinality":"1..1"}],"output":{"name":"portfolioState","type":"PortfolioState","cardinality":"1..1"},"code_implementation":true}]

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:PortfolioState
native common_domain_model:PortfolioState

LinkML Source

Direct

name: PortfolioState
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"EvaluatePortfolioState","description":"Function specification
      to evaluate a portfolio''s aggregation parameters and return a new portfolio
      state containing aggregated positions.","inputs":[{"name":"portfolio","type":"Portfolio","cardinality":"1..1"}],"output":{"name":"portfolioState","type":"PortfolioState","cardinality":"1..1"},"code_implementation":true}]'
description: State-full representation of a Portfolio that describes all the positions
  held at a given time, in various states which can be either traded, settled, etc.,
  with lineage information to the previous state
comments:
- 'Rosetta condition: Initialisation  if lineage -> portfolioStateReference is absent
  then positions is absent and lineage -> eventReference is absent'
- 'Rosetta condition: NonTransferable  positions -> product -> NonTransferableProduct
  exists'
- 'Rosetta func: EvaluatePortfolioState  Function specification to evaluate a portfolio''s
  aggregation parameters and return a new portfolio state containing aggregated positions.'
in_subset:
- cdm_event_position
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- positions
- lineage

Induced

name: PortfolioState
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"EvaluatePortfolioState","description":"Function specification
      to evaluate a portfolio''s aggregation parameters and return a new portfolio
      state containing aggregated positions.","inputs":[{"name":"portfolio","type":"Portfolio","cardinality":"1..1"}],"output":{"name":"portfolioState","type":"PortfolioState","cardinality":"1..1"},"code_implementation":true}]'
description: State-full representation of a Portfolio that describes all the positions
  held at a given time, in various states which can be either traded, settled, etc.,
  with lineage information to the previous state
comments:
- 'Rosetta condition: Initialisation  if lineage -> portfolioStateReference is absent
  then positions is absent and lineage -> eventReference is absent'
- 'Rosetta condition: NonTransferable  positions -> product -> NonTransferableProduct
  exists'
- 'Rosetta func: EvaluatePortfolioState  Function specification to evaluate a portfolio''s
  aggregation parameters and return a new portfolio state containing aggregated positions.'
in_subset:
- cdm_event_position
from_schema: https://w3id.org/lmodel/common-domain-model
attributes:
  positions:
    name: positions
    description: The list of positions, each containing a Quantity and a Product.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: PortfolioState
    domain_of:
    - PortfolioState
    range: Position
    multivalued: true
    inlined: true
    inlined_as_list: true
  lineage:
    name: lineage
    description: Pointer to the previous PortfolioState and new Event(s) leading to
      the current (new) state. Previous PortfolioState in the Lineage can be Null
      in case this is the start of the chain of Events.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: PortfolioState
    domain_of:
    - PortfolioState
    - WorkflowStep
    range: Lineage
    required: true