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