Class CurvatureResponseCornishFischer

java.lang.Object
org.drip.simm.foundation.CurvatureResponseCornishFischer
All Implemented Interfaces:
CurvatureResponse

public class CurvatureResponseCornishFischer
extends java.lang.Object
implements CurvatureResponse
CurvatureResponseCornishFischer computes the Curvature Co-variance Scaling Factor using the Cumulative Curvature Sensitivities. 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
  • Field Summary

    Fields
    Modifier and Type Field Description
    static double CURVATURE_VAR_CUT_OFF
    ISDA SIMM VaR Curvature Cut-off
  • Constructor Summary

    Constructors
    Constructor Description
    CurvatureResponseCornishFischer​(double varCutoff)
    CurvatureResponseCornishFischer Constructor
  • Method Summary

    Modifier and Type Method Description
    double lambda​(double cumulativeRiskFactorSensitivity, double cumulativeRiskFactorSensitivityPositive)
    Compute the Lambda from the Curvature Sensitivities
    double lambdaPlateauPeak()
    Retrieve the Lambda Plateau Peak
    static CurvatureResponseCornishFischer Standard()
    Construct the Standard Instance of CurvatureResponseCornishFischer
    double varCutoff()
    Retrieve the VaR Cut-off

    Methods inherited from class java.lang.Object

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

    • CURVATURE_VAR_CUT_OFF

      public static final double CURVATURE_VAR_CUT_OFF
      ISDA SIMM VaR Curvature Cut-off
      See Also:
      Constant Field Values
  • Constructor Details

    • CurvatureResponseCornishFischer

      public CurvatureResponseCornishFischer​(double varCutoff) throws java.lang.Exception
      CurvatureResponseCornishFischer Constructor
      Parameters:
      varCutoff - VaR Cut-off
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • Standard

      public static final CurvatureResponseCornishFischer Standard()
      Construct the Standard Instance of CurvatureResponseCornishFischer
      Returns:
      The Standard Instance of CurvatureResponseCornishFischer
    • varCutoff

      public double varCutoff()
      Retrieve the VaR Cut-off
      Returns:
      The VaR Cut-off
    • lambdaPlateauPeak

      public double lambdaPlateauPeak()
      Retrieve the Lambda Plateau Peak
      Returns:
      The Lambda Plateau Peak
    • lambda

      public double lambda​(double cumulativeRiskFactorSensitivity, double cumulativeRiskFactorSensitivityPositive) throws java.lang.Exception
      Compute the Lambda from the Curvature Sensitivities
      Specified by:
      lambda in interface CurvatureResponse
      Parameters:
      cumulativeRiskFactorSensitivity - Cumulative Risk Factor Sensitivity
      cumulativeRiskFactorSensitivityPositive - Cumulative Risk Factor Sensitivity Positive
      Returns:
      The Lambda
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid