Class FXRiskThresholdContainer20

java.lang.Object
org.drip.simm.fx.FXRiskThresholdContainer20

public class FXRiskThresholdContainer20
extends java.lang.Object
FXRiskThresholdContainer20 holds the ISDA SIMM 2.0 FX Risk Thresholds - the FX Categories and the Delta/Vega Limits defined for the Concentration Thresholds. 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




Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    FXRiskThresholdContainer20()  
  • Method Summary

    Modifier and Type Method Description
    static java.util.Map<java.lang.Integer,​java.lang.Double> CategoryDeltaMap()
    Retrieve the Category Delta Concentration Threshold Map
    static double CategoryDeltaThreshold​(int categoryNumber)
    Retrieve the Delta Threshold for the Category specified
    static java.util.Set<java.lang.Integer> CategorySet()
    Retrieve the Category Set
    static java.util.Map<java.lang.String,​java.lang.Double> CategoryVegaMap()
    Retrieve the Category Vega Concentration Threshold Map
    static double CategoryVegaThreshold​(int categoryNumber1, int categoryNumber2)
    Retrieve the Vega Threshold for the Category Pair specified
    static boolean ContainsCategory​(int categoryNumber)
    Indicate if the Category identified by the Number is available in the Map
    static RiskGroupPrincipalCovariance CrossGroupPrincipalCovariance()
    Retrieve the Cross Risk Group Co-variance Matrix
    static int CurrencyCategory​(java.lang.String currency)
    Retrieve the Category for the specified Currency
    static FXRiskGroup FXRiskGroup​(int categoryNumber)
    Retrieve the Risk Group identified by the Category Number
    static java.util.Map<java.lang.Integer,​FXRiskGroup> FXRiskGroupMap()
    Retrieve the FX Risk Group Map
    static boolean Init()
    Initialize the FX Risk Threshold Container

    Methods inherited from class java.lang.Object

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

    • FXRiskThresholdContainer20

      public FXRiskThresholdContainer20()
  • Method Details

    • Init

      public static final boolean Init()
      Initialize the FX Risk Threshold Container
      Returns:
      TRUE - The FX Risk Threshold Container
    • CurrencyCategory

      public static final int CurrencyCategory​(java.lang.String currency) throws java.lang.Exception
      Retrieve the Category for the specified Currency
      Parameters:
      currency - Currency
      Returns:
      The Category
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • CategorySet

      public static final java.util.Set<java.lang.Integer> CategorySet()
      Retrieve the Category Set
      Returns:
      The Category Set
    • ContainsCategory

      public static final boolean ContainsCategory​(int categoryNumber)
      Indicate if the Category identified by the Number is available in the Map
      Parameters:
      categoryNumber - The Category Number
      Returns:
      TRUE - The Category identified by the Number is available in the Map
    • FXRiskGroup

      public static final FXRiskGroup FXRiskGroup​(int categoryNumber)
      Retrieve the Risk Group identified by the Category Number
      Parameters:
      categoryNumber - The Category Number
      Returns:
      The Risk Group identified by the Category Number
    • CategoryDeltaThreshold

      public static final double CategoryDeltaThreshold​(int categoryNumber) throws java.lang.Exception
      Retrieve the Delta Threshold for the Category specified
      Parameters:
      categoryNumber - The specified Category
      Returns:
      Delta Threshold for the Category specified
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • CategoryVegaThreshold

      public static final double CategoryVegaThreshold​(int categoryNumber1, int categoryNumber2) throws java.lang.Exception
      Retrieve the Vega Threshold for the Category Pair specified
      Parameters:
      categoryNumber1 - The specified Category #1
      categoryNumber2 - The specified Category #2
      Returns:
      Vega Threshold for the Category Pair specified
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • FXRiskGroupMap

      public static final java.util.Map<java.lang.Integer,​FXRiskGroup> FXRiskGroupMap()
      Retrieve the FX Risk Group Map
      Returns:
      The FX Risk Group Map
    • CategoryDeltaMap

      public static final java.util.Map<java.lang.Integer,​java.lang.Double> CategoryDeltaMap()
      Retrieve the Category Delta Concentration Threshold Map
      Returns:
      The Category Delta Concentration Threshold Map
    • CategoryVegaMap

      public static final java.util.Map<java.lang.String,​java.lang.Double> CategoryVegaMap()
      Retrieve the Category Vega Concentration Threshold Map
      Returns:
      The Category Vega Concentration Threshold Map
    • CrossGroupPrincipalCovariance

      public static final RiskGroupPrincipalCovariance CrossGroupPrincipalCovariance()
      Retrieve the Cross Risk Group Co-variance Matrix
      Returns:
      The Cross Risk Group Co-variance Matrix