Class ProductClassMargin

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

public class ProductClassMargin
extends java.lang.Object
ProductClassMargin holds the Initial Margin Estimates for a Single Product Class across the Six Risk Factors - Interest Rate, Credit Qualifying, Credit Non-Qualifying, Equity, Commodity, and FX. 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 (2017): SIMM v2.0 Methodology https://www.isda.org/a/oFiDE/isda-simm-v2.pdf
It provides the following Functionality:
  • ProductClassMargin Constructor
  • Retrieve the Interest Rate Risk Class Aggregate
  • Retrieve the Credit Qualifying Risk Class Aggregate
  • Retrieve the Credit Non-Qualifying Risk Class Aggregate
  • Retrieve the Equity Risk Class Aggregate
  • Retrieve the FX Risk Class Aggregate
  • Retrieve the Commodity Risk Class Aggregate
  • Compute the Total IM

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

    • ProductClassMargin

      public ProductClassMargin​(RiskClassAggregateIR irRiskClassAggregate, RiskClassAggregateCR creditQualifyingRiskClassAggregate, RiskClassAggregateCR creditNonQualifyingRiskClassAggregate, RiskClassAggregate equityRiskClassAggregate, RiskClassAggregate fxRiskClassAggregate, RiskClassAggregate commodityRiskClassAggregate) throws java.lang.Exception
      ProductClassMargin Constructor
      Parameters:
      irRiskClassAggregate - IR Risk Class Aggregate
      creditQualifyingRiskClassAggregate - Credit Qualifying Risk Class Aggregate
      creditNonQualifyingRiskClassAggregate - Credit Non-Qualifying Risk Class Aggregate
      equityRiskClassAggregate - Equity Risk Class Aggregate
      fxRiskClassAggregate - FX Risk Class Aggregate
      commodityRiskClassAggregate - Commodity Risk Class Aggregate
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • irRiskClassAggregate

      public RiskClassAggregateIR irRiskClassAggregate()
      Retrieve the Interest Rate Risk Class Aggregate
      Returns:
      The Interest Rate Risk Class Aggregate
    • creditQualifyingRiskClassAggregate

      public RiskClassAggregateCR creditQualifyingRiskClassAggregate()
      Retrieve the Credit Qualifying Risk Class Aggregate
      Returns:
      The Credit Qualifying Risk Class Aggregate
    • creditNonQualifyingRiskClassAggregate

      public RiskClassAggregateCR creditNonQualifyingRiskClassAggregate()
      Retrieve the Credit Non-Qualifying Risk Class Aggregate
      Returns:
      The Credit Non-Qualifying Risk Class Aggregate
    • equityRiskClassAggregate

      public RiskClassAggregate equityRiskClassAggregate()
      Retrieve the Equity Risk Class Aggregate
      Returns:
      The Equity Risk Class Aggregate
    • fxRiskClassAggregate

      public RiskClassAggregate fxRiskClassAggregate()
      Retrieve the FX Risk Class Aggregate
      Returns:
      The FX Risk Class Aggregate
    • commodityRiskClassAggregate

      public RiskClassAggregate commodityRiskClassAggregate()
      Retrieve the Commodity Risk Class Aggregate
      Returns:
      The Commodity Risk Class Aggregate
    • total

      public double total​(LabelCorrelation labelCorrelation) throws java.lang.Exception
      Compute the Total IM
      Parameters:
      labelCorrelation - Cross Risk Class Label Correlation
      Returns:
      The Total IM
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid