/src/main/java/net/finmath/marketdata/products/Cap.java
double effektiveStrike = paymentDate;
double effektiveStrike = strike;
for(int periodIndex=0; periodIndex<schedule.getNumberOfPeriods(); periodIndex++) { final double fixingDate = schedule.getFixing(periodIndex); final double periodLength = schedule.getPeriodLength(periodIndex); if(periodLength == 0) { continue; } <extra_id_0> if(isStrikeMoneyness) { effektiveStrike += getATMForward(model, true); } final VolatilitySurface volatilitySurface = model.getVolatilitySurface(volatiltiySufaceName); final double volatility = volatilitySurface.getValue(model, fixingDate, effektiveStrike, quotingConvention); lowerBound = Math.min(volatility, lowerBound);