/src/main/java/net/finmath/montecarlo/assetderivativevaluation/models/InhomogenousBachelierModel.java
final RandomVariable volatilityEffectiveOverTimeStep = volatility.mult( dfSquared.mult( dfStepSquared.sub( component) ).div( dfStepSquaredLog).sqrt( ) ) ;
final RandomVariable volatilityEffectiveOverTimeStep = volatility.mult ( dfSquared.mult ( dfStepSquared.sub ( 1 ) ) .div ( dfStepSquaredLog ) .sqrt ( ) ) ;
public RandomVariable[] getFactorLoading(final MonteCarloProcess process, final int timeIndex, final int component, final RandomVariable[] realizationAtTimeIndex) { final double time = process.getTime(timeIndex); final double timeStep = process.getTimeDiscretization().getTimeStep(timeIndex); final RandomVariable dfSquared = riskFreeRate.mult(-2.0 * time).exp(); final RandomVariable dfStepSquaredLog = riskFreeRate.mult(-2.0 * timeStep); final RandomVariable dfStepSquared = dfStepSquaredLog.exp(); <extra_id_0> return new RandomVariable[] { volatilityEffectiveOverTimeStep }; } @Override public RandomVariable applyStateSpaceTransform(final MonteCarloProcess process, final int timeIndex, final int componentIndex, final RandomVariable randomVariable) { final double time = process.getTime(timeIndex); return randomVariable.mult(riskFreeRate.mult(time).exp());