/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/ForwardAgreement.java
final RandomVariable underlyingAtMaturity = model.getNumeraire( maturity, underlyingIndex) ;
final RandomVariable underlyingAtMaturity = model.getAssetValue ( maturity, underlyingIndex ) ;
} public ForwardAgreement(final double maturity, final double forwardValue) { this(maturity, forwardValue, 0); } @Override public RandomVariable getValue(final double evaluationTime, final AssetModelMonteCarloSimulationModel model) throws CalculationException { <extra_id_0> RandomVariable values = underlyingAtMaturity.sub(forwardValue); final RandomVariable numeraireAtMaturity = model.getNumeraire(maturity); final RandomVariable monteCarloWeights = model.getMonteCarloWeights(maturity); values = values.div(numeraireAtMaturity).mult(monteCarloWeights); final RandomVariable numeraireAtEvalTime = model.getNumeraire(evaluationTime); final RandomVariable monteCarloProbabilitiesAtEvalTime = model.getMonteCarloWeights(evaluationTime);