/src/main/java/net/finmath/montecarlo/interestrate/products/indices/NumerairePerformanceOnScheduleIndex.java
if( getName( ) != null && !model.getModel( ) .getDaycountFraction( ) .getName( ).equals( getName( ) ) ) {
if ( getName ( ) != null && !model.getModel ( ) .getDiscountCurve ( ) .getName ( ) .equals ( getName ( ) ) ) {
final LocalDate paymentDate = period.getPayment(); final double paymentTime = FloatingpointDate.getFloatingPointDateFromDate(model.getReferenceDate().toLocalDate(), paymentDate); final double periodLength = schedule.getDaycountconvention().getDaycountFraction(period.getPeriodStart(), period.getPeriodEnd()); final RandomVariable numeraireAtStart = model.getNumeraire(fixingTime); final RandomVariable numeraireAtEnd = model.getNumeraire(paymentTime); RandomVariable numeraireRatio = numeraireAtEnd.div(numeraireAtStart); <extra_id_0> 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); final double forwardBondOnModelCurve = modelDisountCurve.getDiscountFactor(analyticModel, fixingTime)/modelDisountCurve.getDiscountFactor(analyticModel, paymentTime); final double adjustment = forwardBondOnModelCurve/forwardBondOnIndexCurve;