public class SurfaceIborCapletFloorletVolatilityBootstrapper extends Object
The caplet volatilities are computed by bootstrapping along the expiry time dimension.
The result is an interpolated surface spanned by expiry and strike.
The position of the node points on the resultant surface corresponds to last expiry date of market caps.
The nodes should be interpolated by a local interpolation scheme along the time direction.
See SurfaceIborCapletFloorletVolatilityBootstrapDefinition for detail.
If the shift curve is not present in SurfaceIborCapletFloorletBootstrapVolatilityDefinition,
the resultant volatility type is the same as the input volatility type, i.e.,
Black caplet volatilities are returned if Black cap volatilities are plugged in, and normal caplet volatilities are
returned otherwise.
On the other hand, if the shift curve is present in SurfaceIborCapletFloorletBootstrapVolatilityDefinition,
Black caplet volatilities are returned for any input volatility type.
| Modifier and Type | Field and Description |
|---|---|
static SurfaceIborCapletFloorletVolatilityBootstrapper |
DEFAULT
Default implementation.
|
public static final SurfaceIborCapletFloorletVolatilityBootstrapper DEFAULT
public static SurfaceIborCapletFloorletVolatilityBootstrapper of(VolatilityIborCapFloorLegPricer pricer, ReferenceData referenceData)
pricer - the cap pricerreferenceData - the reference datapublic IborCapletFloorletVolatilityCalibrationResult calibrate(IborCapletFloorletVolatilityDefinition definition, ZonedDateTime calibrationDateTime, RawOptionData capFloorData, RatesProvider ratesProvider)
definition - the caplet volatility definitioncalibrationDateTime - the calibration timecapFloorData - the cap dataratesProvider - the rates providerprotected ReferenceData getReferenceData()
protected VolatilityIborCapFloorLegPricer getLegPricer()
protected void reduceRawData(IborCapletFloorletVolatilityDefinition definition, RatesProvider ratesProvider, DoubleArray strikes, DoubleArray volatilityData, DoubleArray errors, LocalDate startDate, LocalDate endDate, SurfaceMetadata metadata, Function<Surface,IborCapletFloorletVolatilities> volatilityFunction, List<Double> timeList, List<Double> strikeList, List<Double> volList, List<ResolvedIborCapFloorLeg> capList, List<Double> priceList, List<Double> errorList)
protected Function<Surface,IborCapletFloorletVolatilities> volatilitiesFunction(IborCapletFloorletVolatilityDefinition definition, ZonedDateTime calibrationDateTime, RawOptionData capFloorData)
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.