I am new to the area of local volatility interpolation and I am trying to make a decent implementation for calculating the local volatility surface from option prices using the basic methodology from the article "Volatility interpolation" by Andreassen, Huge combined with some later articles and results.
In the article it is assumed all rates are zero. What is the most natural way of generalizing it to standard market conditions where rates are not zero?
In the article a piecewise constant approximation to the local volatility surface is calculated. Then a lot of new call option prices are calculated, using the calculated surface, through a finite difference procedure. From these option prices I see many authors use the Dupire equation to again calculate the local volatility surface using finite differences. Why calculate the local volatility surface again, when we already had the piecewise constant (or optionally linear) surface? Or is that surface far too rough for any serious applications and we need points on a much more smooth surface? Or am I missing something very obvious here?
A more general question. Let say I get so far that I can calculate the local volatility corresponding to all options in the grid. How do I then extract values from this surface when using it for other applications? We only have values at the grid points. Will it be ok to use linear interpolation? Sure, it introduces arbitrage, but if the grid is dense, the error should not be too bad, or?
Regarding question 1 :
I tried converting market option prices to market option prices in an economy with zero rates. This is possible by a suitable rescaling the strike levels in Black formula. But somehow I don't know if that is the proper way of doing things.
Then I tried thinking about replacing the underlying with the forward value process so that it's drift term is zero. However, There is not just one forward process involved, but one per expiry (since the forward maturity changes at each expiry when we move forward in time). So the current forward make discrete jumps at each expiry since it refers to different maturities. This will lead to strange things in the finite difference scheme in the Andersen article since one of the valuation points in the finite difference quotient for the T derivative of the options in the Dupiere formula will use one version of forward process and the other valuation point another. This did not seem right to me.