/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/ForwardAgreementWithFundingRequirement.java
values = values.mult ( defaultCompensation ) ;
} @Override public RandomVariable getValue(final double evaluationTime, final AssetModelMonteCarloSimulationModel model) throws CalculationException { final RandomVariable underlyingAtMaturity = model.getAssetValue(maturity, underlyingIndex); RandomVariable values = underlyingAtMaturity.sub(forwardValue); final RandomVariable defaultCompensation = fundingCapacity.getDefaultFactors(maturity, values).getDefaultCompensation(); <extra_id_0> 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); values = values.mult(numeraireAtEvalTime).div(monteCarloProbabilitiesAtEvalTime);