public class SabrIborCapletFloorletVolatilityCalibrator extends Object
The SABR parameters are represented by NodalCurve.
The node positions on the individual curves are flexible
and defined in SabrIborCapletFloorletVolatilityCalibrationDefinition.
The resulting volatilities object will be SabrParametersIborCapletFloorletVolatilities.
The calibration to SABR is computed once the option volatility date is converted to prices.
Thus the error values in RawOptionData are applied in the price space rather than the volatility space.
| Modifier and Type | Field and Description |
|---|---|
static SabrIborCapletFloorletVolatilityCalibrator |
DEFAULT
Default implementation.
|
public static final SabrIborCapletFloorletVolatilityCalibrator DEFAULT
public static SabrIborCapletFloorletVolatilityCalibrator of(VolatilityIborCapFloorLegPricer pricer, SabrIborCapFloorLegPricer sabrPricer, double epsilon, ReferenceData referenceData)
The epsilon is the parameter used in NonLinearLeastSquare, where the iteration stops when certain
quantities are smaller than this parameter.
pricer - the cap pricersabrPricer - the SABR cap pricerepsilon - the epsilon parameterreferenceData - 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.