# Arbitrage free smoothing of volatility smile - cubic spline - implementation procedure

I am studying the paper Arbitrage-Free Smoothing of the Implied Volatility Surface, from Matthias R. Fengler (https://core.ac.uk/download/pdf/6978470.pdf).

The problem I want to solve is much simpler as I do not need a smoothed volatility surface but only a smoothed volatility smile. I will work with only one single future time $$T$$.

What is in the paper can be applied to solve my problem, but the author proposes an algorithm that is equivalent to the original problem, that, to me, is not easy to understand and implement. I would rather prefer to solve the simple original problem. So, I will describe my idea step by step and ask questions to check if I am on the right way:

The original problem is to find the coefficients of the cubic spline $$g$$ that minimize the following sum of squares

$$\sum_{i=1}^{n}\left(y_i-g(u_i)\right)^2 + \lambda \int_{a}^{b}g^{''}(v) dv$$

where $$(u_i,y_i)$$ denotes a collection of market observed strike and call options prices. $$i=0,...,n+1$$

Moreover: $$g(u)=\sum_{i=0}^{n} 1\left[(u_i,u_{i+1})\right]s_i(u)$$

where $$s_i(u)=d_i(u-u_i)^3+c_i(u-u_i)^2+b_i(u-u_i)+a_i$$

Some questions here:

• Is it really necessary to include $$\lambda$$? I would like to consider only the sum of squares part.
• The minimization problem is over the coefficients of spline $$g$$, right? That is, say, the Matlab algorithm should find the coefficients that minimize the sum of squares, right?
• I understand that there are $$4(n+1)$$ coefficients to be determined, right?

Now we should determine the restrictions to the minimization problem. From section 3.1, we have continuity conditions:

$$s_{i-1}(u_i)=s_i(u_i)$$ $$s_{i-1}^{'}(u_i)=s_i^{'}(u_i)$$ $$s_{i-1}^{''}(u_i)=s_i^{''}(u_i)$$

• These continuity conditions give $$3n$$ equations, right?

Moreover, we are working with natural cubic splines, hence the second derivative of first and last segment should be zero. So we have another 4 equations: $$c_0=d_0=c_n=d_n=0$$

• So we have $$3n+4$$ equations for $$4n+4$$ coefficients to be determined. Hence we have $$n$$ free coefficients that will be used to force this cubic spline to be free of arbitrage. Right?

The conditions that guarantee that the cubic spline is free of arbitrage, from section 3.2 are

$$\gamma_i \ge 0$$ where $$\gamma_i$$ is the second derivative of the spline on knot $$i$$.

• So, in order to add this to the minimization problem, I should take the second derivative of the spline analytically and require it to be greater than or equal to zero, right?

The other conditions that guarantee that the smile will be free of arbitrage are:

$$g^{'}(u_1) \ge -e^{-r\tau}$$ $$g^{'}(u_n) \ge 0$$ $$g_1 \ge e^{-\delta\tau}S_t-e^{-r\tau}u_1$$ $$g_1 \le e^{-\delta\tau}S_t$$ $$g_n \ge 0$$

Hence, if I write a minimization problem with the restrictions above, the $$n$$ coefficients to be determined will be sufficient to guarantee that the problem can be solved? That is, that it gives a spline free of arbitrage?

I want to implement the problem the way I described above on Matlab, as it is much simpler to understand, even if it is not as much efficient as the algorithm proposed by the author.

I would much appreciate if someone could answer my questions and tell me if what I want to do will work.

PS: I know that an implementation of such paper is available on this link, but this algorithm does not work on Matlab 2017 and it does not give the coefficients from the spline, so it does not satisfies my need. Besides, what I need is much simpler, as it is not a surface but only a smile for a unique time $$T$$

Thank you!