I’m working on a project to build a local volatility model out of implied volatility data and I’m currently testing the no-arbitrage version of SVI model as described in this paper Section 5.1 [Arbitrage-Free SVI Volatility Surface].
The problem I met is about the interpolation along time dimension (between SVI slices).
Gatheral proposed a method in his paper (Section 5.3) where he first converts the into volatility option price, then interpolate the prices and convert the interpolated price back to volatility. This method does guarantee no static arbitrage, but it will cause a spike in the first order derivative of total variance w.r.t time (which leads to a spike in local volatility) when the target time is very close to the left side of the given time interval.
I have an example here: This is the result of interpolation for two consecutive time intervals. We can see the algorithm is doing a linear interpolation with option price, but it gives a huge spike when we shift from one interval to the other.
So, my questions are:
- Is there any adjustment I can make to Gatheral’s method to avoid this problem?
- Is there any other interpolation method available over time dimension that guarantees no static arbitrage and gives better shape of first-order derivative?