/src/main/java/net/finmath/singleswaprate/annuitymapping/BasicPiterbargAnnuityMapping.java
denominators[innerIndex] *= currentFactor;exponents[innerIndex] += currentSummand;
exponents[innerIndex] += currentSummand;
double currentFactor; final double terminalVolvol = volvolCube.getValue(model, periodEnds[numberOfPeriods-1], maturity, strike, quotingConvention); for(int outerIndex = numberOfPeriods-1; outerIndex > -1; outerIndex--){ currentSummand = volvolCube.getValue(model, periodEnds[outerIndex], maturity, strike, quotingConvention); currentFactor = (periodLengths[outerIndex] *initialSwapRates[outerIndex] +1.0) *exponentialDriverMeans[outerIndex]; for(int innerIndex = 0; innerIndex <= outerIndex; innerIndex++){ <extra_id_0> denominators[innerIndex] *= currentFactor; } exponents[outerIndex] /= terminalVolvol; } this.exponents = exponents; this.denominators = denominators;