Class InitialMarginCalculation.InitialMarginCalculationImpl

java.lang.Object
cdm.product.template.InitialMarginCalculation.InitialMarginCalculationImpl
All Implemented Interfaces:
InitialMarginCalculation, com.rosetta.model.lib.RosettaModelObject
Enclosing interface:
InitialMarginCalculation

public static class InitialMarginCalculation.InitialMarginCalculationImpl extends Object implements InitialMarginCalculation
Immutable Implementation of InitialMarginCalculation
  • Constructor Details

  • Method Details

    • getMarginRatio

      @RosettaAttribute("marginRatio") @RuneAttribute("marginRatio") public BigDecimal getMarginRatio()
      Description copied from interface: InitialMarginCalculation
      An element defining an initial margin expressed as a ratio of the Market Value of the collateral to the Purchase Price. A default value of initial margin ratio of 1.00 means there is no margin and thus no risk related with the collateral. See GMRA 2000 paragraph 2(z) and GMRA 2011 paragraph 2(bb).
      Specified by:
      getMarginRatio in interface InitialMarginCalculation
    • getMarginRatioThreshold

      @RosettaAttribute("marginRatioThreshold") @RuneAttribute("marginRatioThreshold") public List<BigDecimal> getMarginRatioThreshold()
      Description copied from interface: InitialMarginCalculation
      An element defining a margin ratio threshold which is the value above (when it's lower than initial margin ratio) or below (when it's higher than initial margin ratio) which parties agree they will not call a margin from each other.
      Specified by:
      getMarginRatioThreshold in interface InitialMarginCalculation
    • getHaircut

      @RosettaAttribute("haircut") @RuneAttribute("haircut") public BigDecimal getHaircut()
      Description copied from interface: InitialMarginCalculation
      An element defining a haircut expressed as the percentage difference between the Market Value of the collateral and the Purchase Price of the repo and calculated as 100 multiplied by a ratio of the difference between the Market Value of the collateral and the Purchase Price of the repo to the Market Value of the collateral. Haircut is alternative way to adjust the value of collateral sold in a repurchase agreement to initial margin ratio. Because an initial margin is a percentage of the Purchase Price, while a haircut is a percentage of the Market Value of collateral, the arithmetic of initial margins and haircuts is slightly different. For example, an initial margin of 102% is not equivalent to a haircut of 2%, but to 1.961% (ie 100/102%). See GMRA 2011 paragraph 2(aa).
      Specified by:
      getHaircut in interface InitialMarginCalculation
    • getHaircutThreshold

      @RosettaAttribute("haircutThreshold") @RuneAttribute("haircutThreshold") public List<BigDecimal> getHaircutThreshold()
      Description copied from interface: InitialMarginCalculation
      An element defining a haircut percentage threshold which is the value above (when it's lower than initial haircut) or below (when it's higher than initial haircut) which parties agree they will not call a margin from each other.
      Specified by:
      getHaircutThreshold in interface InitialMarginCalculation
    • build

      public InitialMarginCalculation build()
      Description copied from interface: InitialMarginCalculation
      Build Methods
      Specified by:
      build in interface InitialMarginCalculation
      Specified by:
      build in interface com.rosetta.model.lib.RosettaModelObject
    • toBuilder

      Specified by:
      toBuilder in interface InitialMarginCalculation
      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • setBuilderFields

      protected void setBuilderFields(InitialMarginCalculation.InitialMarginCalculationBuilder builder)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object