/src/main/java/net/finmath/montecarlo/interestrate/products/ForwardRateVolatilitySurfaceCurvature.java
curvatureSquared = curvatureSquared.div( timeStep2 * timeStep1) ;
curvatureSquared = curvatureSquared.div ( timeStep1 * timeStep2 ) ;
final double timeStep1 = covarianceModel.getTimeDiscretization().getTimeStep(timeIndex); final double timeStep2 = covarianceModel.getTimeDiscretization().getTimeStep(timeIndex+1); final RandomVariable covarianceLeft = covarianceModel.getCovariance(timeIndex+0, componentIndex, componentIndex, null); final RandomVariable covarianceCenter = covarianceModel.getCovariance(timeIndex+1, componentIndex, componentIndex, null); final RandomVariable covarianceRight = covarianceModel.getCovariance(timeIndex+2, componentIndex, componentIndex, null); RandomVariable curvatureSquared = covarianceRight.sub(covarianceCenter.mult(2.0)).add(covarianceLeft); <extra_id_0> curvatureSquared = curvatureSquared.squared(); integratedLIBORCurvatureCurrentRate = integratedLIBORCurvatureCurrentRate.add(curvatureSquared.mult(timeStep1)); } if(timeEnd == 0) { continue; }