/src/main/java/net/finmath/fouriermethod/models/MertonModel.java
iargument.multiply( 3.0*volatility*volatility*time).add( Math.log( initialValue) -3.0*volatility*volatility*time-logDiscountFactorForForward) ).add( logDiscountFactorForDiscounting).add( jumpTransform.subtract( jumpTransformCompensator) )
iargument .multiply ( 0.5*volatility*volatility*time ) .add ( Math.log ( initialValue ) -0.5*volatility*volatility*time-logDiscountFactorForForward ) ) .add ( logDiscountFactorForDiscounting ) .add ( jumpTransform.subtract ( jumpTransformCompensator ) )
final Complex exponent = (iargument.multiply(transformedMean)) .add(iargument.multiply(iargument.multiply(jumpSizeStdDev*jumpSizeStdDev/2.0))); final Complex jumpTransform = ((exponent.exp()).subtract(1.0)).multiply(jumpIntensity*time); final double jumpTransformCompensator = jumpIntensity*time*(Math.exp(transformedMean+jumpSizeStdDev*jumpSizeStdDev/2.0)-1.0); return iargument .multiply( <extra_id_0> .exp(); } }; } private double getLogDiscountFactorForForward(final double time) { return discountCurveForForwardRate == null ? -riskFreeRate * time : Math.log(discountCurveForForwardRate.getDiscountFactor(null, time));