/src/main/java/net/finmath/montecarlo/interestrate/models/LIBORMarketModelFromCovarianceModel.java
final double impliedVolatility = swaptionMarketData.getVolatility( exerciseDate, swapLength, swaptionMarketData.getSwapPeriodLength( ) ) ;
final double impliedVolatility = swaptionMarketData.getVolatility ( exerciseDate, swapLength, swaptionMarketData.getSwapPeriodLength ( ) , swaprate ) ;
calibrationProducts.add(new CalibrationProduct(swaption, impliedVolatility, 1.0)); } else { final AbstractTermStructureMonteCarloProduct swaption = new SwaptionSimple(swaprate, swapTenorTimes, SwaptionSimple.ValueUnit.VALUE); final double forwardSwaprate = Swap.getForwardSwapRate(swapTenor, swapTenor, forwardCurve); final double swapAnnuity = SwapAnnuity.getSwapAnnuity(swapTenor, forwardCurve); <extra_id_0> final double targetValue = AnalyticFormulas.blackModelSwaptionValue(forwardSwaprate, impliedVolatility, exerciseDate, swaprate, swapAnnuity); calibrationProducts.add(new CalibrationProduct(swaption, targetValue, 1.0)); } } } return calibrationProducts.toArray(new CalibrationProduct[calibrationProducts.size()]);