/** * Computes the implied volatility. * * @param optionPrice the option price * @return the volatility */ public double impliedVolatility(double optionPrice) { return impliedVolatility(optionPrice, VOL_GUESS); }
return solver.impliedVolatility(otmPrice, volGuess);
GenericImpliedVolatiltySolver solver = new GenericImpliedVolatiltySolver(func); double priceFixed = i == 0 ? 0d : priceFixed(capList.get(j), ratesProvider, vols, prevExpiry); double capletVol = solver.impliedVolatility(priceList.get(j) - priceFixed, initialVol.get(j)); vols = vols.withParameter(j, capletVol);