Class: StandardizedSchedule
URI: common_domain_model:StandardizedSchedule
classDiagram
class StandardizedSchedule
click StandardizedSchedule href "../StandardizedSchedule/"
StandardizedSchedule : assetClass
StandardizedSchedule --> "1" StandardizedScheduleAssetClassEnum : assetClass
click StandardizedScheduleAssetClassEnum href "../StandardizedScheduleAssetClassEnum/"
StandardizedSchedule : durationInYears
StandardizedSchedule : notional
StandardizedSchedule : notionalCurrency
StandardizedSchedule : productClass
StandardizedSchedule --> "1" StandardizedScheduleProductClassEnum : productClass
click StandardizedScheduleProductClassEnum href "../StandardizedScheduleProductClassEnum/"
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| assetClass | 1 StandardizedScheduleAssetClassEnum |
direct | |
| productClass | 1 StandardizedScheduleProductClassEnum |
direct | |
| notional | 1 Decimal |
direct | |
| notionalCurrency | 1 string |
direct | |
| durationInYears | 0..1 Decimal |
direct |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'durationInYears': {'required': True}} |
{'durationInYears': {'comments': ['Rosetta: strictly greater than'], 'minimum_value': 0}} |
In Subsets
Comments
- Rosetta condition: PositiveNotional — notional > 0
- Rosetta condition: ValidCurrency — notionalCurrency to-enum ISOCurrencyCodeEnum exists
- Rosetta condition: PositiveDuration — if durationInYears exists then durationInYears > 0
- Rosetta func: BuildStandardizedSchedule — Takes a trade and uses qualification to extract the relevant information to populate the grid that will be used to calculate the gross initial margin.
- Rosetta func: GetGrossInitialMarginFromStandardizedSchedule — Takes the grid information from an specific trade and calculates the gross initial margin.
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| rosetta_functions | [{"name":"BuildStandardizedSchedule","description":"Takes a trade and uses qualification to extract the relevant information to populate the grid that will be used to calculate the gross initial margin.","inputs":[{"name":"trade","type":"Trade","cardinality":"1..1"}],"output":{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}},{"name":"GetGrossInitialMarginFromStandardizedSchedule","description":"Takes the grid information from an specific trade and calculates the gross initial margin.","inputs":[{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}],"output":{"name":"grossInitialMargin","type":"Money","cardinality":"0..1"}}] |
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:StandardizedSchedule |
| native | common_domain_model:StandardizedSchedule |
LinkML Source
Direct
name: StandardizedSchedule
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"BuildStandardizedSchedule","description":"Takes a trade and
uses qualification to extract the relevant information to populate the grid
that will be used to calculate the gross initial margin.","inputs":[{"name":"trade","type":"Trade","cardinality":"1..1"}],"output":{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}},{"name":"GetGrossInitialMarginFromStandardizedSchedule","description":"Takes
the grid information from an specific trade and calculates the gross initial
margin.","inputs":[{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}],"output":{"name":"grossInitialMargin","type":"Money","cardinality":"0..1"}}]'
comments:
- 'Rosetta condition: PositiveNotional — notional > 0'
- 'Rosetta condition: ValidCurrency — notionalCurrency to-enum ISOCurrencyCodeEnum
exists'
- 'Rosetta condition: PositiveDuration — if durationInYears exists then durationInYears
> 0'
- 'Rosetta func: BuildStandardizedSchedule — Takes a trade and uses qualification
to extract the relevant information to populate the grid that will be used to calculate
the gross initial margin.'
- 'Rosetta func: GetGrossInitialMarginFromStandardizedSchedule — Takes the grid information
from an specific trade and calculates the gross initial margin.'
in_subset:
- cdm_margin_schedule
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- assetClass
- productClass
- notional
- notionalCurrency
- durationInYears
rules:
- postconditions:
slot_conditions:
notional:
name: notional
comments:
- 'Rosetta: strictly greater than'
minimum_value: 0
description: Ensure notional is greater than 0
- preconditions:
slot_conditions:
durationInYears:
name: durationInYears
required: true
postconditions:
slot_conditions:
durationInYears:
name: durationInYears
comments:
- 'Rosetta: strictly greater than'
minimum_value: 0
description: Ensure duration is greater than 0.
Induced
name: StandardizedSchedule
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"BuildStandardizedSchedule","description":"Takes a trade and
uses qualification to extract the relevant information to populate the grid
that will be used to calculate the gross initial margin.","inputs":[{"name":"trade","type":"Trade","cardinality":"1..1"}],"output":{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}},{"name":"GetGrossInitialMarginFromStandardizedSchedule","description":"Takes
the grid information from an specific trade and calculates the gross initial
margin.","inputs":[{"name":"standardizedSchedule","type":"StandardizedSchedule","cardinality":"1..1"}],"output":{"name":"grossInitialMargin","type":"Money","cardinality":"0..1"}}]'
comments:
- 'Rosetta condition: PositiveNotional — notional > 0'
- 'Rosetta condition: ValidCurrency — notionalCurrency to-enum ISOCurrencyCodeEnum
exists'
- 'Rosetta condition: PositiveDuration — if durationInYears exists then durationInYears
> 0'
- 'Rosetta func: BuildStandardizedSchedule — Takes a trade and uses qualification
to extract the relevant information to populate the grid that will be used to calculate
the gross initial margin.'
- 'Rosetta func: GetGrossInitialMarginFromStandardizedSchedule — Takes the grid information
from an specific trade and calculates the gross initial margin.'
in_subset:
- cdm_margin_schedule
from_schema: https://w3id.org/lmodel/common-domain-model
attributes:
assetClass:
name: assetClass
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: StandardizedSchedule
domain_of:
- StandardizedSchedule
- StandardizedScheduleTradeInfo
- IndexBase
range: StandardizedScheduleAssetClassEnum
required: true
productClass:
name: productClass
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: StandardizedSchedule
domain_of:
- StandardizedSchedule
- StandardizedScheduleTradeInfo
range: StandardizedScheduleProductClassEnum
required: true
notional:
name: notional
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: StandardizedSchedule
domain_of:
- StandardizedSchedule
range: decimal
required: true
notionalCurrency:
name: notionalCurrency
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: StandardizedSchedule
domain_of:
- StandardizedSchedule
range: string
required: true
durationInYears:
name: durationInYears
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: StandardizedSchedule
domain_of:
- StandardizedSchedule
range: decimal
rules:
- postconditions:
slot_conditions:
notional:
name: notional
comments:
- 'Rosetta: strictly greater than'
minimum_value: 0
description: Ensure notional is greater than 0
- preconditions:
slot_conditions:
durationInYears:
name: durationInYears
required: true
postconditions:
slot_conditions:
durationInYears:
name: durationInYears
comments:
- 'Rosetta: strictly greater than'
minimum_value: 0
description: Ensure duration is greater than 0.