Class SABRVolatilityCubeSingleSmile

  • All Implemented Interfaces:
    Serializable, VolatilityCube

    public class SABRVolatilityCubeSingleSmile
    extends Object
    implements VolatilityCube, Serializable
    A simplified volatility cube that provides a volatility smile in strike for all possible maturities and terminations, based on a single set of SABR parameters.
    Author:
    Christian Fries, Roland Bachl
    See Also:
    Serialized Form
    • Constructor Detail

      • SABRVolatilityCubeSingleSmile

        public SABRVolatilityCubeSingleSmile​(String name,
                                             LocalDate referenceDate,
                                             double underlying,
                                             double sabrAlpha,
                                             double sabrBeta,
                                             double sabrRho,
                                             double sabrNu,
                                             double sabrDisplacement)
        Create the cube.
        Parameters:
        name - The name of the cube.
        referenceDate - The reference date of the cube.
        underlying - The dummy underlying to be used for the SABR model.
        sabrAlpha - The initial value of the stochastic volatility process of the SABR model.
        sabrBeta - The beta CEV parameter of the SABR model.
        sabrRho - Correlation (leverages) of the stochastic volatility.
        sabrNu - Volatility of the stochastic volatility (vol-of-vol).
        sabrDisplacement - The displacement parameter of the smile.
      • SABRVolatilityCubeSingleSmile

        public SABRVolatilityCubeSingleSmile​(String name,
                                             LocalDate referenceDate,
                                             double underlying,
                                             double sabrAlpha,
                                             double sabrBeta,
                                             double sabrRho,
                                             double sabrNu,
                                             double sabrDisplacement,
                                             double correlationDecay)
        Create the cube.
        Parameters:
        name - The name of the cube.
        referenceDate - The reference date of the cube.
        underlying - The dummy underlying to be used for the SABR model.
        sabrAlpha - The initial value of the stochastic volatility process of the SABR model.
        sabrBeta - The beta CEV parameter of the SABR model.
        sabrRho - Correlation (leverages) of the stochastic volatility.
        sabrNu - Volatility of the stochastic volatility (vol-of-vol).
        sabrDisplacement - The displacement parameter of the smile.
        correlationDecay - The correlation decay inherent to this cube.
      • SABRVolatilityCubeSingleSmile

        public SABRVolatilityCubeSingleSmile​(String name,
                                             LocalDate referenceDate,
                                             double underlying,
                                             double sabrAlpha,
                                             double sabrBeta,
                                             double sabrRho,
                                             double sabrNu,
                                             double sabrDisplacement,
                                             double correlationDecay,
                                             double iborOisDecorrelation)
        Create the cube.
        Parameters:
        name - The name of the cube.
        referenceDate - The reference date of the cube.
        underlying - The dummy underlying to be used for the SABR model.
        sabrAlpha - The initial value of the stochastic volatility process of the SABR model.
        sabrBeta - The beta CEV parameter of the SABR model.
        sabrRho - Correlation (leverages) of the stochastic volatility.
        sabrNu - Volatility of the stochastic volatility (vol-of-vol).
        sabrDisplacement - The displacement parameter of the smile.
        correlationDecay - The correlation decay inherent to this cube.
        iborOisDecorrelation - The ibor ois decorrealtion parameter of this cube.
    • Method Detail

      • getValue

        public double getValue​(VolatilityCubeModel model,
                               double termination,
                               double maturity,
                               double strike,
                               VolatilitySurface.QuotingConvention quotingConvention)
        Description copied from interface: VolatilityCube
        Return the volatility at the specified coordinates in the desired quotation.
        Specified by:
        getValue in interface VolatilityCube
        Parameters:
        model - A model providing context.
        termination - End date of the underlying.
        maturity - Maturity date of the option.
        strike - Strike rate of the option.
        quotingConvention - Desired quoting convention.
        Returns:
        The volatility.
      • getValue

        public double getValue​(double termination,
                               double maturity,
                               double strike,
                               VolatilitySurface.QuotingConvention quotingConvention)
        Description copied from interface: VolatilityCube
        Return the volatility at the specified coordinates in the desired quotation.
        Specified by:
        getValue in interface VolatilityCube
        Parameters:
        termination - End date of the underlying.
        maturity - Maturity date of the option.
        strike - Strike rate of the option.
        quotingConvention - Desired quoting convention.
        Returns:
        The volatility.
      • getName

        public String getName()
        Description copied from interface: VolatilityCube
        Returns the name of the volatility cube.
        Specified by:
        getName in interface VolatilityCube
        Returns:
        The name of the volatility cube.
      • getReferenceDate

        public LocalDate getReferenceDate()
        Description copied from interface: VolatilityCube
        Return the reference date of this cube, i.e. the date associated with t=0.
        Specified by:
        getReferenceDate in interface VolatilityCube
        Returns:
        The date identified as t=0.
      • getCorrelationDecay

        public double getCorrelationDecay()
        Description copied from interface: VolatilityCube
        Return the correlation decay parameter of the cube. This is used to determine the correlation between tenors in a derived volvol cube.
        Specified by:
        getCorrelationDecay in interface VolatilityCube
        Returns:
        The correlation decay parameter.
      • getParameters

        public Map<String,​Object> getParameters()
        Description copied from interface: VolatilityCube
        Returns a map with all implementation dependent parameters of this volatility cube.
        Specified by:
        getParameters in interface VolatilityCube
        Returns:
        A map of all parameters.
      • getLowestStrike

        public double getLowestStrike​(VolatilityCubeModel model)
        Description copied from interface: VolatilityCube
        Returns the lowest possible value of strike that can be evaluated by this cube. This is relevant for instance when an implementation uses a SABR model with displacement.
        Specified by:
        getLowestStrike in interface VolatilityCube
        Parameters:
        model - A model for context.
        Returns:
        Lowest possible strike this volatility cube supports.
      • getIborOisDecorrelation

        public double getIborOisDecorrelation()
        Description copied from interface: VolatilityCube
        Return the IBOR vs OIS decorrelation parameter. This parameter scales the convexity adjustment in a multi curve model, using different curves for forward rates and discounting.
        Specified by:
        getIborOisDecorrelation in interface VolatilityCube
        Returns:
        The IBOR vs OIS decorrelation parameter.