Class: BusinessEvent
A business event represents a life cycle event of a trade. The combination of the state changes results in a qualifiable life cycle event. An example of a Business Event is a PartialTermination which is a defined by a quantity change primitive event.
URI: common_domain_model:BusinessEvent
classDiagram
class BusinessEvent
click BusinessEvent href "../BusinessEvent/"
EventInstruction <|-- BusinessEvent
click EventInstruction href "../EventInstruction/"
BusinessEvent : after
BusinessEvent --> "*" TradeState : after
click TradeState href "../TradeState/"
BusinessEvent : corporateActionIntent
BusinessEvent --> "0..1" CorporateActionTypeEnum : corporateActionIntent
click CorporateActionTypeEnum href "../CorporateActionTypeEnum/"
BusinessEvent : effectiveDate
BusinessEvent : effectiveTime
BusinessEvent --> "0..1" TimeZone : effectiveTime
click TimeZone href "../TimeZone/"
BusinessEvent : eventDate
BusinessEvent : eventQualifier
BusinessEvent : eventTime
BusinessEvent --> "0..1" TimeZone : eventTime
click TimeZone href "../TimeZone/"
BusinessEvent : instruction
BusinessEvent --> "*" Instruction : instruction
click Instruction href "../Instruction/"
BusinessEvent : intent
BusinessEvent --> "0..1" EventIntentEnum : intent
click EventIntentEnum href "../EventIntentEnum/"
BusinessEvent : packageInformation
BusinessEvent --> "0..1" IdentifiedList : packageInformation
click IdentifiedList href "../IdentifiedList/"
Inheritance
- EventInstruction
- BusinessEvent
Class Properties
| Property | Value |
|---|---|
| Tree Root | Yes |
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| eventQualifier | 0..1 string |
The CDM event qualifier, which corresponds to the outcome of the isEvent qual... | direct |
| after | * TradeState |
Specifies the after trade state(s) created | direct |
| intent | 0..1 EventIntentEnum |
The intent attribute is meant to be specified when the event qualification ca... | EventInstruction |
| corporateActionIntent | 0..1 CorporateActionTypeEnum |
The intent of a corporate action on the position | EventInstruction |
| eventDate | 0..1 date |
Specifies the date on which the event is taking place | EventInstruction |
| eventTime | 0..1 TimeZone |
The time and zone of the date in which the event is taking place | EventInstruction |
| effectiveDate | 0..1 date |
The date on which the event contractually takes effect, when different from t... | EventInstruction |
| effectiveTime | 0..1 TimeZone |
The time and zone of the date in which the event contractually takes effect | EventInstruction |
| packageInformation | 0..1 IdentifiedList |
Specifies the package information in case the business event represents sever... | EventInstruction |
| instruction | * Instruction |
Specifies the instructions to create the Business Event | EventInstruction |
Usages
| used by | used in | type | used |
|---|---|---|---|
| WorkflowStep | businessEvent | range | BusinessEvent |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
In Subsets
Comments
- Rosetta condition: EventDate — eventDate exists
- Rosetta func: Create_Return — Defines the process of partially or fully returning a Security Lending Transaction.
- Rosetta func: Qualify_Substitution — Qualification of a collateral substitution event.
- Rosetta func: Create_BusinessEvent — Creates a business event from instructions containing primitive instructions and optionally a trade state.
- Rosetta func: ExtractBeforeEconomicTerms
- Rosetta func: ExtractOpenEconomicTerms
- Rosetta func: ExtractBeforeTrade
- Rosetta func: ExtractAfterTrade
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| metadata_key | True |
| rosetta_functions | [{"name":"Create_Return","description":"Defines the process of partially or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates a business event from instructions containing primitive instructions and optionally a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}] |
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:BusinessEvent |
| native | common_domain_model:BusinessEvent |
| close | fpml_5_10:BusinessEvent, gist:Event |
LinkML Source
Direct
name: BusinessEvent
annotations:
metadata_key:
tag: metadata_key
value: true
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"Create_Return","description":"Defines the process of partially
or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification
of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates
a business event from instructions containing primitive instructions and optionally
a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}]'
description: A business event represents a life cycle event of a trade. The combination
of the state changes results in a qualifiable life cycle event. An example of a
Business Event is a PartialTermination which is a defined by a quantity change primitive
event.
comments:
- 'Rosetta condition: EventDate — eventDate exists'
- 'Rosetta func: Create_Return — Defines the process of partially or fully returning
a Security Lending Transaction.'
- 'Rosetta func: Qualify_Substitution — Qualification of a collateral substitution
event.'
- 'Rosetta func: Create_BusinessEvent — Creates a business event from instructions
containing primitive instructions and optionally a trade state.'
- 'Rosetta func: ExtractBeforeEconomicTerms'
- 'Rosetta func: ExtractOpenEconomicTerms'
- 'Rosetta func: ExtractBeforeTrade'
- 'Rosetta func: ExtractAfterTrade'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent
- gist:Event
is_a: EventInstruction
slots:
- eventQualifier
- after
tree_root: true
rules:
- postconditions:
slot_conditions:
eventDate:
name: eventDate
required: true
description: EventDate
Induced
name: BusinessEvent
annotations:
metadata_key:
tag: metadata_key
value: true
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"Create_Return","description":"Defines the process of partially
or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification
of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates
a business event from instructions containing primitive instructions and optionally
a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}]'
description: A business event represents a life cycle event of a trade. The combination
of the state changes results in a qualifiable life cycle event. An example of a
Business Event is a PartialTermination which is a defined by a quantity change primitive
event.
comments:
- 'Rosetta condition: EventDate — eventDate exists'
- 'Rosetta func: Create_Return — Defines the process of partially or fully returning
a Security Lending Transaction.'
- 'Rosetta func: Qualify_Substitution — Qualification of a collateral substitution
event.'
- 'Rosetta func: Create_BusinessEvent — Creates a business event from instructions
containing primitive instructions and optionally a trade state.'
- 'Rosetta func: ExtractBeforeEconomicTerms'
- 'Rosetta func: ExtractOpenEconomicTerms'
- 'Rosetta func: ExtractBeforeTrade'
- 'Rosetta func: ExtractAfterTrade'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent
- gist:Event
is_a: EventInstruction
attributes:
eventQualifier:
name: eventQualifier
description: The CDM event qualifier, which corresponds to the outcome of the
isEvent qualification logic which qualifies the lifecycle event as a function
of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...).
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent.eventQualifier
rank: 1000
owner: BusinessEvent
domain_of:
- BusinessEvent
range: string
after:
name: after
description: Specifies the after trade state(s) created.
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent.after
rank: 1000
owner: BusinessEvent
domain_of:
- BusinessEvent
- CounterpartyPositionBusinessEvent
range: TradeState
multivalued: true
inlined: true
inlined_as_list: true
intent:
name: intent
description: The intent attribute is meant to be specified when the event qualification
cannot be programmatically inferred from the event features. As a result it
is only associated with those primitives that can give way to such ambiguity,
the quantityChange being one of those. An example of such is a reduction in
the trade notional, which could be interpreted as either a trade correction
(unless a maximum period of time post-event is specified as part of the qualification),
a partial termination or a portfolio rebalancing in the case of an equity swap.
On the other hand, an event such as the exercise is not expected to have an
associated intent as there should not be ambiguity.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- CounterpartyPositionBusinessEvent
- EventInstruction
range: EventIntentEnum
required: false
corporateActionIntent:
name: corporateActionIntent
description: The intent of a corporate action on the position.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- CounterpartyPositionBusinessEvent
- EventInstruction
range: CorporateActionTypeEnum
eventDate:
name: eventDate
description: Specifies the date on which the event is taking place. This date
is equal to the trade date in the case of a simple execution. However it can
be different from the trade date, for example in the case of a partial termination.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- CounterpartyPositionBusinessEvent
- EventInstruction
range: date
eventTime:
name: eventTime
description: The time and zone of the date in which the event is taking place.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- EventInstruction
range: TimeZone
effectiveDate:
name: effectiveDate
description: The date on which the event contractually takes effect, when different
from the event date.
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:CodeValue.effectiveDate
rank: 1000
owner: BusinessEvent
domain_of:
- CodeValue
- CounterpartyPositionBusinessEvent
- IndexTransitionInstruction
- StockSplitInstruction
- ClosedState
- EventInstruction
- LegalAgreementBase
- MinimumTransferAmountAmendment
- TerminationCurrencyAmendment
- PriceQuantity
- FallbackRateParameters
- CalculationPeriodDates
- EconomicTerms
- CancelableProvision
range: date
effectiveTime:
name: effectiveTime
description: The time and zone of the date in which the event contractually takes
effect.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- EventInstruction
- EconomicTerms
range: TimeZone
packageInformation:
name: packageInformation
description: Specifies the package information in case the business event represents
several trades executed as a package (hence this attribute is optional). The
package information is only instantiated once at the business event level to
preserve referential integrity, whereas individual trades make reference to
it to identify that they are part of a package.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- CounterpartyPositionBusinessEvent
- EventInstruction
range: IdentifiedList
instruction:
name: instruction
description: Specifies the instructions to create the Business Event.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: BusinessEvent
domain_of:
- EventInstruction
range: Instruction
multivalued: true
inlined: true
inlined_as_list: true
tree_root: true
rules:
- postconditions:
slot_conditions:
eventDate:
name: eventDate
required: true
description: EventDate