public interface SabrVolatilityFormula
Modifier and Type | Method and 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).
|
static SabrVolatilityFormula hagan()
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.
double volatility(double forward, double strike, double timeToExpiry, double alpha, double beta, double rho, double nu)
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 valueValueDerivatives volatilityAdjoint(double forward, double strike, double timeToExpiry, double alpha, double beta, double rho, double nu)
By default the derivatives are computed by central finite difference approximation. This should be overridden in each subclass.
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 valueCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.