Class DirectIborCapletFloorletFlatVolatilityCalibrator
- java.lang.Object
- 
- com.opengamma.strata.pricer.capfloor.DirectIborCapletFloorletFlatVolatilityCalibrator
 
- 
 public class DirectIborCapletFloorletFlatVolatilityCalibrator extends Object Caplet volatilities calibration to cap volatilities.The volatilities of the constituent caplets in the market caps are "model parameters" and calibrated to the market data under the penalty constraint. The penalty is based on the second-order finite difference differentiation along the expiry dimension. The resultant volatility type is the same as the input volatility type. e.g., Black caplet volatilities BlackIborCapletFloorletExpiryFlatVolatilitiesare returned if Black cap volatilities are plugged in, and normal caplet volatilitiesNormalIborCapletFloorletExpiryFlatVolatilitiesare returned otherwise.The calibration is conducted once the cap volatilities are converted to cap prices. Thus the error values in RawOptionDataare applied in the price space rather than the volatility space.
- 
- 
Method Summary
 
- 
- 
- 
Method Detail- 
standardpublic static DirectIborCapletFloorletFlatVolatilityCalibrator standard() Obtains the standard instance.- Returns:
- the instance
 
 - 
ofpublic static DirectIborCapletFloorletFlatVolatilityCalibrator of(VolatilityIborCapFloorLegPricer pricer, double epsilon, ReferenceData referenceData) Obtains an instance.The epsilon is the parameter used in NonLinearLeastSquareWithPenalty, where the iteration stops when certain quantities are smaller than this parameter.- Parameters:
- pricer- the cap pricer
- epsilon- the epsilon parameter
- referenceData- the reference data
- Returns:
- the instance
 
 - 
calibratepublic IborCapletFloorletVolatilityCalibrationResult calibrate(IborCapletFloorletVolatilityDefinition definition, ZonedDateTime calibrationDateTime, RawOptionData capFloorData, RatesProvider ratesProvider) Calibrates caplet volatilities to cap volatilities.- Parameters:
- definition- the caplet volatility definition
- calibrationDateTime- the calibration time
- capFloorData- the cap data
- ratesProvider- the rates provider
- Returns:
- the calibration result
 
 - 
getReferenceDataprotected ReferenceData getReferenceData() Gets the reference data.- Returns:
- the reference data
 
 - 
getLegPricerprotected VolatilityIborCapFloorLegPricer getLegPricer() Gets the leg pricer.- Returns:
- the leg pricer
 
 - 
reduceRawDataprotected 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) 
 - 
volatilitiesFunctionprotected Function<Surface,IborCapletFloorletVolatilities> volatilitiesFunction(IborCapletFloorletVolatilityDefinition definition, ZonedDateTime calibrationDateTime, RawOptionData capFloorData) 
 
- 
 
-