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