final SABRInterestRateParameters sabrParameterBerestycki = TestsDataSetsSABR.createSABR1(new SABRBerestyckiVolatilityFunction());
final SABRInterestRateDataBundle sabrBerestyckiBundle = new SABRInterestRateDataBundle(sabrParameterBerestycki, curves);
final double priceBerestycki = SWAPTION_LONG_PAYER.accept(PVC, sabrBerestyckiBundle);
assertEquals(priceHagan, priceBerestycki, 5E+2);
// SABR Johnson volatility function
final SABRInterestRateParameters sabrParameterJohnson = TestsDataSetsSABR.createSABR1(new SABRJohnsonVolatilityFunction());
final SABRInterestRateDataBundle sabrJohnsonBundle = new SABRInterestRateDataBundle(sabrParameterJohnson, curves);
final double priceJohnson = SWAPTION_LONG_PAYER.accept(PVC, sabrJohnsonBundle);
assertEquals(priceHagan, priceJohnson, 1E+3);
// SABR Paulot volatility function ! Does not work well !
final SABRInterestRateParameters sabrParameterPaulot = TestsDataSetsSABR.createSABR1(new SABRPaulotVolatilityFunction());