I am currently working on the valuation of variance swaps using QL and unsuccessfully I observe large discrepancies with the variance swap market quotes.
Until now, I am using the pricing engine which computes the replicating portfolio based on a strip of OTM call/put options. So I followed the below methodology:
1- calibrate a smile model for a given maturity from call and put options
2- price the variance swap of this same maturity using the volatility interpolation/extrapolation method of the previous step and the ReplicatingVarianceSwapEngine
3- then, I compare the square root of the returned variance vs the one of the variance swap market quotes
I tried to value variance swaps for several maturities, with several smile models (sabr, svi, no-arbitrage sabr, kahale extrapolation, ...), but I systematically underestimate the market prices (2-3 %). I double check the pricing methodology by directly starting from the cash prices of the call/put options in a Excel spreadsheet, and I exactly got the same price. Also, I tried to play with the strike range (50%-150%, 30%-200% ...) and the strike step (1%, 5% of the forward price...) of the replicating strategy, but without success. For the avoidance of doubt, I focused on a non-dividend paying index (DAX index).
So, I guess the differences could come from the estimation of the very illiquid put options, which tends to be underpriced by the models (approx. 0%) while in an arbitrage free world it would not be the case.
Is there a market standard for the valuation of variance swaps ? How would you manage smile extrapolation on the left side ? Did I miss something ?