Skip to content

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

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.