/src/main/java/net/finmath/montecarlo/interestrate/products/Swaption.java
final RandomVariable numeraire  = model.getNumeraire( exerciseDate) ;final RandomVariable numeraireAtZero   = model.getNumeraire( evaluationTime) ;
final RandomVariable numeraireAtZero   = model.getNumeraire ( evaluationTime ) ;
valueOfSwapAtExerciseDate = valueOfSwapAtExerciseDate.discount(libor, paymentDate - discountingDate).mult(discountingAdjustment); } RandomVariable values = valueOfSwapAtExerciseDate.floor(0.0); final RandomVariable numeraire = model.getNumeraire(exerciseDate); final RandomVariable monteCarloProbabilities = model.getMonteCarloWeights(exerciseDate); values = values.div(numeraire).mult(monteCarloProbabilities); <extra_id_0> final RandomVariable monteCarloProbabilitiesAtZero = model.getMonteCarloWeights(evaluationTime); values = values.mult(numeraireAtZero).div(monteCarloProbabilitiesAtZero); return values; } public double getValue(final ForwardCurve forwardCurve, final double swaprateVolatility) { final double swaprate = swaprates[0];