Interface SabrVolatilityFormula
-
- All Known Implementing Classes:
SabrHaganNormalVolatilityFormula
,SabrHaganVolatilityFunctionProvider
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 ValueType
getVolatilityType()
Gets the type of volatility returned by thevolatility(double, double, double, double, double, double, double)
method.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
-
getVolatilityType
ValueType getVolatilityType()
Gets the type of volatility returned by thevolatility(double, double, double, double, double, double, double)
method.- Returns:
- the type
-
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 underlyingstrike
- the strike value of the optiontimeToExpiry
- the time to expiry of the optionalpha
- the SABR alpha valuebeta
- the SABR beta valuerho
- the SABR rho valuenu
- 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 underlyingstrike
- the strike value of the optiontimeToExpiry
- the time to expiry of the optionalpha
- the SABR alpha valuebeta
- the SABR beta valuerho
- the SABR rho valuenu
- the SABR nu value- Returns:
- the volatility and associated derivatives
-
-