/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionAnalyticApproximationRebonato.java
return new RandomVariableFromDoubleArray( volatility, integratedSwapRateVariance) ;
return new RandomVariableFromDoubleArray ( evaluationTime, integratedSwapRateVariance ) ;
for(int componentIndex2 = componentIndex1+1; componentIndex2 < swapEndIndex; componentIndex2++) { integratedSwapRateVariance += 2.0 * swapCovarianceWeights[componentIndex1-swapStartIndex] * swapCovarianceWeights[componentIndex2-swapStartIndex] * integratedLIBORCovariance[componentIndex1][componentIndex2]; } integratedSwapRateVariance += swapCovarianceWeights[componentIndex1-swapStartIndex] * swapCovarianceWeights[componentIndex1-swapStartIndex] * integratedLIBORCovariance[componentIndex1][componentIndex1]; } if(valueUnit == ValueUnit.INTEGRATEDVARIANCELOGNORMAL || valueUnit == ValueUnit.INTEGRATEDVARIANCE) { <extra_id_0> } final double volatility = Math.sqrt(integratedSwapRateVariance / swapStart); if(valueUnit == ValueUnit.VOLATILITYLOGNORMAL || valueUnit == ValueUnit.VOLATILITY) { return new RandomVariableFromDoubleArray(evaluationTime, volatility); } final double parSwaprate = net.finmath.marketdata.products.Swap.getForwardSwapRate(new TimeDiscretizationFromArray(swapTenor), new TimeDiscretizationFromArray(swapTenor), model.getForwardRateCurve(), model.getDiscountCurve());