Class BucketSensitivityIR

java.lang.Object
org.drip.simm.product.BucketSensitivityIR

public class BucketSensitivityIR
extends java.lang.Object
BucketSensitivityIR holds the ISDA SIMM Risk Factor Tenor Bucket Sensitivities across IR Factor Sub Curves. USD Exposures enhanced with the USD specific Sub-Curve Factors - PRIME and MUNICIPAL. 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 Details

    • BucketSensitivityIR

      public BucketSensitivityIR​(RiskFactorTenorSensitivity oisTenorSensitivity, RiskFactorTenorSensitivity libor1MTenorSensitivity, RiskFactorTenorSensitivity libor3MTenorSensitivity, RiskFactorTenorSensitivity libor6MTenorSensitivity, RiskFactorTenorSensitivity libor12MTenorSensitivity, RiskFactorTenorSensitivity primeTenorSensitivity, RiskFactorTenorSensitivity municipalTenorSensitivity) throws java.lang.Exception
      BucketSensitivityIR Constructor
      Parameters:
      oisTenorSensitivity - The OIS Risk Factor Tenor Sensitivity
      libor1MTenorSensitivity - The LIBOR1M Risk Factor Tenor Sensitivity
      libor3MTenorSensitivity - The LIBOR3M Risk Factor Tenor Sensitivity
      libor6MTenorSensitivity - The LIBOR6M Risk Factor Tenor Delta Sensitivity
      libor12MTenorSensitivity - The LIBOR12M Risk Factor Tenor Sensitivity
      primeTenorSensitivity - The PRIME Risk Factor Tenor Sensitivity
      municipalTenorSensitivity - The MUNICIPAL Risk Factor Tenor Sensitivity
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • Standard

      public static final BucketSensitivityIR Standard​(java.util.Map<java.lang.String,​java.lang.Double> oisTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> primeTenorSensitivity, java.util.Map<java.lang.String,​java.lang.Double> municipalTenorSensitivity)
      Generate a Standard Instance of BucketSensitivityIR from the Tenor Sensitivity Maps
      Parameters:
      oisTenorSensitivity - OIS Tenor Sensitivity Map
      libor1MTenorSensitivity - LIBOR1M Tenor Sensitivity Map
      libor3MTenorSensitivity - LIBOR3M Tenor Sensitivity Map
      libor6MTenorSensitivity - LIBOR6M Tenor Sensitivity Map
      libor12MTenorSensitivity - LIBOR 12M Tenor Sensitivity Map
      primeTenorSensitivity - Prime Tenor Sensitivity Map
      municipalTenorSensitivity - Municipal Tenor Sensitivity Map
      Returns:
      Standard Instance of BucketSensitivityIR from the Tenor Sensitivity Maps
    • oisTenorSensitivity

      public RiskFactorTenorSensitivity oisTenorSensitivity()
      Retrieve the OIS Risk Factor Tenor Sensitivity
      Returns:
      The OIS Risk Factor Tenor Sensitivity
    • libor1MTenorSensitivity

      public RiskFactorTenorSensitivity libor1MTenorSensitivity()
      Retrieve the LIBOR1M Risk Factor Tenor Sensitivity
      Returns:
      The LIBOR1M Risk Factor Tenor Sensitivity
    • libor3MTenorSensitivity

      public RiskFactorTenorSensitivity libor3MTenorSensitivity()
      Retrieve the LIBOR3M Risk Factor Tenor Sensitivity
      Returns:
      The LIBOR3M Risk Factor Tenor Sensitivity
    • libor6MTenorSensitivity

      public RiskFactorTenorSensitivity libor6MTenorSensitivity()
      Retrieve the LIBOR6M Risk Factor Tenor Sensitivity
      Returns:
      The LIBOR6M Risk Factor Tenor Sensitivity
    • libor12MTenorSensitivity

      public RiskFactorTenorSensitivity libor12MTenorSensitivity()
      Retrieve the LIBOR12M Risk Factor Tenor Sensitivity
      Returns:
      The LIBOR12M Risk Factor Tenor Sensitivity
    • primeTenorSensitivity

      public RiskFactorTenorSensitivity primeTenorSensitivity()
      Retrieve the PRIME Risk Factor Tenor Sensitivity
      Returns:
      The PRIME Risk Factor Tenor Sensitivity
    • municipalTenorSensitivity

      public RiskFactorTenorSensitivity municipalTenorSensitivity()
      Retrieve the MUNICIPAL Risk Factor Tenor Sensitivity
      Returns:
      The MUNICIPAL Risk Factor Tenor Sensitivity
    • cumulativeTenorSensitivity

      public double cumulativeTenorSensitivity()
      Generate the Cumulative Tenor Sensitivity
      Returns:
      The Cumulative Tenor Sensitivity
    • sensitivityConcentrationRiskFactor

      public double sensitivityConcentrationRiskFactor​(double sensitivityConcentrationThreshold) throws java.lang.Exception
      Compute the Sensitivity Concentration Risk Factor
      Parameters:
      sensitivityConcentrationThreshold - The Sensitivity Concentration Threshold
      Returns:
      The Sensitivity Concentration Risk Factor
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • oisTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> oisTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the OIS Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The OIS Tenor Sensitivity Margin Map
    • libor1MTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> libor1MTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the LIBOR1M Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The LIBOR1M Tenor Sensitivity Margin Map
    • libor3MTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> libor3MTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the LIBOR3M Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The LIBOR3M Tenor Sensitivity Margin Map
    • libor6MTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> libor6MTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the LIBOR6M Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The LIBOR6M Tenor Sensitivity Margin Map
    • libor12MTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> libor12MTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the LIBOR12M Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The LIBOR12M Tenor Sensitivity Margin Map
    • primeTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> primeTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the PRIME Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The PRIME Tenor Sensitivity Margin Map
    • municipalTenorMargin

      public java.util.Map<java.lang.String,​java.lang.Double> municipalTenorMargin​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the MUNICIPAL Tenor Sensitivity Margin Map
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The MUNICIPAL Tenor Sensitivity Margin Map
    • curveAggregate

      public RiskFactorAggregateIR curveAggregate​(BucketSensitivitySettingsIR bucketSensitivitySettings)
      Generate the IR Margin Factor Curve Tenor Aggregate
      Parameters:
      bucketSensitivitySettings - The Bucket Tenor Sensitivity Settings
      Returns:
      The IR Margin Factor Curve Tenor Aggregate
    • aggregate

      public BucketAggregateIR aggregate​(BucketSensitivitySettingsIR bucketSensitivitySettingsIR)
      Generate the Bucket IR Sensitivity Margin Aggregate
      Parameters:
      bucketSensitivitySettingsIR - The IR Bucket Sensitivity Settings
      Returns:
      The Bucket IR Sensitivity Margin Aggregate