# Interpolation of volatility curve for Swaption

I have found volatility in the black model for swaption for different maturity (1-2-3-6-9M, 1Y, 18M, 2-10Y, 15-20-25-30Y) and Tenor (1-10Y, 15-20-25-30Y). Now I need another values (Maturity: 2, Tenor: 12).

I work with Excel without add-ins, I tried linear interpolation between (2,10) and (2,15), but I have some doubt on this method. I know some advanced inteprolation techniques (spline) in 2 dimension wich I could use for a given maturity, but it could take some time to implement a bicubic spline interpolation method.

I could also use a (Maturity,Tenor) Interpolation, but I have some odd values for short maturity/short tenor. I would like to remove these " outliers". There is only discussion on advanced volatility interpolation for option.

What would be a reliable/fast method to interpolate Volatility(Maturity,Tenor) ?

I don't need a generic interpolation method but some suggestion on how to improve them for volatility interpolation, or a more complex interpolation method (not too complex) wich has given some good results.

Here are my data so you could see what I am doing, the graph is a 1D cubic interpolation on maturity (step 1/12) then on tenor (step 1). • I assume you need the data for calibration purposes ? – Probilitator May 28 '14 at 19:00
• as far as I know people often just use log linear interpolation between neighbouring rates. This is at least what Brigo&Mercurio do and there work is considered a gold standard in the field – Probilitator May 28 '14 at 19:11

One of the most used interpolation techniques is the cubic spline interpolation.

Here you can find an overview of that, while, on Mathworks.com, you can find the tutorial to implement that in Matlab directly simply by using the spline(x,Y,xx) command function.

It is not difficult to implement and, moreover, it gives pretty reliable results.

I never tried to interpolate options data, but, anyway, it is proved it works pretty well on the most of macroeconomic time-series.

In the case you need for interpolating in 2-d, you can use the bi-cubic interpolation technique; Here you can find an example in Matlab.

• I know spline interpolation for 1D curve, is tehre anything for a surface ? – were_cat May 26 '14 at 21:24
• I modified the answer; I hope it suits you. – Quantopik May 26 '14 at 21:52
• Sorry, i meant I have spline interpolation in 1D. I don't have 2D (a matlab function is not helping, I need to code it in VBA, so a source to translate would be usefull). In fact I'm lookng for specific interpolation to finance (and vol ?) not a general one. I have edited my question to make me clearer. – were_cat May 28 '14 at 16:43