Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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).

enter image description here

share|improve this question
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.

share|improve this answer
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. – Quantopic 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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.