Interface SabrVolatilityFormula


  • public interface SabrVolatilityFormula
    Provides volatility and sensitivity in the SABR model.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      static SabrVolatilityFormula hagan()
      The Hagan SABR volatility formula.
      double volatility​(double forward, double strike, double timeToExpiry, double alpha, double beta, double rho, double nu)
      Calculates the volatility.
      ValueDerivatives volatilityAdjoint​(double forward, double strike, double timeToExpiry, double alpha, double beta, double rho, double nu)
      Calculates volatility and the adjoint (volatility sensitivity to forward, strike and model parameters).
    • Method Detail

      • hagan

        static SabrVolatilityFormula hagan()
        The Hagan SABR volatility formula.

        This provides the functions of volatility and its sensitivity to the SABR model parameters based on the original Hagan SABR formula.

        Reference: Hagan, P.; Kumar, D.; Lesniewski, A. & Woodward, D. "Managing smile risk", Wilmott Magazine, 2002, September, 84-108

        OpenGamma documentation: SABR Implementation, OpenGamma documentation n. 33, April 2016.

        Returns:
        the SABR Hagan formula
      • volatility

        double volatility​(double forward,
                          double strike,
                          double timeToExpiry,
                          double alpha,
                          double beta,
                          double rho,
                          double nu)
        Calculates the volatility.
        Parameters:
        forward - the forward value of the underlying
        strike - the strike value of the option
        timeToExpiry - the time to expiry of the option
        alpha - the SABR alpha value
        beta - the SABR beta value
        rho - the SABR rho value
        nu - the SABR nu value
        Returns:
        the volatility
      • volatilityAdjoint

        ValueDerivatives volatilityAdjoint​(double forward,
                                           double strike,
                                           double timeToExpiry,
                                           double alpha,
                                           double beta,
                                           double rho,
                                           double nu)
        Calculates volatility and the adjoint (volatility sensitivity to forward, strike and model parameters).

        By default the derivatives are computed by central finite difference approximation. This should be overridden in each subclass.

        Parameters:
        forward - the forward value of the underlying
        strike - the strike value of the option
        timeToExpiry - the time to expiry of the option
        alpha - the SABR alpha value
        beta - the SABR beta value
        rho - the SABR rho value
        nu - the SABR nu value
        Returns:
        the volatility and associated derivatives