public interface SmileDeltaTermStructure extends ParameterizedData
The term structure defined here is composed of smile descriptions at different times.
The data of each smile contains delta and volatility in SmileDeltaParameters.
The delta values must be common to all of the smiles.
The volatility and its sensitivities to data points are represented as a function of time, strike and forward.
| Modifier and Type | Method and Description |
|---|---|
DayCount |
getDayCount()
Gets the day count convention used for the expiry.
|
default DoubleArray |
getDelta()
Gets delta values.
|
default DoubleArray |
getDeltaFull()
Computes full delta for all strikes including put delta absolute value.
|
DoubleArray |
getExpiries()
Gets the expiries associated with the volatility term.
|
default List<Optional<Tenor>> |
getExpiryTenors()
Gets the tenor associated with each expiry in the volatility term.
|
default int |
getSmileCount()
Gets the number of smiles.
|
default int |
getStrikeCount()
Gets the number of strikes.
|
ImmutableList<SmileDeltaParameters> |
getVolatilityTerm()
Gets the volatility smiles from delta.
|
ValueDerivatives |
partialFirstDerivatives(double expiry,
double strike,
double forward)
Computes the partial derivatives of the volatilities.
|
SmileAndBucketedSensitivities |
smileAndSensitivitiesForExpiry(double expiry,
DoubleArray volatilityAtTimeSensitivity)
Calculates the smile at a given time and the sensitivities with respect to the volatility data points.
|
SmileDeltaParameters |
smileForExpiry(double expiry)
Calculates the smile at a given time.
|
double |
volatility(double expiry,
double strike,
double forward)
Calculates the volatility at a given time/strike/forward from the term structure.
|
VolatilityAndBucketedSensitivities |
volatilityAndSensitivities(double expiry,
double strike,
double forward)
Calculates the volatility and the volatility sensitivity with respect to the volatility data points.
|
SmileDeltaTermStructure |
withParameter(int parameterIndex,
double newValue) |
SmileDeltaTermStructure |
withPerturbation(ParameterPerturbation perturbation) |
findParameterIndex, getParameter, getParameterCount, getParameterMetadataDayCount getDayCount()
default int getSmileCount()
default int getStrikeCount()
default DoubleArray getDelta()
ImmutableList<SmileDeltaParameters> getVolatilityTerm()
DoubleArray getExpiries()
default List<Optional<Tenor>> getExpiryTenors()
default DoubleArray getDeltaFull()
The ATM is 0.50 delta and the x call are transformed in 1-x put.
double volatility(double expiry,
double strike,
double forward)
expiry - the time to expirystrike - the strikeforward - the forwardVolatilityAndBucketedSensitivities volatilityAndSensitivities(double expiry, double strike, double forward)
expiry - the time to expirystrike - the strikeforward - the forwardValueDerivatives partialFirstDerivatives(double expiry, double strike, double forward)
The first derivatives are dVol/dExpiry and dVol/dStrike.
The derivatives are in the following order:
expiry - the expiry at which the partial derivative is takenstrike - the strike at which the partial derivative is takenforward - the forward rateRuntimeException - if the derivative cannot be calculatedSmileDeltaParameters smileForExpiry(double expiry)
expiry - the time to expirySmileAndBucketedSensitivities smileAndSensitivitiesForExpiry(double expiry, DoubleArray volatilityAtTimeSensitivity)
expiry - the time to expiryvolatilityAtTimeSensitivity - the sensitivity to the volatilities of the smile at the given timeSmileDeltaTermStructure withParameter(int parameterIndex, double newValue)
withParameter in interface ParameterizedDataSmileDeltaTermStructure withPerturbation(ParameterPerturbation perturbation)
withPerturbation in interface ParameterizedDataCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.