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, wait
getVolatilityType
getValuationDate, parameterSensitivity, volatility
public 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()
BondFutureVolatilities
getName
in interface BondFutureVolatilities
public <T> Optional<T> findData(MarketDataName<T> name)
findData
in interface MarketDataView
public int getParameterCount()
getParameterCount
in interface ParameterizedData
public double getParameter(int parameterIndex)
getParameter
in interface ParameterizedData
public ParameterMetadata getParameterMetadata(int parameterIndex)
getParameterMetadata
in interface ParameterizedData
public OptionalInt findParameterIndex(ParameterMetadata metadata)
findParameterIndex
in interface ParameterizedData
public BlackBondFutureExpiryLogMoneynessVolatilities withParameter(int parameterIndex, double newValue)
withParameter
in interface ParameterizedData
withParameter
in interface BlackBondFutureVolatilities
withParameter
in interface BondFutureVolatilities
public BlackBondFutureExpiryLogMoneynessVolatilities withPerturbation(ParameterPerturbation perturbation)
withPerturbation
in interface ParameterizedData
withPerturbation
in interface BlackBondFutureVolatilities
withPerturbation
in interface BondFutureVolatilities
public double volatility(double expiry, LocalDate fixingDate, double strikePrice, double futurePrice)
BondFutureVolatilities
This relies on expiry supplied by BondFutureVolatilities.relativeTime(ZonedDateTime)
.
volatility
in interface BondFutureVolatilities
expiry
- 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 BondFutureVolatilities
pointSensitivities
- the point sensitivitiespublic double relativeTime(ZonedDateTime dateTime)
BondFutureVolatilities
When the date is after the valuation date (and potentially time), the returned number is negative.
relativeTime
in interface BondFutureVolatilities
dateTime
- 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.Bean
public ZonedDateTime getValuationDateTime()
The volatilities are calibrated for this date-time.
getValuationDateTime
in interface BondFutureVolatilities
public 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.