Quang,

The SmileInterpolatorSABR works by fitting sub-smiles to consecutive sets of strike triplets. The SABR model (like all stochastic vol models) will always imply leptokurtic log-returns, which means it is not possible to produce a frown (the implied volatility falling for OTM strikes).

Your data shows many cases where the SABR model simply will not fit. What happens is the the optimiser spends huge amounts of time searching parameter space, before either giving the best (but very poor) fit with crazy parameters or hitting the iteration limit.

Real data (from data providers) can be like this (from a combination of liquidity effects and, often, misentry of the data). Firm spend a lot of time ‘cleaning up’ the data. We don’t have a data clean algorithm in the open-source, but you can see the problems if you plot the data in Excel.

Regards,

Richard