Class CurvatureEstimatorResponseFunction

java.lang.Object
org.drip.simm.foundation.CurvatureEstimatorResponseFunction
All Implemented Interfaces:
CurvatureEstimator

public class CurvatureEstimatorResponseFunction
extends java.lang.Object
implements CurvatureEstimator
CurvatureEstimatorResponseFunction estimates the Curvature Margin from the Curvature Sensitivities using the Curvature Response Function. 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:
  • Construct the Cornish Fischer Instance of the Curvature Estimator
  • CurvatureEstimatorResponseFunction Constructor
  • Retrieve the Curvature Response Function
  • Compute the SBA Margin from the Curvature Sensitivities
  • Indicate if the Correlator is Quadratic
  • Generate the Bucket Pair Curvature Variance Modulator

Module Portfolio Core Module
Library Initial and Variation Margin Analytics
Project Initial Margin Analytics based on ISDA SIMM and its Variants
Package Foundation Utilities for ISDA SIMM

Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    CurvatureEstimatorResponseFunction​(CurvatureResponse curvatureResponse)
    CurvatureEstimatorResponseFunction Constructor
  • Method Summary

    Modifier and Type Method Description
    static CurvatureEstimatorResponseFunction CornishFischer()
    Construct the Cornish Fischer Instance of the Curvature Estimator
    CurvatureResponse curvatureResponse()
    Retrieve the Curvature Response Function
    boolean isCorrelatorQuadratric()
    Indicate if the Correlator is Quadratic
    double margin​(double cumulativeRiskFactorSensitivity, double cumulativeRiskFactorSensitivityPositive, double riskFactorSensitivityVariance)
    Compute the SBA Margin from the Curvature Sensitivities
    double varianceModulator​(java.lang.String bucketKey1, double bucketVariance1, java.lang.String bucketKey2, double bucketVariance2)
    Generate the Bucket Pair Curvature Variance Modulator

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CurvatureEstimatorResponseFunction

      public CurvatureEstimatorResponseFunction​(CurvatureResponse curvatureResponse) throws java.lang.Exception
      CurvatureEstimatorResponseFunction Constructor
      Parameters:
      curvatureResponse - The Curvature Response Function
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • CornishFischer

      public static final CurvatureEstimatorResponseFunction CornishFischer()
      Construct the Cornish Fischer Instance of the Curvature Estimator
      Returns:
      The Cornish Fischer Instance of the Curvature Estimator
    • curvatureResponse

      public CurvatureResponse curvatureResponse()
      Retrieve the Curvature Response Function
      Returns:
      The Curvature Response Function
    • margin

      public double margin​(double cumulativeRiskFactorSensitivity, double cumulativeRiskFactorSensitivityPositive, double riskFactorSensitivityVariance) throws java.lang.Exception
      Compute the SBA Margin from the Curvature Sensitivities
      Specified by:
      margin in interface CurvatureEstimator
      Parameters:
      cumulativeRiskFactorSensitivity - Cumulative Risk Factor Sensitivity
      cumulativeRiskFactorSensitivityPositive - Cumulative Risk Factor Sensitivity Positive
      riskFactorSensitivityVariance - Risk Factor Sensitivity Variance
      Returns:
      The SBA Margin
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • isCorrelatorQuadratric

      public boolean isCorrelatorQuadratric()
      Indicate if the Correlator is Quadratic
      Specified by:
      isCorrelatorQuadratric in interface CurvatureEstimator
      Returns:
      TRUE - The Correlator is Quadratic
    • varianceModulator

      public double varianceModulator​(java.lang.String bucketKey1, double bucketVariance1, java.lang.String bucketKey2, double bucketVariance2) throws java.lang.Exception
      Generate the Bucket Pair Curvature Variance Modulator
      Specified by:
      varianceModulator in interface CurvatureEstimator
      Parameters:
      bucketKey1 - Bucket #1 Key
      bucketVariance1 - Bucket #1 Variance
      bucketKey2 - Bucket #2 Key
      bucketVariance2 - Bucket #2 Variance
      Returns:
      The Bucket Pair Curvature Variance Modulator
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid