Class RiskFactorAggregateCR

java.lang.Object
org.drip.simm.margin.RiskFactorAggregateCR

public class RiskFactorAggregateCR
extends java.lang.Object
RiskFactorAggregateCR holds the Sensitivity Margin Aggregates for each of the CR Risk Factors - both Qualifying and Non-qualifying. 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
It provides the following Functionality:
  • RiskFactorAggregateCR Constructor
  • Retrieve the Bucket Concentration Risk Factor
  • Retrieve the Component Tenor Sensitivity Margin Map
  • Retrieve the Component Tenor Sensitivity Margin
  • Compute the Cumulative Sensitivity Margin for the specified Component
  • Compute the Cumulative Sensitivity Margin
  • Compute the Component Pair Linear Margin Co-variance
  • Compute the Component Pair Curvature Margin Co-variance
  • Compute the Linear Margin Co-variance
  • Compute the Curvature Margin Co-variance

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 Margin Metrics
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • RiskFactorAggregateCR

      public RiskFactorAggregateCR​(java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.Double>> componentSensitivityMarginMap, double concentrationRiskFactor) throws java.lang.Exception
      RiskFactorAggregateCR Constructor
      Parameters:
      componentSensitivityMarginMap - The Component Sensitivity Margin Map
      concentrationRiskFactor - The Bucket Concentration Risk Factor
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • concentrationRiskFactor

      public double concentrationRiskFactor()
      Retrieve the Bucket Concentration Risk Factor
      Returns:
      The Bucket Concentration Risk Factor
    • componentSensitivityMarginMap

      public java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.Double>> componentSensitivityMarginMap()
      Retrieve the Component Tenor Sensitivity Margin Map
      Returns:
      The Component Tenor Sensitivity Margin Map
    • componentSensitivityMargin

      public java.util.Map<java.lang.String,​java.lang.Double> componentSensitivityMargin​(java.lang.String componentName)
      Retrieve the Component Tenor Sensitivity Margin
      Parameters:
      componentName - The Component Name
      Returns:
      The Component Tenor Sensitivity Margin
    • cumulativeComponentSensitivityMargin

      public double cumulativeComponentSensitivityMargin​(java.lang.String componentName) throws java.lang.Exception
      Compute the Cumulative Sensitivity Margin for the specified Component
      Parameters:
      componentName - The Component Name
      Returns:
      The Cumulative Sensitivity Margin for the specified Component
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • cumulativeSensitivityMargin

      public double cumulativeSensitivityMargin()
      Compute the Cumulative Sensitivity Margin
      Returns:
      The Cumulative Sensitivity Margin
    • componentLinearMarginCovariance

      public double componentLinearMarginCovariance​(BucketSensitivitySettingsCR bucketSensitivitySettingsCR, java.lang.String componentName1, java.lang.String componentName2) throws java.lang.Exception
      Compute the Component Pair Linear Margin Co-variance
      Parameters:
      bucketSensitivitySettingsCR - The CR Bucket Sensitivity Settings
      componentName1 - Component #1 Name
      componentName2 - Component #2 Name
      Returns:
      The Component Pair Linear Margin Covariance
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • componentCurvatureMarginCovariance

      public double componentCurvatureMarginCovariance​(BucketSensitivitySettingsCR bucketSensitivitySettingsCR, java.lang.String componentName1, java.lang.String componentName2) throws java.lang.Exception
      Compute the Component Pair Curvature Margin Co-variance
      Parameters:
      bucketSensitivitySettingsCR - The CR Bucket Sensitivity Settings
      componentName1 - Component #1 Name
      componentName2 - Component #2 Name
      Returns:
      The Component Pair Curvature Margin Covariance
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • linearMargin

      public SensitivityAggregateCR linearMargin​(BucketSensitivitySettingsCR bucketSensitivitySettingsCR)
      Compute the Linear Margin Co-variance
      Parameters:
      bucketSensitivitySettingsCR - The CR Bucket Curve Tenor Sensitivity Settings
      Returns:
      The Linear Margin Co-variance
    • curvatureMargin

      public SensitivityAggregateCR curvatureMargin​(BucketSensitivitySettingsCR bucketSensitivitySettingsCR)
      Compute the Curvature Margin Co-variance
      Parameters:
      bucketSensitivitySettingsCR - The CR Bucket Curve Tenor Sensitivity Settings
      Returns:
      The Curvature Margin Co-variance