Skip to content
All library documents

Building Equity Volatility Surfaces and Calibrating Pricing Models

Article Quant Q&A · Author: raptor22

Summary

The document outlines a proposed workflow for modeling equity option volatility. It first uses a Cox–Ross–Rubinstein tree with forecast discrete dividends to price American options, then inverts Black–Scholes to obtain implied volatilities. It proposes fitting an SVI or SSVI surface with constraints intended to prevent calendar arbitrage, and using Black–Scholes prices from that surface to calibrate models such as Heston or local volatility.

The response says calls and puts should share a volatility surface, with European put-call parity as a supporting rationale. It also notes that using consistent numerical methods across calibration and pricing can reduce the impact of approximation errors. For models that can be calibrated directly to market prices, it generally favors doing so rather than converting prices to implied volatilities and back. The discussion is conceptual: it gives no empirical comparison or implementation details, and acknowledges that some models require a supplied volatility surface.

Key ideas

  • A shared implied volatility surface can represent both calls and puts, with European prices linked by put-call parity.
  • American option prices with discrete dividends can be inverted to Black–Scholes implied volatility using a tree-based pricing procedure.
  • SVI or SSVI fitting can be constrained to avoid calendar spread arbitrage.
  • Direct calibration to market prices can avoid errors introduced by converting between prices and implied volatilities.
  • Consistent numerical methods for calibration and valuation may reduce the effect of approximation errors.

Tags

Full text
# Procedure/methodology for building equity volatility surface


# Procedure/methodology for building equity volatility surface












EDIT: I update while making progress:

I am trying to build (model implied) volatility surfaces for individual equities. I will use these surfaces to calibrate models to price different derivatives (plain vanillas and exotics). An important note is that I intend to use these for sensitivity computations and not for pricing efficiency. I would like to validate my methodology from a theoretical and a practical perspective and ask several questions:



- Model implied volatilities: use Cox-Rubinstien-Ross (CRR) binomial tree to price American options by including discrete dividends from forecasted dividends. Use root finding algorithm to find the Black-Scholes (BS) implied volatility. This is done by recomputing the option price by using the CRR tree for each candidate implied volatility parameter proposed by the root finding alogirithm.

- Fitting method for the implied volatility surface: Here I refer to the great answer by Christian Fries What are the advantages/disadvantages of these approaches to deal with volatility surface? I go with the SVI/SSVI approach with techniques described in https://arxiv.org/pdf/1204.0646.pdf to avoid calendar spread arbitrage. I choose this method because it allows me to both be accurate enough for plain vanilla option valuation, it also give a good representation of forward volatilities for other derivatives.

- Pricing model calibration: I then use the obtained surface to get European option prices by applying the BS formula. I use these European option prices to calibrate a pricing model, e.g. Heston, local volatility, by minimizing these prices with the model-derived European option prices.

Some questions:

- Should I build two surfaces, one for puts and one for calls?

- Is it possible to have a single equity implied volatility surface to use for pricing different derivatives? Should I use the same model as my pricing model to build the volatility surface?

- Is there any good literature that could clarify these practical issues? I am confused because topics of model calibration and surface fitting are usually treated as two separate things. Are the fitting methods only needed to extrapolate the prices of plain vanillas in an arbitrage-free way? How is it done in practice?

- Do the same principles apply for FX, and roughly to interest rates? In the interest rate context, my understanding is that it is done in two steps 1. build a model implied volatility surface by e.g. inverting Black's formula and calibrating SABR. Then for calibration of a model (e.g. Hull White) use the derived e.g. swaption prices from this surface and match them with the pricing model derived swaption prices (from Hull White in this case).

## Answer by KT8 (score 1)

https://quant.stackexchange.com/a/78149

I will answer this to my best knowledge:

> Should I build two surfaces, one for puts and one for calls?

No, volatility surfaces should apply to all your derivatives and should be equivalent. For (european) calls and puts under BS this follows trivially from the call-put parity. In a more exotic scenario, just imagine a local volatility model: that surface describes what the volatility should be for the diffusion process of the underlying price, no matter what the derivative in question is.

> Is it possible to have a single equity implied volatility surface to use for pricing different derivatives? Should I use the same model as my pricing model to build the volatility surface?

Using the same type of models should help in the sense that, whatever numerical or approximation errors you're introducing (there will always be some, no matter how small), will affect your pricing, hedge ratios or sensitivities. So, using the same model for calibrating and pricing helps keeping these to the minimum. Consider the opposite, using Finite difference methods and PDE to calibrate, and MC to price, then the errors from one and the other would sum up rather than cancel out.

> Is there any good literature that could clarify these practical issues? I am confused because topics of model calibration and surface fitting are usually treated as two separate things. Are the fitting methods only needed to extrapolate the prices of plain vanillas in an arbitrage-free way? How is it done in practice?

and

> Do the same principles apply for FX, and roughly to interest rates? In the interest rate context, my understanding is that it is done in two steps 1. build a model implied volatility surface by e.g. inverting Black's formula and calibrating SABR. Then for calibration of a model (e.g. Hull White) use the derived e.g. swaption prices from this surface and match them with the pricing model derived swaption prices (from Hull White in this case).

I would suggest that you do the surface and model calibration all together. Note that what you get from the market are not volatilities but prices. Therefore, as in the previous example I gave, going from prices to volatilites to prices again (now under your model of choice) could lead to some error propagating and increasing in size, whereas if you compute the call/put prices in your model by fitting the parameters, and compare those to the market inputs, you could try to reduce them. Note however that this is not always possible, for some models you will have to input a volatility surface, but if this is not the case, calibrating to prices is ususally preferred.

I have seen some bibliography on this, but at this moment I cannot recall any to point you to, sorry.

Hope this helps!

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.