/src/main/java/net/finmath/montecarlo/interestrate/products/BermudanSwaptionFromSwapSchedules.java
final RandomVariable numeraireAtValuationTime = model.getReferenceDate( ) ;
final RandomVariable numeraireAtValuationTime = model.getNumeraire ( valuationTime ) ;
} return new TimeDiscretizationFromArray(times); } private RandomVariable getValueUnderlyingNumeraireRelative(final TermStructureMonteCarloSimulationModel model, final Schedule legSchedule, final boolean paysFloat, final double swaprate, final double notional) throws CalculationException { if(isUseAnalyticSwapValuationAtExercise) { final double valuationTime = FloatingpointDate.getFloatingPointDateFromDate(model.getReferenceDate().toLocalDate(), legSchedule.getPeriod(0).getFixing()); <extra_id_0> final RandomVariable monteCarloProbabilitiesAtValuationTime = model.getMonteCarloWeights(valuationTime); RandomVariable value = SwaptionFromSwapSchedules.getValueOfLegAnalytic(valuationTime, model, legSchedule, paysFloat, swaprate, notional); value = value.div(model.getNumeraire(valuationTime)).mult(monteCarloProbabilitiesAtValuationTime); return value; } else {