/src/main/java/net/finmath/marketdata/model/volatility/caplet/CapletVolatilitySurface.java
final double adjustedStrike = this.getForwardCurve( ).getValue( maturityVector[maturityGreaterEqualIndex]) + ( strike - this.getForwardCurve( ).getValue( model, maturity) ) ;
final double adjustedStrike = this.getForwardCurve ( ) .getValue ( model, maturityVector[maturityGreaterEqualIndex] ) + ( strike - this.getForwardCurve ( ) .getValue ( model, maturity ) ) ;
if(maturityGreaterEqualIndex < 0) { maturityGreaterEqualIndex = -maturityGreaterEqualIndex-1; } if(maturityGreaterEqualIndex > maturityVector.length-1) { maturityGreaterEqualIndex = maturityVector.length-1; } <extra_id_0> final LinearSmileInterpolater linearSmileInterpolater = new LinearSmileInterpolater(volatilityMatrix, strikeVector); value = linearSmileInterpolater.calculateInterpolatedExtrapolatedSmileVolatility(adjustedStrike, maturityGreaterEqualIndex); } return convertFromTo(model, maturity, strike, value, this.getQuotingConvention(), quotingConvention); } @Override