Class BucketVegaSettingsIR

java.lang.Object
Direct Known Subclasses:
BucketCurvatureSettingsIR

public class BucketVegaSettingsIR
extends BucketSensitivitySettingsIR
BucketVegaSettingsIR holds the Vega 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:
  • Retrieve the ISDA 2.0 Credit Qualifying Bucket Vega Settings

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
    BucketVegaSettingsIR​(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)
    BucketVegaSettingsIR Constructor
  • Method Summary

    Modifier and Type Method Description
    double historicalVolatilityRatio()
    Retrieve the Historical Volatility Ratio
    static BucketVegaSettingsIR ISDA_20​(java.lang.String currency)
    Construct the ISDA 2.0 Standard IR Vega Sensitivity Settings for the Currency
    static BucketVegaSettingsIR ISDA_21​(java.lang.String currency)
    Construct the ISDA 2.1 Standard IR Vega Sensitivity Settings for the Currency
    static BucketVegaSettingsIR ISDA_24​(java.lang.String currency)
    Construct the ISDA 2.4 Standard IR Vega Sensitivity Settings for the Currency
    java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorDeltaRiskWeight()
    Retrieve the LIBOR 12M Tenor Delta Risk Weight
    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> libor12MTenorVegaRiskWeight()
    Retrieve the LIBOR 12M Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorDeltaRiskWeight()
    Retrieve the LIBOR 1M Tenor Delta 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> libor1MTenorVegaRiskWeight()
    Retrieve the LIBOR1M Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorDeltaRiskWeight()
    Retrieve the LIBOR 3M Tenor Delta 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> libor3MTenorVegaRiskWeight()
    Retrieve the LIBOR3M Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorDeltaRiskWeight()
    Retrieve the LIBOR 6M Tenor Delta 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> libor6MTenorVegaRiskWeight()
    Retrieve the LIBOR6M Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> municipalTenorDeltaRiskWeight()
    Retrieve the MUNICIPAL Tenor Delta 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> municipalTenorVegaRiskWeight()
    Retrieve the MUNICIPAL Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> oisTenorDeltaRiskWeight()
    Retrieve the OIS Tenor Delta 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> oisTenorVegaRiskWeight()
    Retrieve the OIS Tenor Vega Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> primeTenorDeltaRiskWeight()
    Retrieve the PRIME Tenor Delta Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> primeTenorRiskWeight()
    Retrieve the PRIME Tenor Risk Weight
    java.util.Map<java.lang.String,​java.lang.Double> primeTenorVegaRiskWeight()
    Retrieve the PRIME Tenor Vega Risk Weight
    double vegaScaler()
    Retrieve the Vega Scaler

    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

    • BucketVegaSettingsIR

      public BucketVegaSettingsIR​(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) throws java.lang.Exception
      BucketVegaSettingsIR 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
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • ISDA_20

      public static BucketVegaSettingsIR ISDA_20​(java.lang.String currency)
      Construct the ISDA 2.0 Standard IR Vega Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.0 Standard IR Vega Sensitivity Settings for the Currency
    • ISDA_21

      public static BucketVegaSettingsIR ISDA_21​(java.lang.String currency)
      Construct the ISDA 2.1 Standard IR Vega Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.1 Standard IR Vega Sensitivity Settings for the Currency
    • ISDA_24

      public static BucketVegaSettingsIR ISDA_24​(java.lang.String currency)
      Construct the ISDA 2.4 Standard IR Vega Sensitivity Settings for the Currency
      Parameters:
      currency - Currency
      Returns:
      The ISDA 2.4 Standard IR Vega Sensitivity Settings for the Currency
    • vegaScaler

      public double vegaScaler()
      Retrieve the Vega Scaler
      Returns:
      The Vega Scaler
    • historicalVolatilityRatio

      public double historicalVolatilityRatio()
      Retrieve the Historical Volatility Ratio
      Returns:
      The Historical Volatility Ratio
    • oisTenorDeltaRiskWeight

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

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

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

      public java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorVegaRiskWeight()
      Retrieve the LIBOR1M Tenor Vega Risk Weight
      Returns:
      The LIBOR1M Tenor Vega Risk Weight
    • libor3MTenorDeltaRiskWeight

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

      public java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorVegaRiskWeight()
      Retrieve the LIBOR3M Tenor Vega Risk Weight
      Returns:
      The LIBOR3M Tenor Vega Risk Weight
    • libor6MTenorDeltaRiskWeight

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

      public java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorVegaRiskWeight()
      Retrieve the LIBOR6M Tenor Vega Risk Weight
      Returns:
      The LIBOR6M Tenor Vega Risk Weight
    • libor12MTenorDeltaRiskWeight

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

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

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

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

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

      public java.util.Map<java.lang.String,​java.lang.Double> municipalTenorVegaRiskWeight()
      Retrieve the MUNICIPAL Tenor Vega Risk Weight
      Returns:
      The MUNICIPAL Tenor Vega Risk Weight
    • 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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      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 BucketSensitivitySettingsIR
      Returns:
      The MUNICIPAL Curve Tenor Risk Weight