Class SabrIborCapletFloorletVolatilityCalibrationDefinition

    • Method Detail

      • createSabrParameterMetadata

        public ImmutableList<CurveMetadata> createSabrParameterMetadata()
        Creates curve metadata for SABR parameters.

        The metadata in the list are ordered as alpha, beta, rho, then nu.

        Returns:
        the curve metadata
      • createSabrParameterCurve

        public List<Curve> createSabrParameterCurve​(List<CurveMetadata> metadata,
                                                    DoubleArray nodeValues)
        Creates the parameter curves with parameter node values.

        The node values must be combined nodes ordered as alpha, beta (if beta is not fixed), rho (if rho is not fixed), then nu.

        The returned curves are ordered in the same way. If the beta is fixed, betaCurve is returned as the second element. If the rho is fixed, rhoCurve is returned as the third element.

        Parameters:
        metadata - the metadata
        nodeValues - the parameter node values
        Returns:
        the curves
      • createFullTransform

        public ParameterLimitsTransform[] createFullTransform​(ParameterLimitsTransform[] transform)
        Creates the transformation definition for all the curve parameters.

        The elements in transform must be ordered as alpha, beta, rho, then nu.

        Parameters:
        transform - the transform
        Returns:
        the full transform
      • createFullInitialValues

        public DoubleArray createFullInitialValues()
        Create initial values for all the curve parameters.
        Returns:
        the initial values
      • getBetaCurve

        public Optional<Curve> getBetaCurve()
        Gets the beta (elasticity) curve.

        This represents the beta parameter of SABR model.

        The beta will be treated as one of the calibration parameters if this field is not specified. Either betaCurve or rhoCurve must be present.

        Returns:
        the optional value of the property, not null
      • getRhoCurve

        public Optional<Curve> getRhoCurve()
        Gets the rho (correlation) curve.

        This represents the rho parameter of SABR model.

        The rho will be treated as one of the calibration parameters if this field is not specified. Either betaCurve or rhoCurve must be present.

        Returns:
        the optional value of the property, not null
      • getShiftCurve

        public Curve getShiftCurve()
        Gets the shift curve.

        This represents the shift parameter of shifted SABR model.

        The shift is set to be zero if this field is not specified.

        Returns:
        the value of the property, not null
      • getParameterCurveNodes

        public ImmutableList<DoubleArray> getParameterCurveNodes()
        Gets the nodes of SABR parameter curves.

        The size of the list must be 4, ordered as alpha, beta, rho and nu.

        If the number of nodes is greater than 1, the curve will be created with CurveInterpolator and CurveExtrapolator specified below. Otherwise, ConstantNodalCurve will be created.

        Returns:
        the value of the property, not null
      • getInitialParameters

        public DoubleArray getInitialParameters()
        Gets the initial parameter values used in calibration.

        Default values will be used if not specified. The size of this field must be 4, ordered as alpha, beta, rho and nu.

        Returns:
        the value of the property, not null
      • getInterpolator

        public CurveInterpolator getInterpolator()
        Gets the interpolator for the SABR parameters.
        Returns:
        the value of the property, not null
      • getExtrapolatorLeft

        public CurveExtrapolator getExtrapolatorLeft()
        Gets the left extrapolator for the SABR parameters.

        The flat extrapolation is used if not specified.

        Returns:
        the value of the property, not null
      • getExtrapolatorRight

        public CurveExtrapolator getExtrapolatorRight()
        Gets the right extrapolator for the SABR parameters.

        The flat extrapolation is used if not specified.

        Returns:
        the value of the property, not null
      • getSabrVolatilityFormula

        public SabrVolatilityFormula getSabrVolatilityFormula()
        Gets the SABR formula.
        Returns:
        the value of the property, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object