Skip to content

Class: VarianceCapFloor

URI: common_domain_model:VarianceCapFloor

 classDiagram
    class VarianceCapFloor
    click VarianceCapFloor href "../VarianceCapFloor/"
      VarianceCapFloor : boundedVariance





        VarianceCapFloor --> "0..1" BoundedVariance : boundedVariance
        click BoundedVariance href "../BoundedVariance/"



      VarianceCapFloor : unadjustedVarianceCap

      VarianceCapFloor : varianceCap

Slots

Name Cardinality and Range Description Inheritance
varianceCap 1
Boolean
If present and true, then variance cap is applicable direct
unadjustedVarianceCap 0..1
Decimal
For use when varianceCap is applicable direct
boundedVariance 0..1
BoundedVariance
Conditions which bound variance direct

Usages

used by used in type used
VarianceReturnTerms varianceCapFloor range VarianceCapFloor

Rules

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'unadjustedVarianceCap': {'required': True}} {'unadjustedVarianceCap': {'comments': ['Rosetta: strictly greater than'], 'minimum_value': 0}}

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'varianceCap': {'equals_string': 'True'}}

In Subsets

Comments

  • Rosetta condition: PositiveUnadjustedVarianceCap — if unadjustedVarianceCap exists then unadjustedVarianceCap > 0
  • Rosetta condition: CapFloorApplicability — if varianceCap = True then unadjustedVarianceCap exists or boundedVariance exists // If CapFloor is applicable at least one cap expression must exist else unadjustedVarianceCap is absent and boundedVariance is absent // If CapFloor is not applicable, then there cannot be any volatility caps

Identifier and Mapping Information

Schema Source

Mappings

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

LinkML Source

Direct

name: VarianceCapFloor
comments:
- 'Rosetta condition: PositiveUnadjustedVarianceCap  if unadjustedVarianceCap exists
  then unadjustedVarianceCap > 0'
- 'Rosetta condition: CapFloorApplicability  if varianceCap = True then unadjustedVarianceCap
  exists or boundedVariance exists // If CapFloor is applicable at least one cap expression
  must exist else unadjustedVarianceCap is absent and boundedVariance is absent //
  If CapFloor is not applicable, then there cannot be any volatility caps'
in_subset:
- cdm_product_asset
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- varianceCap
- unadjustedVarianceCap
- boundedVariance
rules:
- preconditions:
    slot_conditions:
      unadjustedVarianceCap:
        name: unadjustedVarianceCap
        required: true
  postconditions:
    slot_conditions:
      unadjustedVarianceCap:
        name: unadjustedVarianceCap
        comments:
        - 'Rosetta: strictly greater than'
        minimum_value: 0
  description: Unadjusted variance cap must be positive
- preconditions:
    slot_conditions:
      varianceCap:
        name: varianceCap
        equals_string: 'True'
  postconditions:
    any_of:
    - slot_conditions:
        unadjustedVarianceCap:
          name: unadjustedVarianceCap
          required: true
    - slot_conditions:
        boundedVariance:
          name: boundedVariance
          required: true
  description: Caps/floors can and must be specified if varianceCap is set to true.
    If false, barriers cannot be established

Induced

name: VarianceCapFloor
comments:
- 'Rosetta condition: PositiveUnadjustedVarianceCap  if unadjustedVarianceCap exists
  then unadjustedVarianceCap > 0'
- 'Rosetta condition: CapFloorApplicability  if varianceCap = True then unadjustedVarianceCap
  exists or boundedVariance exists // If CapFloor is applicable at least one cap expression
  must exist else unadjustedVarianceCap is absent and boundedVariance is absent //
  If CapFloor is not applicable, then there cannot be any volatility caps'
in_subset:
- cdm_product_asset
from_schema: https://w3id.org/lmodel/common-domain-model
attributes:
  varianceCap:
    name: varianceCap
    description: If present and true, then variance cap is applicable.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: VarianceCapFloor
    domain_of:
    - VarianceCapFloor
    range: boolean
    required: true
  unadjustedVarianceCap:
    name: unadjustedVarianceCap
    description: For use when varianceCap is applicable. Contains the scaling factor
      of the Variance Cap that can differ on a trade-by-trade basis in the European
      market. For example, a Variance Cap of 2.5^2 x Variance Strike Price has an
      unadjustedVarianceCap of 2.5.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: VarianceCapFloor
    domain_of:
    - VarianceCapFloor
    range: decimal
  boundedVariance:
    name: boundedVariance
    description: Conditions which bound variance. The contract specifies one or more
      boundary levels. These levels are expressed as prices for confirmation purposes
      Underlyer price must be equal to or higher than Lower Barrier is known as Up
      Conditional Swap Underlyer price must be equal to or lower than Upper Barrier
      is known as Down Conditional Swap Underlyer price must be equal to or higher
      than Lower Barrier and must be equal to or lower than Upper Barrier is known
      as Barrier Conditional Swap.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: VarianceCapFloor
    domain_of:
    - VarianceCapFloor
    range: BoundedVariance
rules:
- preconditions:
    slot_conditions:
      unadjustedVarianceCap:
        name: unadjustedVarianceCap
        required: true
  postconditions:
    slot_conditions:
      unadjustedVarianceCap:
        name: unadjustedVarianceCap
        comments:
        - 'Rosetta: strictly greater than'
        minimum_value: 0
  description: Unadjusted variance cap must be positive
- preconditions:
    slot_conditions:
      varianceCap:
        name: varianceCap
        equals_string: 'True'
  postconditions:
    any_of:
    - slot_conditions:
        unadjustedVarianceCap:
          name: unadjustedVarianceCap
          required: true
    - slot_conditions:
        boundedVariance:
          name: boundedVariance
          required: true
  description: Caps/floors can and must be specified if varianceCap is set to true.
    If false, barriers cannot be established