I'm trying to build an implied vol surface from some listed options. In particular I have data for calls and puts for different strikes and expiries. I'm not looking to price on the interpolated vols any exotic payoffs, just other vanilla options. To keep things very simple, I'm thinking to use the following approach:
- Use cubic splines for smile interpolation on either delta or strike, for a given expiry
- Use total variance interpolation across expiries, for ATM vol
Where ATM is ATM forward (i.e. ATM strike = fwd)
While the first point is probably fine, I think the second has two main issues. First of all, I don't have a zero curve or forward. So I would need to first get the fwd from the call-put parity, for each expiry. Then use the interpolation of 1. to get the ATM implied vol, and then use that vol for the total variance curve (so building the ATM curve on some interpolated values). Second, 2. only works for the ATM vol curve, and the key issue becomes, how do I interpolate smiles across expiries?
So my question is, what's the best way to interpolate smiles between expiries? Also would an another approach e.g. local vol, be more appropriate in this situation? (given that I'm not looking to price exotics)