Class IRSettingsContainer24

java.lang.Object
org.drip.simm.rates.IRSettingsContainer24

public class IRSettingsContainer24
extends java.lang.Object
IRSettingsContainer24 holds the ISDA SIMM 2.4 Tenor Vertex Risk Weights/Correlations for Single IR Curves, Cross Currencies, and Inflation. The References are:

  • Andersen, L. B. G., M. Pykhtin, and A. Sokol (2017): Credit Exposure in the Presence of Initial Margin https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2806156 eSSRN
  • Albanese, C., S. Caenazzo, and O. Frankel (2017): Regression Sensitivities for Initial Margin Calculations https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2763488 eSSRN
  • Anfuso, F., D. Aziz, P. Giltinan, and K. Loukopoulus (2017): A Sound Modeling and Back-testing Framework for Forecasting Initial Margin Requirements https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2716279 eSSRN
  • Caspers, P., P. Giltinan, R. Lichters, and N. Nowaczyk (2017): Forecasting Initial Margin Requirements - A Model Evaluation https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2911167 eSSRN
  • International Swaps and Derivatives Association (2021): SIMM v2.4 Methodology https://www.isda.org/a/CeggE/ISDA-SIMM-v2.4-PUBLIC.pdf




Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    IRSettingsContainer24()  
  • Method Summary

    Modifier and Type Method Description
    static boolean ContainsRiskWeight​(java.lang.String currency)
    Indicate if the IR Risk Weight is available for the specified Currency
    static boolean ContainsRiskWeight​(java.lang.String currency, java.lang.String subCurve)
    Indicate if the IR Risk Weight is available for the specified Currency
    static RiskGroupPrincipalCovariance CurrencyPairPrincipalCovariance​(java.lang.String currency1, java.lang.String currency2)
    Retrieve the Currency Pair Principal Co-variance Matrix
    static java.util.Set<java.lang.String> CurrencySet()
    Retrieve the Set of all Available Currencies
    static java.util.Set<java.lang.String> HighVolatilityCurrencySet()
    Retrieve the High Volatility Currency Set
    static boolean Init()
    Initialize the Interest Rate Weight Specification Container
    static java.util.Set<java.lang.String> LowVolatilityCurrencySet()
    Retrieve the Low Volatility Currency Set
    static java.util.Set<java.lang.String> RegularVolatilityCurrencySet()
    Retrieve the Regular Volatility Currency Set
    static java.util.Map<java.lang.String,​IRWeight> RiskWeight()
    Retrieve the Interest Rate Risk Weight Term Structure based on the Volatility Type
    static IRWeight RiskWeight​(java.lang.String currency)
    Retrieve the IR Risk Weight for the specified Currency
    static IRWeight RiskWeight​(java.lang.String currency, java.lang.String subCurve)
    Retrieve the IR Risk Weight for the specified Currency
    static LabelCorrelation SingleCurveTenorCorrelation()
    Retrieve the Interest Rate Single Curve Tenor Correlation Instance
    static boolean SubCurveSupported​(java.lang.String currency, java.lang.String subCurve)
    Indicate if the Sub-Curve is supported for the specified Currency
    static java.util.Set<java.lang.String> TenorSet()
    Retrieve the Standard ISDA Rates Tenor Set
    static java.util.Set<java.lang.String> VolatilityTypeCurrencySet​(java.lang.String volatilityType)
    Retrieve the Set of Currencies for the specified Volatility Type

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IRSettingsContainer24

      public IRSettingsContainer24()
  • Method Details

    • Init

      public static final boolean Init()
      Initialize the Interest Rate Weight Specification Container
      Returns:
      TRUE - The Interest Rate Weight Specification Container successfully initialized
    • TenorSet

      public static final java.util.Set<java.lang.String> TenorSet()
      Retrieve the Standard ISDA Rates Tenor Set
      Returns:
      The Standard ISDA Rates Tenor Set
    • SubCurveSupported

      public static final boolean SubCurveSupported​(java.lang.String currency, java.lang.String subCurve)
      Indicate if the Sub-Curve is supported for the specified Currency
      Parameters:
      currency - The Currency
      subCurve - The sub-Curve Type
      Returns:
      TRUE - The Sub-Curve is supported for the specified Currency
    • CurrencySet

      public static final java.util.Set<java.lang.String> CurrencySet()
      Retrieve the Set of all Available Currencies
      Returns:
      The Set of all Available Currencies
    • VolatilityTypeCurrencySet

      public static final java.util.Set<java.lang.String> VolatilityTypeCurrencySet​(java.lang.String volatilityType)
      Retrieve the Set of Currencies for the specified Volatility Type
      Parameters:
      volatilityType - The Volatility Type
      Returns:
      The Set of Currencies for the specified Volatility Type
    • RegularVolatilityCurrencySet

      public static final java.util.Set<java.lang.String> RegularVolatilityCurrencySet()
      Retrieve the Regular Volatility Currency Set
      Returns:
      The Regular Volatility Currency Set
    • LowVolatilityCurrencySet

      public static final java.util.Set<java.lang.String> LowVolatilityCurrencySet()
      Retrieve the Low Volatility Currency Set
      Returns:
      The Low Volatility Currency Set
    • HighVolatilityCurrencySet

      public static final java.util.Set<java.lang.String> HighVolatilityCurrencySet()
      Retrieve the High Volatility Currency Set
      Returns:
      The High Volatility Currency Set
    • ContainsRiskWeight

      public static final boolean ContainsRiskWeight​(java.lang.String currency)
      Indicate if the IR Risk Weight is available for the specified Currency
      Parameters:
      currency - The Currency
      Returns:
      TRUE - The IR Risk Weight is available for the specified Currency
    • ContainsRiskWeight

      public static final boolean ContainsRiskWeight​(java.lang.String currency, java.lang.String subCurve)
      Indicate if the IR Risk Weight is available for the specified Currency
      Parameters:
      currency - The Currency
      subCurve - The sub-Curve Type
      Returns:
      TRUE - The IR Risk Weight is available for the specified Currency
    • RiskWeight

      public static final IRWeight RiskWeight​(java.lang.String currency)
      Retrieve the IR Risk Weight for the specified Currency
      Parameters:
      currency - The Currency
      Returns:
      The IR Risk Weight for the specified Currency
    • RiskWeight

      public static final IRWeight RiskWeight​(java.lang.String currency, java.lang.String subCurve)
      Retrieve the IR Risk Weight for the specified Currency
      Parameters:
      currency - The Currency
      subCurve - The sub-Curve Type
      Returns:
      The IR Risk Weight for the specified Currency
    • SingleCurveTenorCorrelation

      public static final LabelCorrelation SingleCurveTenorCorrelation()
      Retrieve the Interest Rate Single Curve Tenor Correlation Instance
      Returns:
      The Interest Rate Single Curve Tenor Correlation Instance
    • RiskWeight

      public static final java.util.Map<java.lang.String,​IRWeight> RiskWeight()
      Retrieve the Interest Rate Risk Weight Term Structure based on the Volatility Type
      Returns:
      The Interest Rate Risk Weight Term Structure based on the Volatility Type
    • CurrencyPairPrincipalCovariance

      public static final RiskGroupPrincipalCovariance CurrencyPairPrincipalCovariance​(java.lang.String currency1, java.lang.String currency2)
      Retrieve the Currency Pair Principal Co-variance Matrix
      Parameters:
      currency1 - Currency #1
      currency2 - Currency #2
      Returns:
      The Currency Pair Principal Co-variance Matrix