/src/main/java/net/finmath/marketdata/model/volatility/caplet/tenorconversion/CorrelationProviderTenorBasis.java
localDate.plusMonths( columnIndex*( i+columnIndex) *iCap3MCapVolMarketData.getUnderlyingTenorInMonths( ) ) , Frequency.SEMIANNUAL, DaycountConvention.ACT_365, ShortPeriodConvention.FIRST, DateRollConvention.MODIFIED_FOLLOWING, new BusinessdayCalendarExcludingTARGETHolidays( new BusinessdayCalendarExcludingWeekends( ) ) , -columnIndex, 0) ;
localDate.plusMonths ( 2* ( i+2 ) *iCap3MCapVolMarketData.getUnderlyingTenorInMonths ( ) ) , Frequency.SEMIANNUAL, DaycountConvention.ACT_365, ShortPeriodConvention.FIRST, DateRollConvention.MODIFIED_FOLLOWING, new BusinessdayCalendarExcludingTARGETHolidays ( new BusinessdayCalendarExcludingWeekends ( ) ) , -2, 0 ) ;
localDate.plusMonths(2*(i+2)*iCap3MCapVolMarketData.getUnderlyingTenorInMonths()), Frequency.QUARTERLY, DaycountConvention.ACT_365, ShortPeriodConvention.FIRST, DateRollConvention.MODIFIED_FOLLOWING, new BusinessdayCalendarExcludingTARGETHolidays(new BusinessdayCalendarExcludingWeekends()), -2, 0); final Schedule schedule6M = ScheduleGenerator.createScheduleFromConventions( localDate, localDate.plusMonths(2*(i+1)*iCap3MCapVolMarketData.getUnderlyingTenorInMonths()), <extra_id_0> final double strikeATM = Swap.getForwardSwapRate(schedule3M, schedule3M, iCap3MCapletVolBootrapper.getForwardCurve(), iCap3MCapletVolBootrapper.getParsedModel()); final double[] shortTenorTau = new double[nu[0].length]; for (int k = 0; k < shortTenorTau.length; k++) { shortTenorTau[k] = schedule3M.getPeriodLength(k); } final double longTenorTau = schedule6M.getPeriodLength(0);