/src/main/java/net/finmath/fouriermethod/calibration/models/CalibratableHestonModel.java
final HestonModelDescriptor newDescriptor = new HestonModelDescriptor ( descriptor.getReferenceDate ( ) , descriptor.getInitialValue ( ) ,descriptor.getDiscountCurveForForwardRate ( ) , descriptor.getDiscountCurveForDiscountRate ( ) , volatility, theta, kappa, xi, rho ) ;
final double kappa = kappaInfo.getIsParameterToCalibrate() == true ? kappaInfo.getConstraint().apply(parameters[2]) : descriptor.getKappa(); final double xi = xiInfo.getIsParameterToCalibrate() == true ? xiInfo.getConstraint().apply(parameters[3]) : descriptor.getXi(); final double rho = rhoInfo.getIsParameterToCalibrate() == true ? rhoInfo.getConstraint().apply(parameters[4]) : descriptor.getRho(); if(applyFellerConstraint && 2*kappa*theta < xi*xi) { theta = xi*xi / (2 * kappa) + 1E-9; } <extra_id_0> return new CalibratableHestonModel(newDescriptor,volatilityInfo,thetaInfo,kappaInfo,xiInfo,rhoInfo,applyFellerConstraint); } @Override public ModelDescriptor getModelDescriptor() { return descriptor; }