Class NonlinearCurveBuilder

java.lang.Object
org.drip.state.nonlinear.NonlinearCurveBuilder

public class NonlinearCurveBuilder
extends java.lang.Object
NonlinearCurveBuilder calibrates the discount and credit/hazard curves from the components and their quotes. NonlinearCurveCalibrator employs a set of techniques for achieving this calibration.

  • It bootstraps the nodes in sequence to calibrate the curve.
  • In conjunction with splining estimation techniques, it may also be used to perform dual sweep calibration. The inner sweep achieves the calibration of the segment spline parameters, while the outer sweep calibrates iteratively for the targeted boundary conditions.
  • It may also be used to custom calibrate a single Interest Rate/Hazard Rate/Volatility Node from the corresponding Component.
CurveCalibrator bootstraps/cooks both discount curves and credit curves.
Module Product Core Module
Library Fixed Income Analytics
Project Latent State Inference and Creation Utilities
Package Nonlinear (i.e., Boot) Latent State Construction
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • NonlinearCurveBuilder

      public NonlinearCurveBuilder()
  • Method Details

    • CreditCurve

      public static final boolean CreditCurve​(ValuationParams valuationParams, Component calibrationComponent, double calibrationValue, java.lang.String calibrationMeasure, boolean flat, int curveSegmentIndex, ExplicitBootCreditCurve explicitBootCreditCurve, MergedDiscountForwardCurve mergedDiscountForwardCurve, GovvieCurve govvieCurve, CreditPricerParams creditPricerParams, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams, CalibrationParams calibrationParams)
      Calibrate a single Hazard Rate Node from the corresponding Component
      Parameters:
      valuationParams - Calibration Valuation Parameters
      calibrationComponent - The Calibration Component
      calibrationValue - The Value to be Calibrated to
      calibrationMeasure - The Calibration Measure
      flat - TRUE - Calibrate a Flat Curve across all Tenors
      curveSegmentIndex - The Curve Segment Index
      explicitBootCreditCurve - The Credit Curve to be calibrated
      mergedDiscountForwardCurve - The discount curve to be bootstrapped
      govvieCurve - The Govvie Curve
      creditPricerParams - Input Pricer Parameters
      latentStateFixingsContainer - The Latent State Fixings Container
      valuationCustomizationParams - Valuation Customization Parameters
      calibrationParams - The Calibration Parameters
      Returns:
      The successfully calibrated State Hazard Rate Point
    • DiscountCurveNode

      public static final double DiscountCurveNode​(ValuationParams valuationParams, Component component, double calibrationValue, java.lang.String calibrationMeasure, boolean flat, int curveSegmentIndex, ExplicitBootDiscountCurve explicitBootDiscountCurve, GovvieCurve govvieCurve, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams) throws java.lang.Exception
      Calibrate a Single Discount Curve Segment from the corresponding Component
      Parameters:
      valuationParams - Calibration Valuation Parameters
      component - The Calibration Component
      calibrationValue - The Value to be Calibrated to
      calibrationMeasure - The Calibration Measure
      flat - TRUE - Calibrate a Flat Curve across all Tenors
      curveSegmentIndex - The Curve Segment Index
      explicitBootDiscountCurve - The discount curve to be bootstrapped
      govvieCurve - The Govvie Curve
      latentStateFixingsContainer - Latent State Fixings Container
      valuationCustomizationParams - Valuation Customization Parameters
      Returns:
      The successfully calibrated State IR Point
      Throws:
      java.lang.Exception - Thrown if the Bootstrapping is unsuccessful
    • DiscountCurve

      public static final boolean DiscountCurve​(ValuationParams valuationParams, Component[] calibrationComponentArray, double[] calibrationValueArray, java.lang.String[] calibrationMeasureArray, double bump, boolean flat, ExplicitBootDiscountCurve explicitBootDiscountCurve, GovvieCurve govvieCurve, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams)
      Boot-strap a Discount Curve from the set of calibration components
      Parameters:
      valuationParams - Calibration Valuation Parameters
      calibrationComponentArray - Array of the calibration components
      calibrationValueArray - Array of Calibration Values
      calibrationMeasureArray - Array of Calibration Measures
      bump - Amount to bump the Quotes by
      flat - TRUE - Calibrate a Flat Curve across all Tenors
      explicitBootDiscountCurve - The discount curve to be bootstrapped
      govvieCurve - The Govvie Curve
      latentStateFixingsContainer - Latent State Fixings Container
      valuationCustomizationParams - Valuation Customization Parameters
      Returns:
      TRUE - Bootstrapping was successful
    • VolatilityCurveNode

      public static final double VolatilityCurveNode​(ValuationParams valuationParams, Component calibrationComponent, double calibrationValue, java.lang.String calibrationMeasure, boolean flat, int curveSegmentIndex, ExplicitBootVolatilityCurve explicitBootVolatilityCurve, MergedDiscountForwardCurve mergedDiscountForwardCurve, ForwardCurve forwardCurve, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams) throws java.lang.Exception
      Calibrate a Single Volatility Curve Segment from the corresponding Component
      Parameters:
      valuationParams - Calibration Valuation Parameters
      calibrationComponent - The Calibration Component
      calibrationValue - The Value to be Calibrated to
      calibrationMeasure - The Calibration Measure
      flat - TRUE - Calibrate a Flat Curve across all Tenors
      curveSegmentIndex - The Curve Segment Index
      explicitBootVolatilityCurve - The Volatility Curve to be bootstrapped
      mergedDiscountForwardCurve - The Discount Curve
      forwardCurve - The Forward Curve
      latentStateFixingsContainer - Latent State Fixings Container
      valuationCustomizationParams - Valuation Customization Parameters
      Returns:
      The successfully calibrated State IR Point
      Throws:
      java.lang.Exception - Thrown if the Bootstrapping is unsuccessful
    • VolatilityCurve

      public static final boolean VolatilityCurve​(ValuationParams valuationParams, Component[] calibrationComponentArray, double[] calibrationValueArray, java.lang.String[] calibrationMeasureArray, double bump, boolean flat, ExplicitBootVolatilityCurve explicitBootVolatilityCurve, MergedDiscountForwardCurve mergedDiscountForwardCurve, ForwardCurve forwardCurve, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams)
      Boot-strap a Volatility Curve from the set of calibration components
      Parameters:
      valuationParams - Calibration Valuation Parameters
      calibrationComponentArray - Array of the calibration components
      calibrationValueArray - Array of Calibration Values
      calibrationMeasureArray - Array of Calibration Measures
      bump - Amount to bump the Quotes by
      flat - TRUE - Calibrate a Flat Curve across all Tenors
      explicitBootVolatilityCurve - The Volatility Curve to be bootstrapped
      mergedDiscountForwardCurve - The Discount Curve
      forwardCurve - The Forward Curve
      latentStateFixingsContainer - Latent State Fixings Container
      valuationCustomizationParams - Valuation Customization Parameters
      Returns:
      TRUE - Bootstrapping was successful