Class CapletVolatilitiesParametricDisplacedFourParameterAnalytic

  • All Implemented Interfaces:
    Cloneable, ParameterObject, VolatilitySurface

    public class CapletVolatilitiesParametricDisplacedFourParameterAnalytic
    extends AbstractVolatilitySurfaceParametric
    A parametric caplet volatility surface created form the four parameter model for the instantaneous displaced forward rate lognormal volatility given by \( \sigma(t) = (a + b t) \exp(- c t) + d \). In other words, the Black volatility of the displaced rate for maturity T is given by \[ \sqrt{ \frac{1}{T} \int_0^T ((a + b t) \exp(- c t) + d)^2 dt } \]. The displacement may be either set as a fixed parameter (isDisplacementCalibrateable = false) or as a free parameter (isDisplacementCalibrateable = true). This will alter the behavior of the getCloneForParameter method which either requires a double[4] or a double[5] argument.
    Version:
    1.0
    Author:
    Christian Fries
    • Constructor Detail

      • CapletVolatilitiesParametricDisplacedFourParameterAnalytic

        public CapletVolatilitiesParametricDisplacedFourParameterAnalytic​(String name,
                                                                          LocalDate referenceDate,
                                                                          ForwardCurve forwardCurve,
                                                                          DiscountCurve discountCurve,
                                                                          double displacement,
                                                                          boolean isDisplacementCalibrateable,
                                                                          double a,
                                                                          double b,
                                                                          double c,
                                                                          double d,
                                                                          double timeScaling)
        Create a model with parameters a,b,c,d defining a displaced lognormal volatility surface.
        Parameters:
        name - The name of this volatility surface.
        referenceDate - The reference date for this volatility surface, i.e., the date which defined t=0.
        forwardCurve - The underlying forward curve.
        discountCurve - The associated discount curve.
        displacement - The displacement for the forward rate.
        isDisplacementCalibrateable - Boolean specifying if the displacement parameter is considered a free parameter of the model.
        a - The parameter a
        b - The parameter b
        c - The parameter c
        d - The parameter d
        timeScaling - A scaling factor applied to t when converting from global double time to the parametric function argument t.
    • Method Detail

      • getValue

        public double getValue​(double maturity,
                               double strike,
                               VolatilitySurface.QuotingConvention quotingConvention)
        Description copied from interface: VolatilitySurface
        Returns the price or implied volatility for the corresponding maturity and strike.
        Parameters:
        maturity - The option maturity for which the price or implied volatility is requested.
        strike - The option strike for which the price or implied volatility is requested.
        quotingConvention - The quoting convention to be used for the return value.
        Returns:
        The price or implied volatility depending on the quoting convention.
      • getValue

        public double getValue​(AnalyticModel model,
                               double maturity,
                               double strike,
                               VolatilitySurface.QuotingConvention quotingConvention)
        Description copied from interface: VolatilitySurface
        Returns the price or implied volatility for the corresponding maturity and strike.
        Parameters:
        model - An analytic model providing a context. Some curves do not need this (may be null).
        maturity - The option maturity for which the price or implied volatility is requested.
        strike - The option strike for which the price or implied volatility is requested.
        quotingConvention - The quoting convention to be used for the return value.
        Returns:
        The price or implied volatility depending on the quoting convention.
      • getParameter

        public double[] getParameter()
        Description copied from interface: ParameterObject
        Get the current parameter associated with the state of the objects.
        Returns:
        The parameter.
      • setParameter

        public void setParameter​(double[] parameter)
        Description copied from interface: ParameterObject
        Set the current parameter and change the state of the objects.
        Parameters:
        parameter - The parameter associated with the new state of the objects.