Class BucketCurvatureSettingsIR


public class BucketCurvatureSettingsIR
extends BucketVegaSettingsIR
BucketCurvatureSettingsIR holds the Curvature 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




Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • BucketCurvatureSettingsIR

      public BucketCurvatureSettingsIR​(java.util.Map<java.lang.String,​java.lang.Double> oisTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> primeTenorVegaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> municipalTenorVegaRiskWeight, LabelCorrelation crossTenorCorrelation, double crossCurveCorrelation, double concentrationThreshold, double vegaScaler, double historicalVolatilityRatio, java.util.Map<java.lang.String,​java.lang.Double> oisTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> primeTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> municipalTenorDeltaRiskWeight, java.util.Map<java.lang.String,​java.lang.Double> tenorScalingFactorMap) throws java.lang.Exception
      BucketCurvatureSettingsIR Constructor
      Parameters:
      oisTenorVegaRiskWeight - The OIS Tenor Vega Risk Weight
      libor1MTenorVegaRiskWeight - The LIBOR 1M Tenor Vega Risk Weight
      libor3MTenorVegaRiskWeight - The LIBOR 3M Tenor Vega Risk Weight
      libor6MTenorVegaRiskWeight - The LIBOR 6M Tenor Vega Risk Weight
      libor12MTenorVegaRiskWeight - The LIBOR 12M Tenor Vega Risk Weight
      primeTenorVegaRiskWeight - The PRIME Tenor Vega Risk Weight
      municipalTenorVegaRiskWeight - The MUNICIPAL Tenor Vega Risk Weight
      crossTenorCorrelation - Single Curve Cross-Tenor Correlation
      crossCurveCorrelation - Cross Curve Correlation
      concentrationThreshold - The Concentration Threshold
      vegaScaler - The Vega Scaler
      historicalVolatilityRatio - The Historical Volatility Ratio
      oisTenorDeltaRiskWeight - The OIS Tenor Delta Risk Weight
      libor1MTenorDeltaRiskWeight - The LIBOR 1M Tenor Delta Risk Weight
      libor3MTenorDeltaRiskWeight - The LIBOR 3M Tenor Delta Risk Weight
      libor6MTenorDeltaRiskWeight - The LIBOR 6M Tenor Delta Risk Weight
      libor12MTenorDeltaRiskWeight - The LIBOR 12M Tenor Delta Risk Weight
      primeTenorDeltaRiskWeight - The PRIME Tenor Delta Risk Weight
      municipalTenorDeltaRiskWeight - The MUNICIPAL Tenor Delta Risk Weight
      tenorScalingFactorMap - The Tenor Scaling Factor Map
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • ISDA_20

      public static BucketCurvatureSettingsIR ISDA_20​(java.lang.String currency)
      Generate the ISDA 2.0 Standard BucketCurvatureSettingsIR
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.0 Standard BucketCurvatureSettingsIR
    • ISDA_21

      public static BucketCurvatureSettingsIR ISDA_21​(java.lang.String currency)
      Generate the ISDA 2.1 Standard BucketCurvatureSettingsIR
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.1 Standard BucketCurvatureSettingsIR
    • ISDA_24

      public static BucketCurvatureSettingsIR ISDA_24​(java.lang.String currency)
      Generate the ISDA 2.4 Standard BucketCurvatureSettingsIR
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.4 Standard BucketCurvatureSettingsIR
    • tenorScalingFactorMap

      public java.util.Map<java.lang.String,​java.lang.Double> tenorScalingFactorMap()
      Retrieve the Tenor Scaling Factor Map
      Returns:
      The Tenor Scaling Factor Map
    • oisTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> oisTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the OIS Tenor Risk Weight
      Overrides:
      oisTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The OIS Tenor Risk Weight
    • libor1MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the LIBOR 1M Tenor Risk Weight
      Overrides:
      libor1MTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The LIBOR 1M Tenor Risk Weight
    • libor3MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the LIBOR 3M Tenor Risk Weight
      Overrides:
      libor3MTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The LIBOR 3M Tenor Risk Weight
    • libor6MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the LIBOR 6M Tenor Risk Weight
      Overrides:
      libor6MTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The LIBOR 6M Tenor Risk Weight
    • libor12MTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the LIBOR 12M Tenor Risk Weight
      Overrides:
      libor12MTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The LIBOR 12M Tenor Risk Weight
    • primeTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the PRIME Tenor Risk Weight
      Overrides:
      primeTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The PRIME Tenor Risk Weight
    • municipalTenorRiskWeight

      public java.util.Map<java.lang.String,​java.lang.Double> municipalTenorRiskWeight()
      Description copied from class: BucketSensitivitySettingsIR
      Retrieve the MUNICIPAL Curve Tenor Risk Weight
      Overrides:
      municipalTenorRiskWeight in class BucketVegaSettingsIR
      Returns:
      The MUNICIPAL Curve Tenor Risk Weight