public final class BlackBondFutureExpiryLogMoneynessVolatilities extends Object implements BlackBondFutureVolatilities, org.joda.beans.ImmutableBean, Serializable
The volatility is represented by a surface on the expiry and log moneyness. The expiry is measured in number of days (not time) according to a day-count convention.
| Modifier and Type | Class and Description |
|---|---|
static class |
BlackBondFutureExpiryLogMoneynessVolatilities.Builder
The bean-builder for
BlackBondFutureExpiryLogMoneynessVolatilities. |
static class |
BlackBondFutureExpiryLogMoneynessVolatilities.Meta
The meta-bean for
BlackBondFutureExpiryLogMoneynessVolatilities. |
| Modifier and Type | Method and Description |
|---|---|
static BlackBondFutureExpiryLogMoneynessVolatilities.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) |
BondFutureVolatilitiesName |
getName()
Gets the name of these volatilities.
|
double |
getParameter(int parameterIndex) |
int |
getParameterCount() |
ParameterMetadata |
getParameterMetadata(int parameterIndex) |
Surface |
getSurface()
Gets the Black volatility surface.
|
ZonedDateTime |
getValuationDateTime()
Gets the valuation date-time.
|
int |
hashCode() |
static BlackBondFutureExpiryLogMoneynessVolatilities.Meta |
meta()
The meta-bean for
BlackBondFutureExpiryLogMoneynessVolatilities. |
BlackBondFutureExpiryLogMoneynessVolatilities.Meta |
metaBean() |
static BlackBondFutureExpiryLogMoneynessVolatilities |
of(ZonedDateTime valuationDateTime,
InterpolatedNodalSurface surface)
Obtains an instance from the implied volatility surface and the date-time for which it is valid.
|
CurrencyParameterSensitivities |
parameterSensitivity(PointSensitivities pointSensitivities)
Calculates the parameter sensitivity.
|
double |
relativeTime(ZonedDateTime dateTime)
Converts a time and date to a relative year fraction.
|
BlackBondFutureExpiryLogMoneynessVolatilities.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.
|
BlackBondFutureExpiryLogMoneynessVolatilities |
withParameter(int parameterIndex,
double newValue) |
BlackBondFutureExpiryLogMoneynessVolatilities |
withPerturbation(ParameterPerturbation perturbation) |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetVolatilityTypegetValuationDate, parameterSensitivity, volatilitypublic static BlackBondFutureExpiryLogMoneynessVolatilities of(ZonedDateTime valuationDateTime, InterpolatedNodalSurface surface)
The surface is specified by an instance of Surface, such as InterpolatedNodalSurface.
The surface must contain the correct metadata:
ValueType.YEAR_FRACTION
ValueType.LOG_MONEYNESS
ValueType.BLACK_VOLATILITY
SurfaceInfoType.DAY_COUNT
Surfaces.blackVolatilityByExpiryLogMoneyness(String, DayCount).valuationDateTime - the valuation date-timesurface - the implied volatility surfacepublic BondFutureVolatilitiesName getName()
BondFutureVolatilitiesgetName in interface BondFutureVolatilitiespublic <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 BlackBondFutureExpiryLogMoneynessVolatilities withParameter(int parameterIndex, double newValue)
withParameter in interface ParameterizedDatawithParameter in interface BlackBondFutureVolatilitieswithParameter in interface BondFutureVolatilitiespublic BlackBondFutureExpiryLogMoneynessVolatilities withPerturbation(ParameterPerturbation perturbation)
withPerturbation in interface ParameterizedDatawithPerturbation in interface BlackBondFutureVolatilitieswithPerturbation in interface BondFutureVolatilitiespublic double volatility(double expiry,
LocalDate fixingDate,
double strikePrice,
double futurePrice)
BondFutureVolatilities
This relies on expiry supplied by BondFutureVolatilities.relativeTime(ZonedDateTime).
volatility in interface BondFutureVolatilitiesexpiry - the time to expiry as a year fractionfixingDate - the underlying future fixing datestrikePrice - the option strike ratefuturePrice - the forward ratepublic CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities)
BondFutureVolatilities
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 BondFutureVolatilitiespointSensitivities - the point sensitivitiespublic double relativeTime(ZonedDateTime dateTime)
BondFutureVolatilitiesWhen the date is after the valuation date (and potentially time), the returned number is negative.
relativeTime in interface BondFutureVolatilitiesdateTime - the date-time to find the relative year fraction ofpublic static BlackBondFutureExpiryLogMoneynessVolatilities.Meta meta()
BlackBondFutureExpiryLogMoneynessVolatilities.public static BlackBondFutureExpiryLogMoneynessVolatilities.Builder builder()
public BlackBondFutureExpiryLogMoneynessVolatilities.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic ZonedDateTime getValuationDateTime()
The volatilities are calibrated for this date-time.
getValuationDateTime in interface BondFutureVolatilitiespublic Surface getSurface()
The x-value of the surface is the expiry, as a year fraction. The y-value of the surface is the log-moneyness.
public BlackBondFutureExpiryLogMoneynessVolatilities.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.