/src/main/java/net/finmath/montecarlo/interestrate/products/CMSOption.java
if( fixingDates[0] - exerciseDate) {
if ( fixingDates[0] != exerciseDate ) {
} valueFloatLeg = valueFloatLeg.add(1.0); final RandomVariable parSwapRate = valueFloatLeg.div(valueFixLeg); RandomVariable payoffUnit = new RandomVariableFromDoubleArray(paymentDates[0], periodLengths[0]); payoffUnit = payoffUnit.discount(model.getForwardRate(exerciseDate, fixingDates[0], paymentDates[0]),paymentDates[0]-fixingDates[0]); RandomVariable value = parSwapRate.sub(strike).floor(0.0).mult(payoffUnit); <extra_id_0> final RandomVariable libor = model.getForwardRate(exerciseDate, exerciseDate, fixingDates[0]); final double periodLength = fixingDates[0] - exerciseDate; value = value.discount(libor, periodLength); } final RandomVariable numeraire = model.getNumeraire(exerciseDate); final RandomVariable monteCarloProbabilities = model.getMonteCarloWeights(model.getTimeIndex(exerciseDate));