Interface VolatilityCube

All Known Implementing Classes:
SABRVolatilityCube, SABRVolatilityCubeParallel, SABRVolatilityCubeSingleSmile, ScaledVolatilityCube, StaticVolatilityCube, VolVolCube

public interface VolatilityCube
Interface to be implemented by classes providing a volatility cube for a VolatilityCubeModel. The cubes provide volatilities in three dimensions, being termination, maturity and strike. Maturity being the maturity of a physically settled swaption. Termination being the end date of the underlying swap of said swaption and strike being its strike rate inabsolute terms (not moneyness). The dates are stored as double in correlation to the cubes reference date.
Author:
Christian Fries, Roland Bachl
  • Method Details

    • getValue

      double getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
      Return the volatility at the specified coordinates in the desired quotation.
      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

      double getValue(double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
      Return the volatility at the specified coordinates in the desired quotation.
      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

      String getName()
      Returns the name of the volatility cube.
      Returns:
      The name of the volatility cube.
    • getReferenceDate

      LocalDate getReferenceDate()
      Return the reference date of this cube, i.e. the date associated with t=0.
      Returns:
      The date identified as t=0.
    • getCorrelationDecay

      double getCorrelationDecay()
      Return the correlation decay parameter of the cube. This is used to determine the correlation between tenors in a derived volvol cube.
      Returns:
      The correlation decay parameter.
    • getIborOisDecorrelation

      double getIborOisDecorrelation()
      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.
      Returns:
      The IBOR vs OIS decorrelation parameter.
    • getParameters

      Map<String,Object> getParameters()
      Returns a map with all implementation dependent parameters of this volatility cube.
      Returns:
      A map of all parameters.
    • getLowestStrike

      double getLowestStrike(VolatilityCubeModel model)
      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.
      Parameters:
      model - A model for context.
      Returns:
      Lowest possible strike this volatility cube supports.