Suppose given implied volatility quotations $\widehat{\sigma}(T_i,K_j)$ of call options on an underlying $S$ for various expiries $T_i$'s and strikes $K_j$'s. I am interested in the following problem : what is the "optimal" method to calculate numerically the familly of densities $(\varphi_{T})_T$ where $\varphi_{T}$ is the density of $S_T$, knowing that I will mainly be interested in computing numerically sums of the form $\int_{0}^{+\infty} f(x)\varphi_T(x)dx$, and that I will, for this calculation, have to restrict myself to compact intervals and calculate sums of the form $\int_{K_1}^{K_2} f(x)\varphi_T(x)dx$.

I already have a tool calculating (by various interpolations), for each expiry $T_i$ a function $K\mapsto\widehat{\sigma}(T_i ,K)$ for all positive $K$. Assuming for now that I fix an expiry $T$ equal to one of the $T_i$'s. I could do this : first write the market call price as a risk-neutral expectation (assuming for now constant spot rate) $$\textrm{Call}_0^{\textrm{Mkt.}} (T,K) = e^{-rT}\mathbf{E}^{\mathbf{P}}[(S_T-K)_{+}]$$ and differentiate this twice with respect to $K$ to get $$\frac{\partial^2}{\partial K^2}\textrm{Call}_0^{\textrm{Mkt.}} (T,K) = e^{-rT} \varphi_T (K).$$ (This the Breeden-Litzenberger formula.) Now write the market call price in function of the implied volatility and the Black-Scholes call price as $$\textrm{Call}^{\textrm{Mkt.}} (T,K) = \textrm{BS}^{\textrm{Mkt.}} (T,K,\widehat{\sigma}(T_i ,K))$$ and differentiate twice: you will obtain an expression that is combination of Black-Scholes greeks evaluated at first and second derivatives (with respect to $K$) of $K\mapsto\widehat{\sigma}(T_i ,K)$. We could use this to calculate $\varphi_T (K)$ for various $K'$, and then use these values to numerically calculate $\int_{K_1}^{K_2} f(x)\varphi_T(x)dx$, after having "somehow" selected the correct bounds $K_1$ and $K_2$.

This method does not really convince me, especially as it leaves "out" the problem of choosing $K_1$ and $K_2$, which is highly 1) non-trivial and 2) speculative as it relies on interpolations and wings extrapolations used to get $K\mapsto\widehat{\sigma}(T_i ,K)$, and can lead to severe underestimation of $S_T$'s distribution's tail etc.

I am really not sure that this method is even the one practicioners are using when they need to extract densities from implied volatilities (and to integrate functions against these densities.) I guess that parametric methods are more suited for this, which leads to my question : what kind of other methods are available (parametric or not) and which one is the "standard" one, that is, used by the practioners ?

Precision : I am using this in the following context : I have for instance MXNUSD and CADUSD implied volatilities quotations for let's say same expiries, then I use interpolation to produce smile functions for each expiry and each currency pair, from which I extract two densities, and using a copula function, I get a density for cross-currency pair MXNCAD, that I use to price calls on MXNCAD and then to produce an MXNCAD implied volatility surface. (it's the classic problem consisting in getting prices of options on an illiquid currency pair knowing options markets of two related "marginal" liquid currency pairs.)

  • $\begingroup$ Seems like there are two issues: 1 interpolation and extrapolation, and 2 - K1 & K2. First - you'll get better (more robust) theo vols if you use model-based interpolation (SABR, SVI, etc) to create no-arb density. Using just "any" interpolation method (e.g. splines) could have arb, and your wings, density will be messed up. Second - seems like you have some computational limitation, that you cannot evaluate the function on a sufficiently large interval. Can you elaborate? $\endgroup$ Apr 2, 2015 at 14:04
  • $\begingroup$ Actually the interpolation/extrapolation may be an issue, but even if I assume having optimal implied vols for one underlying (a currency pair for instance), I am really not sure (in fact, I am almost sure of the contrary) that calculating the underlying's density as I do is the best/optimal way, especially as I intend to use densities as described above. I have no computational limitation, but a time limitation ; I don't want to take a way too fine grid to integration, but also want to have an interval large enough to capture enough "mass" by integrating against the density on it. $\endgroup$
    – Olórin
    Apr 2, 2015 at 15:52
  • $\begingroup$ Regarding your remark on models, I want to have something quick, don't want to calibrate a SV model to get densities, as I could then use an other SV model on the cross currency to price my options. $\endgroup$
    – Olórin
    Apr 2, 2015 at 15:54
  • $\begingroup$ @ujsgeyrr1f0d0d0r0h1h0j0j_juj , please have a look at my latest question, I think you will be able to help me :) $\endgroup$
    – Sanjay
    Jun 3, 2019 at 14:03

1 Answer 1


I don't think there's a general answer to your question. Now the point is more what you need/expect to calculate out of your interpolated/extrapolated densities and how sensitive those in turn are to the interpolation/extrapolation assumptions.

For instance if you will be sensitive to tails then you want to make sure that K1, K2 and your extrapolation scheme calibrate well to other type of product which are also sensitive to them, like variance swaps eg if there's a market for those (i am not familiar with FX market but say in equities you can have market data providers for those like TOTEM or Markit etc..)

On the other hand if you want to calculate ATM options prices for EURGBP given EURUSD and GPBUSD then chances are that you don't care too much about the extrapolation scheme.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.