/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/EuropeanOptionDeltaLikelihood.java
likelihoodRatio = x1.div( underlyingAtToday).div( sigma).div( Math.sqrt( T) ) ;
likelihoodRatio = x.div ( underlyingAtToday ) .div ( sigma ) .div ( Math.sqrt ( T ) ) ;
final RandomVariable x2 = underlyingAtMaturity.div(underlyingAtToday.add(h)).log().sub(r.mult(T).sub(sigma.squared().mult(0.5*T))).div(sigma).div(Math.sqrt(T)); final RandomVariable logPhi2 = x2.squared().div(-2.0).exp().div(Math.sqrt(2 * Math.PI)).div(underlyingAtMaturity).div(sigma).div(Math.sqrt(T)).log(); likelihoodRatio = logPhi2.sub(logPhi1).div(h); } else { final RandomVariable x = underlyingAtMaturity.div(underlyingAtToday).log().sub(r.mult(T).sub(sigma.squared().mult(0.5*T))).div(sigma).div(Math.sqrt(T)); <extra_id_0> } RandomVariable values = underlyingAtMaturity.sub(strike).floor(0.0).mult(likelihoodRatio); final RandomVariable numeraireAtMaturity = model.getNumeraire(maturity); final RandomVariable monteCarloWeights = model.getMonteCarloWeights(maturity); values = values.div(numeraireAtMaturity).mult(monteCarloWeights); final RandomVariable numeraireAtEvalTime = model.getNumeraire(evaluationTime);