Package org.drip.simm.product
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
- 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 Sensitivities
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description BucketSensitivityIR(RiskFactorTenorSensitivity oisTenorSensitivity, RiskFactorTenorSensitivity libor1MTenorSensitivity, RiskFactorTenorSensitivity libor3MTenorSensitivity, RiskFactorTenorSensitivity libor6MTenorSensitivity, RiskFactorTenorSensitivity libor12MTenorSensitivity, RiskFactorTenorSensitivity primeTenorSensitivity, RiskFactorTenorSensitivity municipalTenorSensitivity)
BucketSensitivityIR Constructor -
Method Summary
Modifier and Type Method Description BucketAggregateIR
aggregate(BucketSensitivitySettingsIR bucketSensitivitySettingsIR)
Generate the Bucket IR Sensitivity Margin Aggregatedouble
cumulativeTenorSensitivity()
Generate the Cumulative Tenor SensitivityRiskFactorAggregateIR
curveAggregate(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the IR Margin Factor Curve Tenor Aggregatejava.util.Map<java.lang.String,java.lang.Double>
libor12MTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the LIBOR12M Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
libor12MTenorSensitivity()
Retrieve the LIBOR12M Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
libor1MTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the LIBOR1M Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
libor1MTenorSensitivity()
Retrieve the LIBOR1M Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
libor3MTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the LIBOR3M Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
libor3MTenorSensitivity()
Retrieve the LIBOR3M Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
libor6MTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the LIBOR6M Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
libor6MTenorSensitivity()
Retrieve the LIBOR6M Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
municipalTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the MUNICIPAL Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
municipalTenorSensitivity()
Retrieve the MUNICIPAL Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
oisTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the OIS Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
oisTenorSensitivity()
Retrieve the OIS Risk Factor Tenor Sensitivityjava.util.Map<java.lang.String,java.lang.Double>
primeTenorMargin(BucketSensitivitySettingsIR bucketSensitivitySettings)
Generate the PRIME Tenor Sensitivity Margin MapRiskFactorTenorSensitivity
primeTenorSensitivity()
Retrieve the PRIME Risk Factor Tenor Sensitivitydouble
sensitivityConcentrationRiskFactor(double sensitivityConcentrationThreshold)
Compute the Sensitivity Concentration Risk Factorstatic 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 MapsMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
BucketSensitivityIR
public BucketSensitivityIR(RiskFactorTenorSensitivity oisTenorSensitivity, RiskFactorTenorSensitivity libor1MTenorSensitivity, RiskFactorTenorSensitivity libor3MTenorSensitivity, RiskFactorTenorSensitivity libor6MTenorSensitivity, RiskFactorTenorSensitivity libor12MTenorSensitivity, RiskFactorTenorSensitivity primeTenorSensitivity, RiskFactorTenorSensitivity municipalTenorSensitivity) throws java.lang.ExceptionBucketSensitivityIR Constructor- Parameters:
oisTenorSensitivity
- The OIS Risk Factor Tenor Sensitivitylibor1MTenorSensitivity
- The LIBOR1M Risk Factor Tenor Sensitivitylibor3MTenorSensitivity
- The LIBOR3M Risk Factor Tenor Sensitivitylibor6MTenorSensitivity
- The LIBOR6M Risk Factor Tenor Delta Sensitivitylibor12MTenorSensitivity
- The LIBOR12M Risk Factor Tenor SensitivityprimeTenorSensitivity
- The PRIME Risk Factor Tenor SensitivitymunicipalTenorSensitivity
- 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 Maplibor1MTenorSensitivity
- LIBOR1M Tenor Sensitivity Maplibor3MTenorSensitivity
- LIBOR3M Tenor Sensitivity Maplibor6MTenorSensitivity
- LIBOR6M Tenor Sensitivity Maplibor12MTenorSensitivity
- LIBOR 12M Tenor Sensitivity MapprimeTenorSensitivity
- Prime Tenor Sensitivity MapmunicipalTenorSensitivity
- Municipal Tenor Sensitivity Map- Returns:
- Standard Instance of BucketSensitivityIR from the Tenor Sensitivity Maps
-
oisTenorSensitivity
Retrieve the OIS Risk Factor Tenor Sensitivity- Returns:
- The OIS Risk Factor Tenor Sensitivity
-
libor1MTenorSensitivity
Retrieve the LIBOR1M Risk Factor Tenor Sensitivity- Returns:
- The LIBOR1M Risk Factor Tenor Sensitivity
-
libor3MTenorSensitivity
Retrieve the LIBOR3M Risk Factor Tenor Sensitivity- Returns:
- The LIBOR3M Risk Factor Tenor Sensitivity
-
libor6MTenorSensitivity
Retrieve the LIBOR6M Risk Factor Tenor Sensitivity- Returns:
- The LIBOR6M Risk Factor Tenor Sensitivity
-
libor12MTenorSensitivity
Retrieve the LIBOR12M Risk Factor Tenor Sensitivity- Returns:
- The LIBOR12M Risk Factor Tenor Sensitivity
-
primeTenorSensitivity
Retrieve the PRIME Risk Factor Tenor Sensitivity- Returns:
- The PRIME Risk Factor Tenor Sensitivity
-
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.ExceptionCompute 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
Generate the IR Margin Factor Curve Tenor Aggregate- Parameters:
bucketSensitivitySettings
- The Bucket Tenor Sensitivity Settings- Returns:
- The IR Margin Factor Curve Tenor Aggregate
-
aggregate
Generate the Bucket IR Sensitivity Margin Aggregate- Parameters:
bucketSensitivitySettingsIR
- The IR Bucket Sensitivity Settings- Returns:
- The Bucket IR Sensitivity Margin Aggregate
-