Package org.drip.state.nonlinear
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.
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 Summary
Constructors Constructor Description NonlinearCurveBuilder()
-
Method Summary
Modifier and Type Method Description static 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 Componentstatic 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 componentsstatic double
DiscountCurveNode(ValuationParams valuationParams, Component component, double calibrationValue, java.lang.String calibrationMeasure, boolean flat, int curveSegmentIndex, ExplicitBootDiscountCurve explicitBootDiscountCurve, GovvieCurve govvieCurve, LatentStateFixingsContainer latentStateFixingsContainer, ValuationCustomizationParams valuationCustomizationParams)
Calibrate a Single Discount Curve Segment from the corresponding Componentstatic 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 componentsstatic 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)
Calibrate a Single Volatility Curve Segment from the corresponding ComponentMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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 ParameterscalibrationComponent
- The Calibration ComponentcalibrationValue
- The Value to be Calibrated tocalibrationMeasure
- The Calibration Measureflat
- TRUE - Calibrate a Flat Curve across all TenorscurveSegmentIndex
- The Curve Segment IndexexplicitBootCreditCurve
- The Credit Curve to be calibratedmergedDiscountForwardCurve
- The discount curve to be bootstrappedgovvieCurve
- The Govvie CurvecreditPricerParams
- Input Pricer ParameterslatentStateFixingsContainer
- The Latent State Fixings ContainervaluationCustomizationParams
- Valuation Customization ParameterscalibrationParams
- 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.ExceptionCalibrate a Single Discount Curve Segment from the corresponding Component- Parameters:
valuationParams
- Calibration Valuation Parameterscomponent
- The Calibration ComponentcalibrationValue
- The Value to be Calibrated tocalibrationMeasure
- The Calibration Measureflat
- TRUE - Calibrate a Flat Curve across all TenorscurveSegmentIndex
- The Curve Segment IndexexplicitBootDiscountCurve
- The discount curve to be bootstrappedgovvieCurve
- The Govvie CurvelatentStateFixingsContainer
- Latent State Fixings ContainervaluationCustomizationParams
- 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 ParameterscalibrationComponentArray
- Array of the calibration componentscalibrationValueArray
- Array of Calibration ValuescalibrationMeasureArray
- Array of Calibration Measuresbump
- Amount to bump the Quotes byflat
- TRUE - Calibrate a Flat Curve across all TenorsexplicitBootDiscountCurve
- The discount curve to be bootstrappedgovvieCurve
- The Govvie CurvelatentStateFixingsContainer
- Latent State Fixings ContainervaluationCustomizationParams
- 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.ExceptionCalibrate a Single Volatility Curve Segment from the corresponding Component- Parameters:
valuationParams
- Calibration Valuation ParameterscalibrationComponent
- The Calibration ComponentcalibrationValue
- The Value to be Calibrated tocalibrationMeasure
- The Calibration Measureflat
- TRUE - Calibrate a Flat Curve across all TenorscurveSegmentIndex
- The Curve Segment IndexexplicitBootVolatilityCurve
- The Volatility Curve to be bootstrappedmergedDiscountForwardCurve
- The Discount CurveforwardCurve
- The Forward CurvelatentStateFixingsContainer
- Latent State Fixings ContainervaluationCustomizationParams
- 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 ParameterscalibrationComponentArray
- Array of the calibration componentscalibrationValueArray
- Array of Calibration ValuescalibrationMeasureArray
- Array of Calibration Measuresbump
- Amount to bump the Quotes byflat
- TRUE - Calibrate a Flat Curve across all TenorsexplicitBootVolatilityCurve
- The Volatility Curve to be bootstrappedmergedDiscountForwardCurve
- The Discount CurveforwardCurve
- The Forward CurvelatentStateFixingsContainer
- Latent State Fixings ContainervaluationCustomizationParams
- Valuation Customization Parameters- Returns:
- TRUE - Bootstrapping was successful
-