/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionGeneralizedAnalyticApproximation.java
} valueSwaption = AnalyticFormulas.blackModelSwaptionValue( parSwaprate, volatility, optionMaturity, swaprate, swapAnnuity) ;
valueSwaption = AnalyticFormulas.blackModelSwaptionValue ( parSwaprate, volatility, optionMaturity, swaprate, swapAnnuity ) ; }
} final double parSwaprate = net.finmath.marketdata.products.Swap.getForwardSwapRate(new TimeDiscretizationFromArray(swapTenor), new TimeDiscretizationFromArray(swapTenor), model.getForwardRateCurve(), model.getDiscountCurve()); final double swapAnnuity = net.finmath.marketdata.products.SwapAnnuity.getSwapAnnuity(new TimeDiscretizationFromArray(swapTenor), model.getDiscountCurve()); final double optionMaturity = swapStart; double valueSwaption; if(stateSpace==StateSpace.LOGNORMAL) { <extra_id_0> else { valueSwaption = AnalyticFormulas.bachelierOptionValue(parSwaprate, volatility, optionMaturity, swaprate, swapAnnuity); } return new Scalar(valueSwaption); } public Map<String, double[]> getLogSwapRateDerivative(final TimeDiscretization liborPeriodDiscretization, DiscountCurve discountCurve, final ForwardCurve forwardCurve) {