public final class NormalIborFutureOptionExpirySimpleMoneynessVolatilities extends Object implements NormalIborFutureOptionVolatilities, org.joda.beans.ImmutableBean, Serializable
The volatility is represented by a surface on the expiry and simple moneyness. The expiry is measured in number of days (not time) according to a day-count convention. The simple moneyness can be on the price or on the rate (1-price).
| Modifier and Type | Class and Description |
|---|---|
static class |
NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Builder
The bean-builder for
NormalIborFutureOptionExpirySimpleMoneynessVolatilities. |
static class |
NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Meta
The meta-bean for
NormalIborFutureOptionExpirySimpleMoneynessVolatilities. |
| Modifier and Type | Method and Description |
|---|---|
static NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
<T> Optional<T> |
findData(MarketDataName<T> name) |
OptionalInt |
findParameterIndex(ParameterMetadata metadata) |
IborIndex |
getIndex()
Gets the index of the underlying future.
|
IborFutureOptionVolatilitiesName |
getName()
Gets the name of these volatilities.
|
double |
getParameter(int parameterIndex) |
int |
getParameterCount() |
ParameterMetadata |
getParameterMetadata(int parameterIndex) |
Surface |
getSurface()
Gets the normal volatility surface.
|
ZonedDateTime |
getValuationDateTime()
Gets the valuation date-time.
|
int |
hashCode() |
static NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Meta |
meta()
The meta-bean for
NormalIborFutureOptionExpirySimpleMoneynessVolatilities. |
NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Meta |
metaBean() |
static NormalIborFutureOptionExpirySimpleMoneynessVolatilities |
of(IborIndex index,
ZonedDateTime valuationDateTime,
Surface surface)
Obtains an instance from the volatility surface and the date-time for which it is valid.
|
CurrencyParameterSensitivities |
parameterSensitivity(PointSensitivities pointSensitivities)
Calculates the parameter sensitivity.
|
double |
relativeTime(ZonedDateTime zonedDateTime)
Converts a time and date to a relative year fraction.
|
NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
double |
volatility(double expiry,
LocalDate fixingDate,
double strikePrice,
double futurePrice)
Calculates the volatility at the specified expiry.
|
NormalIborFutureOptionExpirySimpleMoneynessVolatilities |
withParameter(int parameterIndex,
double newValue) |
NormalIborFutureOptionExpirySimpleMoneynessVolatilities |
withPerturbation(ParameterPerturbation perturbation) |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetVolatilityTypegetValuationDate, parameterSensitivity, volatilitypublic static NormalIborFutureOptionExpirySimpleMoneynessVolatilities of(IborIndex index, ZonedDateTime valuationDateTime, Surface surface)
The surface is specified by an instance of Surface, such as InterpolatedNodalSurface.
The surface must contain the correct metadata:
ValueType.YEAR_FRACTION
ValueType.SIMPLE_MONEYNESS
ValueType.NORMAL_VOLATILITY
SurfaceInfoType.DAY_COUNT
Surfaces.normalVolatilityByExpirySimpleMoneyness(String, DayCount, MoneynessType).index - the Ibor indexsurface - the implied volatility surfacevaluationDateTime - the valuation date-timepublic IborFutureOptionVolatilitiesName getName()
IborFutureOptionVolatilitiesgetName in interface IborFutureOptionVolatilitiespublic <T> Optional<T> findData(MarketDataName<T> name)
findData in interface MarketDataViewpublic int getParameterCount()
getParameterCount in interface ParameterizedDatapublic double getParameter(int parameterIndex)
getParameter in interface ParameterizedDatapublic ParameterMetadata getParameterMetadata(int parameterIndex)
getParameterMetadata in interface ParameterizedDatapublic OptionalInt findParameterIndex(ParameterMetadata metadata)
findParameterIndex in interface ParameterizedDatapublic NormalIborFutureOptionExpirySimpleMoneynessVolatilities withParameter(int parameterIndex, double newValue)
withParameter in interface ParameterizedDatawithParameter in interface IborFutureOptionVolatilitieswithParameter in interface NormalIborFutureOptionVolatilitiespublic NormalIborFutureOptionExpirySimpleMoneynessVolatilities withPerturbation(ParameterPerturbation perturbation)
withPerturbation in interface ParameterizedDatawithPerturbation in interface IborFutureOptionVolatilitieswithPerturbation in interface NormalIborFutureOptionVolatilitiespublic double volatility(double expiry,
LocalDate fixingDate,
double strikePrice,
double futurePrice)
IborFutureOptionVolatilities
This relies on expiry supplied by IborFutureOptionVolatilities.relativeTime(ZonedDateTime).
volatility in interface IborFutureOptionVolatilitiesexpiry - the time to expiry as a year fractionfixingDate - the underlying future fixing datestrikePrice - the option strike pricefuturePrice - the price of the underlying futurepublic CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities)
IborFutureOptionVolatilities
This computes the CurrencyParameterSensitivities associated with the PointSensitivities.
This corresponds to the projection of the point sensitivity to the internal parameters representation.
parameterSensitivity in interface IborFutureOptionVolatilitiespointSensitivities - the point sensitivitiespublic double relativeTime(ZonedDateTime zonedDateTime)
IborFutureOptionVolatilitiesWhen the date is after the valuation date (and potentially time), the returned number is negative.
relativeTime in interface IborFutureOptionVolatilitieszonedDateTime - the date-time to find the relative year fraction ofpublic static NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Meta meta()
NormalIborFutureOptionExpirySimpleMoneynessVolatilities.public static NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Builder builder()
public NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic IborIndex getIndex()
getIndex in interface IborFutureOptionVolatilitiespublic ZonedDateTime getValuationDateTime()
The volatilities are calibrated for this date-time.
getValuationDateTime in interface IborFutureOptionVolatilitiespublic Surface getSurface()
The x-value of the surface is the expiry, as a year fraction. The y-value of the surface is the simple moneyness.
public NormalIborFutureOptionExpirySimpleMoneynessVolatilities.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.