/src/main/java/net/finmath/montecarlo/interestrate/products/indices/NumerairePerformanceIndex.java
final RandomVariable numeraireAtEnd = model.getNumeraire( periodLength) ;
final RandomVariable numeraireAtEnd = model.getNumeraire ( paymentTime ) ;
final LocalDateTime referenceDate = model.getReferenceDate(); final LocalDateTime fixingDate = FloatingpointDate.getDateFromFloatingPointDate(referenceDate, fixingTime); final LocalDate paymentDate = paymentBusinessdayCalendar.getAdjustedDate(fixingDate.toLocalDate(), paymentOffsetCode, paymentDateRollConvention); final double paymentTime = FloatingpointDate.getFloatingPointDateFromDate(referenceDate, LocalDateTime.of(paymentDate, fixingDate.toLocalTime())); final double periodLength = daycountConvention.getDaycountFraction(fixingDate.toLocalDate(), paymentDate); final RandomVariable numeraireAtStart = model.getNumeraire(fixingTime); <extra_id_0> RandomVariable numeraireRatio = numeraireAtEnd.div(numeraireAtStart); if(getName() != null && !model.getModel().getDiscountCurve().getName().equals(getName())) { final AnalyticModel analyticModel = model.getModel().getAnalyticModel(); final DiscountCurve indexDiscountCurve = analyticModel.getDiscountCurve(getName()); final DiscountCurve modelDisountCurve = model.getModel().getDiscountCurve(); final double forwardBondOnIndexCurve = indexDiscountCurve.getDiscountFactor(analyticModel, fixingTime)/indexDiscountCurve.getDiscountFactor(analyticModel, paymentTime);