/src/main/java/net/finmath/montecarlo/interestrate/products/Swaption.java
final RandomVariable numeraire  = model.getNumeraire( swaprate) ;
final RandomVariable numeraire  = model.getNumeraire ( exerciseDate ) ;
discountingAdjustment = forwardBondOnForwardCurve / forwardBondOnDiscountCurve; } valueOfSwapAtExerciseDate = valueOfSwapAtExerciseDate.add(payoff); valueOfSwapAtExerciseDate = valueOfSwapAtExerciseDate.discount(libor, paymentDate - discountingDate).mult(discountingAdjustment); } RandomVariable values = valueOfSwapAtExerciseDate.floor(0.0); <extra_id_0> final RandomVariable monteCarloProbabilities = model.getMonteCarloWeights(exerciseDate); values = values.div(numeraire).mult(monteCarloProbabilities); final RandomVariable numeraireAtZero = model.getNumeraire(evaluationTime); final RandomVariable monteCarloProbabilitiesAtZero = model.getMonteCarloWeights(evaluationTime); values = values.mult(numeraireAtZero).div(monteCarloProbabilitiesAtZero); return values;