Class ProductClassSettings

java.lang.Object
org.drip.simm.estimator.ProductClassSettings

public class ProductClassSettings
extends java.lang.Object
ProductClassSettings holds the Settings that govern the Generation of the ISDA SIMM Bucket Sensitivities across Individual Product Classes. 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
It provides the following Functionality:
  • Construct an ISDA SIMM 2.0 Version of ProductClassSettings
  • Construct an ISDA SIMM 2.1 Version of ProductClassSettings
  • Construct an ISDA SIMM 2.4 Version of ProductClassSettings
  • ProductClassSettings Constructor
  • Retrieve the Equity Risk Class Sensitivity Settings
  • Retrieve the Commodity Risk Class Sensitivity Settings
  • Retrieve the FX Risk Class Sensitivity Settings
  • Retrieve the IR Risk Class Sensitivity Settings
  • Retrieve the Credit Qualifying Risk Class Sensitivity Settings
  • Retrieve the Credit Non-Qualifying Risk Class Sensitivity Settings
  • Retrieve the Cross Risk Class Label Correlation

Module Portfolio Core Module
Library Initial and Variation Margin Analytics
Project Initial Margin Analytics based on ISDA SIMM and its Variants
Package ISDA SIMM Core + Add-On Estimator

Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • ProductClassSettings

      public ProductClassSettings​(RiskClassSensitivitySettings equityRiskClassSensitivitySettings, RiskClassSensitivitySettings commodityRiskClassSensitivitySettings, RiskClassSensitivitySettings fxRiskClassSensitivitySettings, RiskClassSensitivitySettingsIR irRiskClassSensitivitySettings, RiskClassSensitivitySettingsCR creditQualifyingRiskClassSensitivitySettings, RiskClassSensitivitySettingsCR creditNonQualifyingRiskClassSensitivitySettings, LabelCorrelation labelCorrelation) throws java.lang.Exception
      ProductClassSettings Constructor
      Parameters:
      equityRiskClassSensitivitySettings - Equity Risk Class Sensitivity Settings
      commodityRiskClassSensitivitySettings - Commodity Risk Class Sensitivity Settings
      fxRiskClassSensitivitySettings - FX Risk Class Sensitivity Settings
      irRiskClassSensitivitySettings - IR Risk Class Sensitivity Settings
      creditQualifyingRiskClassSensitivitySettings - Credit Qualifying Risk Class Sensitivity Settings
      creditNonQualifyingRiskClassSensitivitySettings - Credit Non-Qualifying Risk Class Sensitivity Settings
      labelCorrelation - Cross Risk Class Label Correlation
      Throws:
      java.lang.Exception - Throw if the Inputs are Invalid
  • Method Details

    • ISDA_20

      public static final ProductClassSettings ISDA_20​(java.util.List<java.lang.String> currencyList, int vegaDurationDays)
      Construct an ISDA SIMM 2.0 Version of ProductClassSettings
      Parameters:
      currencyList - Currency List
      vegaDurationDays - The Volatility Duration in Days
      Returns:
      ISDA SIMM 2.0 Version of ProductClassSettings
    • ISDA_21

      public static final ProductClassSettings ISDA_21​(java.util.List<java.lang.String> currencyList, int vegaDurationDays)
      Construct an ISDA SIMM 2.1 Version of ProductClassSettings
      Parameters:
      currencyList - Currency List
      vegaDurationDays - The Volatility Duration in Days
      Returns:
      ISDA SIMM 2.1 Version of ProductClassSettings
    • ISDA_24

      public static final ProductClassSettings ISDA_24​(java.util.List<java.lang.String> currencyList, int vegaDurationDays, java.lang.String givenCurrency, java.lang.String calculationCurrency)
      Construct an ISDA SIMM 2.4 Version of ProductClassSettings
      Parameters:
      currencyList - Currency List
      vegaDurationDays - The Volatility Duration in Days
      givenCurrency - Given Currency
      calculationCurrency - Calculation Currency
      Returns:
      ISDA SIMM 2.4 Version of ProductClassSettings
    • equityRiskClassSensitivitySettings

      public RiskClassSensitivitySettings equityRiskClassSensitivitySettings()
      Retrieve the Equity Risk Class Sensitivity Settings
      Returns:
      The Equity Risk Class Sensitivity Settings
    • commodityRiskClassSensitivitySettings

      public RiskClassSensitivitySettings commodityRiskClassSensitivitySettings()
      Retrieve the Commodity Risk Class Sensitivity Settings
      Returns:
      The Commodity Risk Class Sensitivity Settings
    • fxRiskClassSensitivitySettings

      public RiskClassSensitivitySettings fxRiskClassSensitivitySettings()
      Retrieve the FX Risk Class Sensitivity Settings
      Returns:
      The FX Risk Class Sensitivity Settings
    • irRiskClassSensitivitySettings

      public RiskClassSensitivitySettingsIR irRiskClassSensitivitySettings()
      Retrieve the IR Risk Class Sensitivity Settings
      Returns:
      The IR Risk Class Sensitivity Settings
    • creditQualifyingRiskClassSensitivitySettings

      public RiskClassSensitivitySettingsCR creditQualifyingRiskClassSensitivitySettings()
      Retrieve the Credit Qualifying Risk Class Sensitivity Settings
      Returns:
      The Credit Qualifying Risk Class Sensitivity Settings
    • creditNonQualifyingRiskClassSensitivitySettings

      public RiskClassSensitivitySettingsCR creditNonQualifyingRiskClassSensitivitySettings()
      Retrieve the Credit Non-Qualifying Risk Class Sensitivity Settings
      Returns:
      The Credit Non-Qualifying Risk Class Sensitivity Settings
    • labelCorrelation

      public LabelCorrelation labelCorrelation()
      Retrieve the Cross Risk Class Label Correlation
      Returns:
      The Cross Risk Class Label Correlation