/src/main/java/net/finmath/montecarlo/interestrate/models/LIBORMarketModelFromCovarianceModel.java
} }return deterministicNumeraireAdjustment;
return deterministicNumeraireAdjustment; } }
numeraireDiscountFactorForwardRates.put(timeDiscretizationForCurves.getTime(i), forwardRate); deterministicNumeraireAdjustment = deterministicNumeraireAdjustment.discount(forwardRate, timeStep); numeraireDiscountFactors.put(timeNext, deterministicNumeraireAdjustment); } deterministicNumeraireAdjustment = numeraireDiscountFactors.get(time); } <extra_id_0> @Override public RandomVariable getForwardDiscountBond(final MonteCarloProcess process, final double time, final double maturity) throws CalculationException { final RandomVariable inverseForwardBondAsOfTime = getForwardRate(process, time, time, maturity).mult(maturity-time).add(1.0); final RandomVariable inverseForwardBondAsOfZero = getForwardRate(process, 0.0, time, maturity).mult(maturity-time).add(1.0); final RandomVariable forwardDiscountBondAsOfZero = getNumeraireDefaultableZeroBondAsOfTimeZero(process, maturity).div(getNumeraireDefaultableZeroBondAsOfTimeZero(process, time)); return forwardDiscountBondAsOfZero.mult(inverseForwardBondAsOfZero).div(inverseForwardBondAsOfTime);