Package cdm.product.template
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
-
Nested Class Summary
Nested classes/interfaces inherited from interface cdm.product.template.InitialMarginCalculation
InitialMarginCalculation.InitialMarginCalculationBuilder, InitialMarginCalculation.InitialMarginCalculationBuilderImpl, InitialMarginCalculation.InitialMarginCalculationImpl -
Field Summary
Fields inherited from interface cdm.product.template.InitialMarginCalculation
metaData -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build MethodsbooleanAn 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.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.An element defining an initial margin expressed as a ratio of the Market Value of the collateral to the Purchase Price.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.inthashCode()protected voidtoString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface cdm.product.template.InitialMarginCalculation
getType, metaData, processMethods inherited from interface com.rosetta.model.lib.RosettaModelObject
processRosetta, processRosetta
-
Constructor Details
-
InitialMarginCalculationImpl
protected InitialMarginCalculationImpl(InitialMarginCalculation.InitialMarginCalculationBuilder builder)
-
-
Method Details
-
getMarginRatio
Description copied from interface:InitialMarginCalculationAn 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:
getMarginRatioin interfaceInitialMarginCalculation
-
getMarginRatioThreshold
@RosettaAttribute("marginRatioThreshold") @RuneAttribute("marginRatioThreshold") public List<BigDecimal> getMarginRatioThreshold()Description copied from interface:InitialMarginCalculationAn 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:
getMarginRatioThresholdin interfaceInitialMarginCalculation
-
getHaircut
Description copied from interface:InitialMarginCalculationAn 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:
getHaircutin interfaceInitialMarginCalculation
-
getHaircutThreshold
@RosettaAttribute("haircutThreshold") @RuneAttribute("haircutThreshold") public List<BigDecimal> getHaircutThreshold()Description copied from interface:InitialMarginCalculationAn 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:
getHaircutThresholdin interfaceInitialMarginCalculation
-
build
Description copied from interface:InitialMarginCalculationBuild Methods- Specified by:
buildin interfaceInitialMarginCalculation- Specified by:
buildin interfacecom.rosetta.model.lib.RosettaModelObject
-
toBuilder
- Specified by:
toBuilderin interfaceInitialMarginCalculation- Specified by:
toBuilderin interfacecom.rosetta.model.lib.RosettaModelObject
-
setBuilderFields
-
equals
-
hashCode
public int hashCode() -
toString
-