I currently have a local volatility model that uses the standard Black Scholes assumptions.
When calculating the volatility surface, what causes the difference between the call volatility surface, and the put surface?
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It only takes a minute to sign up.
Sign up to join this communityI currently have a local volatility model that uses the standard Black Scholes assumptions.
When calculating the volatility surface, what causes the difference between the call volatility surface, and the put surface?
The reason for put and call volatilities to appear different is that the implied vol has been calculated using different drift parameters than those implied by the market.
Let's take everything in the model as given except the interest rate $r$ and the volatility $\sigma$. For European options we have the Black-Scholes formula for put and call values $V_{P,C}$
$$ V_{P,C}=BS_{P,C}(r,\sigma) $$
Now, although it is common practice to run this equation backwards to "imply" the volatility $\sigma$
$$ \sigma_{\text{Imp}} = BS^{-1}_{\sigma}(r,V) $$
we can see that from a mathematical point of view we could imply $r$ instead
$$ r_{\text{Imp}} = BS^{-1}_{r}(\sigma,V). $$
Obviously, using a different $r$ affect options prices and therefore implied volatilities.
Consider now the consequences of receiving prices from someone using the Black-Scholes model. For concreteness I will take $T=1, K=S=100$ and no carry cost. Let's say you think $r=1\%$. I give you put and call prices of $7.95$ and $11.80$. You will get a put vol of $21.3\%$ and a call vol of $28.6\%$. Seem familiar?
That's because I actually generated those prices using $r=4\%$. If you had used the same drift parameter $r$ as I had employed, you would have computed both volatilities to be $25\%$.
Generally, risk-free interest rates are not too hard to pin down, but we have other effects on drift where the parameters are not so obvious. This includes dividends, borrow costs and funding costs. Each of these terms is typically treated as a deterministic "carry cost" but even in the simple case of European options it is not necessarily clear what values should be used for them.
So to your answer your question, the difference between put and call volatility surfaces is a symptom of your drift parameters failing to match those of the market.
The market will quote Call and Put options prices within a bid-ask spread. In order to imply the volatility, one may choose to use the bid, the ask, or the mid. Although the mid is a better idea in general, there is no right choice. The point is that there is always a spread in the implied volatility.
Now, the Put-Call parity only holds within the a spread. And thus, the call and put implied volatility surfaces are only "equal" within a spread. The more out-of-the-money, the larger will be the spread in practice.
What are the causes for the spread? liquidity, transaction costs, risk of default.
You will note that all of the above is independent of any local volatility model. The Dupire LV model assumes a continuum of arbitrage-free option prices across strikes and expiries, which is not something the market quotes directly. You must use some intermediate model for it (a parameterization, typically). Within the LV model, the implied vol surfaces for puts and calls will match exactly as mentioned by @AlexeyKalmykov, but won't match exactly the market vols (as there is no exact market implied vol anyway).
Implied volatility is the same for European call and European put options (it can be seen from Put-Call parity). If you use non-parametric local volatility model and fit it to implied volatility surface, then you should get exact fit. Therefore, local volatility surface should be the same for call and put options.