Class SABRVolatilityCubeSingleSmile

java.lang.Object
net.finmath.singleswaprate.model.volatilities.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:
  • Constructor Details

    • 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 Details

    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • 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.