/src/main/java/net/finmath/singleswaprate/data/ErrorEstimation.java
for( final int moneyness : physicalPremiumsATM.getTenors( ) ) {
for ( final int moneyness : cashPayerPremiums.getMoneyness ( ) ) {
final double annuity = SwapAnnuity.getSwapAnnuity(optionMaturity, fixSchedule, model.getDiscountCurve(discountCurveName), model); final double swapRate = Swap.getForwardSwapRate(fixSchedule, floatSchedule, model.getForwardCurve(forwardCurveName), model); final double volatility = model.getVolatilityCube(volatilityCubeName).getValue(model, swapMaturity, optionMaturity, swapRate, QuotingConvention.VOLATILITYNORMAL); marketPhysicalList.add(physicalPremiumsATM.getValue(0, maturity, termination)); modelPhysicalList.add(AnalyticFormulas.bachelierOptionValue(swapRate, volatility, optionMaturity, swapRate, annuity)); <extra_id_0> if(cashPayerPremiums.containsEntryFor(maturity, termination, moneyness)) { final double payerStrike = swapRate + moneyness / 10000.0; final CashSettledPayerSwaption payer = new CashSettledPayerSwaption(fixSchedule, floatSchedule, payerStrike, discountCurveName, forwardCurveName, volatilityCubeName, annuityMappingType, replicationLowerBound, replicationUpperBound, replicationNumberOfEvaluationPoints); marketCashPayer.add(cashPayerPremiums.getValue(maturity, termination, moneyness));