public class VolatilityIborCapletFloorletPeriodPricer extends Object
The pricing methodologies are defined in individual implementations of the volatilities, IborCapletFloorletVolatilities.
The value of the caplet/floorlet after expiry is a fixed payoff amount. The value is zero if valuation date is after payment date of the caplet/floorlet.
The consistency between RatesProvider and IborCapletFloorletVolatilities is not checked in this
class, but validated only once in VolatilityIborCapFloorLegPricer.
| Modifier and Type | Field and Description |
|---|---|
static VolatilityIborCapletFloorletPeriodPricer |
DEFAULT
Default implementation.
|
| Constructor and Description |
|---|
VolatilityIborCapletFloorletPeriodPricer() |
| Modifier and Type | Method and Description |
|---|---|
double |
forwardRate(IborCapletFloorletPeriod period,
RatesProvider ratesProvider)
Computes the forward rate for the Ibor caplet/floorlet.
|
double |
impliedVolatility(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Computes the implied volatility of the Ibor caplet/floorlet.
|
CurrencyAmount |
presentValue(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value of the Ibor caplet/floorlet period.
|
CurrencyAmount |
presentValueDelta(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value delta of the Ibor caplet/floorlet period.
|
CurrencyAmount |
presentValueGamma(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value gamma of the Ibor caplet/floorlet period.
|
PointSensitivityBuilder |
presentValueSensitivityModelParamsVolatility(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value volatility sensitivity of the Ibor caplet/floorlet.
|
PointSensitivityBuilder |
presentValueSensitivityRates(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value rates sensitivity of the Ibor caplet/floorlet.
|
CurrencyAmount |
presentValueTheta(IborCapletFloorletPeriod period,
RatesProvider ratesProvider,
IborCapletFloorletVolatilities volatilities)
Calculates the present value theta of the Ibor caplet/floorlet period.
|
protected void |
validate(IborCapletFloorletVolatilities volatilities)
Validate the volatilities provider.
|
public static final VolatilityIborCapletFloorletPeriodPricer DEFAULT
public VolatilityIborCapletFloorletPeriodPricer()
public CurrencyAmount presentValue(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The result is expressed using the currency of the period.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic double impliedVolatility(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic double forwardRate(IborCapletFloorletPeriod period, RatesProvider ratesProvider)
period - the Ibor caplet/floorlet periodratesProvider - the rates providerpublic CurrencyAmount presentValueDelta(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The present value delta is given by the first derivative of the present value with respect to forward.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic CurrencyAmount presentValueGamma(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The present value gamma is given by the second derivative of the present value with respect to forward.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic CurrencyAmount presentValueTheta(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The present value theta is given by the minus of the present value sensitivity to the timeToExpiry
parameter of the model.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic PointSensitivityBuilder presentValueSensitivityRates(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The present value rates sensitivity of the caplet/floorlet is the sensitivity of the present value to the underlying curves.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiespublic PointSensitivityBuilder presentValueSensitivityModelParamsVolatility(IborCapletFloorletPeriod period, RatesProvider ratesProvider, IborCapletFloorletVolatilities volatilities)
The present value volatility sensitivity of the caplet/floorlet is the sensitivity of the present value to the implied volatility.
The sensitivity to the implied volatility is also called vega.
period - the Ibor caplet/floorlet periodratesProvider - the rates providervolatilities - the volatilitiesprotected void validate(IborCapletFloorletVolatilities volatilities)
This validate method should be overridden such that a correct implementation of
IborCapletFloorletVolatilities is used for pricing.
volatilities - the volatilitiesCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.