Class BucketSensitivitySettingsIR

java.lang.Object
org.drip.simm.parameters.LiquiditySettings
org.drip.simm.parameters.BucketSensitivitySettingsIR
Direct Known Subclasses:
BucketVegaSettingsIR

public class BucketSensitivitySettingsIR
extends LiquiditySettings
BucketSensitivitySettingsIR holds the Delta Risk Weights, Concentration Thresholds, and Cross-Tenor/Cross-Curve Correlations for each Currency Curve and its Tenor. 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 the ISDA 2.0 Standard IR Delta Sensitivity Settings for the Currency
  • Construct the ISDA 2.1 Standard IR Delta Sensitivity Settings for the Currency
  • Construct the ISDA 2.4 Standard IR Delta Sensitivity Settings for the Currency
  • BucketSensitivitySettingsIR Constructor
  • Retrieve the OIS Tenor Risk Weight
  • Retrieve the LIBOR 1M Tenor Risk Weight
  • Retrieve the LIBOR 3M Tenor Risk Weight
  • Retrieve the LIBOR 6M Tenor Risk Weight
  • Retrieve the LIBOR 12M Tenor Risk Weight
  • Retrieve the PRIME Tenor Risk Weight
  • Retrieve the MUNICIPAL Curve Tenor Risk Weight
  • Retrieve the Cross Curve Correlation
  • Retrieve the Single Curve Cross Tenor 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 Risk Factor Parameters

Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    BucketSensitivitySettingsIR​(java.util.Map<java.lang.String,​java.lang.Double> oisTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> municipalTenorRiskWeight, LabelCorrelation crossTenorCorrelation, double crossCurveCorrelation, double concentrationThreshold)
    BucketSensitivitySettingsIR Constructor
  • Method Summary

    Modifier and Type Method Description
    double crossCurveCorrelation()
    Retrieve the Cross Curve Correlation
    LabelCorrelation crossTenorCorrelation()
    Retrieve the Single Curve Cross Tenor Correlation
    static BucketSensitivitySettingsIR ISDA_DELTA_20​(java.lang.String currency)
    Construct the ISDA 2.0 Standard IR Delta Sensitivity Settings for the Currency
    static BucketSensitivitySettingsIR ISDA_DELTA_21​(java.lang.String currency)
    Construct the ISDA 2.1 Standard IR Delta Sensitivity Settings for the Currency
    static BucketSensitivitySettingsIR ISDA_DELTA_24​(java.lang.String currency)
    Construct the ISDA 2.4 Standard IR Delta Sensitivity Settings for the Currency
    java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorRiskWeight()
    Retrieve the LIBOR 12M Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorRiskWeight()
    Retrieve the LIBOR 1M Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorRiskWeight()
    Retrieve the LIBOR 3M Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorRiskWeight()
    Retrieve the LIBOR 6M Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> municipalTenorRiskWeight()
    Retrieve the MUNICIPAL Curve Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> oisTenorRiskWeight()
    Retrieve the OIS Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight()
    Retrieve the PRIME Tenor Risk Weight

    Methods inherited from class org.drip.simm.parameters.LiquiditySettings

    concentrationThreshold

    Methods inherited from class java.lang.Object

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

    • BucketSensitivitySettingsIR

      public BucketSensitivitySettingsIR​(java.util.Map<java.lang.String,​java.lang.Double> oisTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> municipalTenorRiskWeight, LabelCorrelation crossTenorCorrelation, double crossCurveCorrelation, double concentrationThreshold) throws java.lang.Exception
      BucketSensitivitySettingsIR Constructor
      Parameters:
      oisTenorRiskWeight - The OIS Tenor Risk Weight
      libor1MTenorRiskWeight - The LIBOR 1M Tenor Risk Weight
      libor3MTenorRiskWeight - The LIBOR 3M Tenor Risk Weight
      libor6MTenorRiskWeight - The LIBOR 6M Tenor Risk Weight
      libor12MTenorRiskWeight - The LIBOR 12M Tenor Risk Weight
      primeTenorRiskWeight - The PRIME Tenor Risk Weight
      municipalTenorRiskWeight - The MUNICIPAL Tenor Risk Weight
      crossTenorCorrelation - Single Curve Cross-Tenor Correlation
      crossCurveCorrelation - Cross Curve Correlation
      concentrationThreshold - The Concentration Threshold
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • ISDA_DELTA_20

      public static final BucketSensitivitySettingsIR ISDA_DELTA_20​(java.lang.String currency)
      Construct the ISDA 2.0 Standard IR Delta Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.0 Standard IR Delta Sensitivity Settings for the Currency
    • ISDA_DELTA_21

      public static final BucketSensitivitySettingsIR ISDA_DELTA_21​(java.lang.String currency)
      Construct the ISDA 2.1 Standard IR Delta Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.1 Standard IR Delta Sensitivity Settings for the Currency
    • ISDA_DELTA_24

      public static final BucketSensitivitySettingsIR ISDA_DELTA_24​(java.lang.String currency)
      Construct the ISDA 2.4 Standard IR Delta Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.4 Standard IR Delta Sensitivity Settings for the Currency
    • oisTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> oisTenorRiskWeight()
      Retrieve the OIS Tenor Risk Weight
      Returns:
      The OIS Tenor Risk Weight
    • libor1MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorRiskWeight()
      Retrieve the LIBOR 1M Tenor Risk Weight
      Returns:
      The LIBOR 1M Tenor Risk Weight
    • libor3MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorRiskWeight()
      Retrieve the LIBOR 3M Tenor Risk Weight
      Returns:
      The LIBOR 3M Tenor Risk Weight
    • libor6MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorRiskWeight()
      Retrieve the LIBOR 6M Tenor Risk Weight
      Returns:
      The LIBOR 6M Tenor Risk Weight
    • libor12MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorRiskWeight()
      Retrieve the LIBOR 12M Tenor Risk Weight
      Returns:
      The LIBOR 12M Tenor Risk Weight
    • primeTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight()
      Retrieve the PRIME Tenor Risk Weight
      Returns:
      The PRIME Tenor Risk Weight
    • municipalTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> municipalTenorRiskWeight()
      Retrieve the MUNICIPAL Curve Tenor Risk Weight
      Returns:
      The MUNICIPAL Curve Tenor Risk Weight
    • crossCurveCorrelation

      public double crossCurveCorrelation()
      Retrieve the Cross Curve Correlation
      Returns:
      The Cross Curve Correlation
    • crossTenorCorrelation

      public LabelCorrelation crossTenorCorrelation()
      Retrieve the Single Curve Cross Tenor Correlation
      Returns:
      The Single Curve Cross Tenor Correlation