Interface BondYieldVolatilities
-
- All Superinterfaces:
MarketDataView,ParameterizedData
- All Known Implementing Classes:
NormalBondYieldExpiryDurationVolatilities
public interface BondYieldVolatilities extends MarketDataView, ParameterizedData
Volatilities for bond options.The volatilities are stored as bond yield equivalent volatilities but are converted to bond price volatilities through the formula "price volatility = duration * yield * yield volatility".
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CurrencygetCurrency()Gets the currency for which the data is valid.BondVolatilitiesNamegetName()Gets the name of these volatilities.default LocalDategetValuationDate()Gets the valuation date.ZonedDateTimegetValuationDateTime()Gets the valuation date-time.ValueTypegetVolatilityType()Gets the type of volatility returned by thevolatility(double, double, double, double)method.CurrencyParameterSensitivitiesparameterSensitivity(PointSensitivities pointSensitivities)Calculates the parameter sensitivity.default CurrencyParameterSensitivitiesparameterSensitivity(PointSensitivity... pointSensitivities)Calculates the parameter sensitivity.default doublepriceVolatilityEquivalent(double duration, double yieldVolatility)Calculates the price volatility equivalent to the yield volatility.default doublepriceVolatilityEquivalent(double expiry, double duration, double strike, double forward)Calculates the price volatility equivalent to the yield volatility.default doublepriceVolatilityEquivalent(ZonedDateTime expiryDateTime, double duration, double strike, double forward)Calculates the price volatility equivalent to the yield volatility.default ValueDerivativespriceVolatilityEquivalentAd(double duration, double yieldVolatility)Calculates the price volatility equivalent to the yield volatility and its derivatives.default ValueDerivativespriceVolatilityEquivalentAd(double expiry, double duration, double strike, double forward)Calculates the price volatility equivalent to the yield volatility and its derivatives.default ValueDerivativespriceVolatilityEquivalentAd(ZonedDateTime expiryDateTime, double duration, double strike, double forward)Calculates the price volatility equivalent to the yield volatility and its derivatives.doublerelativeTime(ZonedDateTime dateTime)Converts a time and date to a relative year fraction.doublevolatility(double expiry, double duration, double strike, double forward)Calculates the volatility at the specified expiry.default doublevolatility(ZonedDateTime expiryDateTime, double duration, double strike, double forward)Calculates the volatility at the specified expiry.BondYieldVolatilitieswithParameter(int parameterIndex, double newValue)Returns a copy of the data with the value at the specified index altered.BondYieldVolatilitieswithPerturbation(ParameterPerturbation perturbation)Returns a perturbed copy of the data.-
Methods inherited from interface com.opengamma.strata.market.MarketDataView
findData
-
Methods inherited from interface com.opengamma.strata.market.param.ParameterizedData
findParameterIndex, getParameter, getParameterCount, getParameterMetadata
-
-
-
-
Method Detail
-
getCurrency
Currency getCurrency()
Gets the currency for which the data is valid.- Returns:
- the currency
-
getName
BondVolatilitiesName getName()
Gets the name of these volatilities.- Returns:
- the name
-
getVolatilityType
ValueType getVolatilityType()
Gets the type of volatility returned by thevolatility(double, double, double, double)method.- Returns:
- the type
-
getValuationDateTime
ZonedDateTime getValuationDateTime()
Gets the valuation date-time.The volatilities are calibrated for this date-time.
- Returns:
- the valuation date-time
-
getValuationDate
default LocalDate getValuationDate()
Gets the valuation date.The volatilities are calibrated for this date.
- Specified by:
getValuationDatein interfaceMarketDataView- Returns:
- the valuation date
-
withParameter
BondYieldVolatilities withParameter(int parameterIndex, double newValue)
Description copied from interface:ParameterizedDataReturns a copy of the data with the value at the specified index altered.This instance is immutable and unaffected by this method call.
- Specified by:
withParameterin interfaceParameterizedData- Parameters:
parameterIndex- the zero-based index of the parameter to getnewValue- the new value for the specified parameter- Returns:
- a parameterized data instance based on this with the specified parameter altered
-
withPerturbation
BondYieldVolatilities withPerturbation(ParameterPerturbation perturbation)
Description copied from interface:ParameterizedDataReturns a perturbed copy of the data.The perturbation instance will be invoked once for each parameter in this instance, returning the perturbed value for that parameter. The result of this method is a new instance that is based on those perturbed values.
This instance is immutable and unaffected by this method call.
- Specified by:
withPerturbationin interfaceParameterizedData- Parameters:
perturbation- the perturbation to apply- Returns:
- a parameterized data instance based on this with the specified perturbation applied
-
volatility
double volatility(double expiry, double duration, double strike, double forward)Calculates the volatility at the specified expiry.This relies on expiry supplied by
relativeTime(ZonedDateTime).- Parameters:
expiry- the time to expiry as a year fractionduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the volatility
- Throws:
RuntimeException- if the value cannot be obtained
-
volatility
default double volatility(ZonedDateTime expiryDateTime, double duration, double strike, double forward)
Calculates the volatility at the specified expiry.- Parameters:
expiryDateTime- the option expiryduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the volatility
- Throws:
RuntimeException- if the value cannot be obtained
-
priceVolatilityEquivalent
default double priceVolatilityEquivalent(double expiry, double duration, double strike, double forward)Calculates the price volatility equivalent to the yield volatility.- Parameters:
expiry- the time to expiry as a year fractionduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the price volatility
-
priceVolatilityEquivalentAd
default ValueDerivatives priceVolatilityEquivalentAd(double expiry, double duration, double strike, double forward)
Calculates the price volatility equivalent to the yield volatility and its derivatives.The derivatives are in the following order:
- [0] derivative with respect to the duration
- [1] derivative with respect to the yieldVolatility
- Parameters:
expiry- the time to expiry as a year fractionduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the price volatility
-
priceVolatilityEquivalent
default double priceVolatilityEquivalent(ZonedDateTime expiryDateTime, double duration, double strike, double forward)
Calculates the price volatility equivalent to the yield volatility.- Parameters:
expiryDateTime- the option expiryduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the price volatility
-
priceVolatilityEquivalentAd
default ValueDerivatives priceVolatilityEquivalentAd(ZonedDateTime expiryDateTime, double duration, double strike, double forward)
Calculates the price volatility equivalent to the yield volatility and its derivatives.The derivatives are in the following order:
- [0] derivative with respect to the duration
- [1] derivative with respect to the yieldVolatility
- Parameters:
expiryDateTime- the option expiryduration- the modified duration of the instrument as a year fractionstrike- the strike yieldforward- the forward yield of the underlying bond- Returns:
- the price volatility
-
priceVolatilityEquivalent
default double priceVolatilityEquivalent(double duration, double yieldVolatility)Calculates the price volatility equivalent to the yield volatility.- Parameters:
duration- the modified durationyieldVolatility- the yield volatility- Returns:
- the price volatility
-
priceVolatilityEquivalentAd
default ValueDerivatives priceVolatilityEquivalentAd(double duration, double yieldVolatility)
Calculates the price volatility equivalent to the yield volatility and its derivatives.The derivatives are in the following order:
- [0] derivative with respect to the duration
- [1] derivative with respect to the yieldVolatility
- Parameters:
duration- the modified durationyieldVolatility- the yield volatility- Returns:
- the price volatility
-
parameterSensitivity
default CurrencyParameterSensitivities parameterSensitivity(PointSensitivity... pointSensitivities)
Calculates the parameter sensitivity.This computes the
CurrencyParameterSensitivitiesassociated with thePointSensitivities. This corresponds to the projection of the point sensitivity to the internal parameters representation.- Parameters:
pointSensitivities- the point sensitivities- Returns:
- the sensitivity to the underlying parameters
-
parameterSensitivity
CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities)
Calculates the parameter sensitivity.This computes the
CurrencyParameterSensitivitiesassociated with thePointSensitivities. This corresponds to the projection of the point sensitivity to the internal parameters representation.- Parameters:
pointSensitivities- the point sensitivities- Returns:
- the sensitivity to the underlying parameters
-
relativeTime
double relativeTime(ZonedDateTime dateTime)
Converts a time and date to a relative year fraction.When the date is after the valuation date (and potentially time), the returned number is negative.
- Parameters:
dateTime- the date-time to find the relative year fraction of- Returns:
- the relative year fraction
-
-