/src/main/java/net/finmath/montecarlo/hybridassetinterestrate/products/WorstOfExpressCertificate.java
values = zero.add( payment) ;
values = values.add ( payment ) ;
values = values.add(trigger.choose(payment, new Scalar(0.0))); exerciseIndicator = trigger.choose(zero, exerciseIndicator); } final RandomVariable worstPerformance = getWorstPerformance(model, maturity, strikeLevels); RandomVariable payment = exerciseIndicator.mult(worstPerformance.mult(redemptionFinal)); payment = payment.div(model.getNumeraire(maturity)); <extra_id_0> values = values.mult(model.getNumeraire(evaluationTime)); return values.getAverage(); } private static RandomVariable getWorstPerformance(final HybridAssetLIBORModelMonteCarloSimulation model, final double exerciseDate, final double[] baseLevels) throws CalculationException { RandomVariable worstPerformance = null; for(int assetIndex=0; assetIndex<baseLevels.length; assetIndex++) {