4
$\begingroup$

Im currently working on constructing the risk neutral probability distribution of a stock, based on the option prices. In doing so, i calculate the implied volatilities from the option prices, and then construct densities.

I have not yet normalized the densities in the plot below.

As the expiration date increases, more of the right-tail disappears.

My Question: How do i fit/model the "missing" tails in these densities?

enter image description here

When looking for solutions online, i only encounter examples where we have some dataset X, and then fit a density() to that, but given the problem here, i dont have a dataset, and therefore have to "extend" the density, by fitting some relationship, to extrapolate.

The work i am trying to replicate from matlab is: https://se.mathworks.com/company/newsletters/articles/estimating-option-implied-probability-distributions-for-asset-pricing.html where in matlab the author uses:

for k = 1:numel(T0)
    pdfFitsCall{k} = fit(pdfK, approxCallPDFs(:, k), 'linear');
end

This is my first question, so hopefully there is enough information in my question.

Thank you in advance

$\endgroup$
10
  • $\begingroup$ Can you elucidate what you used to interpolate the density in the first place? The prices are not available across a contiguous set of strikes, so there must be an assumption somewhere in your code. $\endgroup$
    – Arshdeep
    Jun 19 '20 at 9:29
  • $\begingroup$ I fit a polynomial model to my calculated implied volatilities, with respect to the strike price, and then use the fitted model to calculate alot of implied volatilities for a sequence of strike prices. This way i get more data: smile_model <- lm(data[[i]]$implied.volatility ~ data[[i]]$Strikes + I(data[[i]]$Strikes^2)) $\endgroup$
    – Emil Bille
    Jun 19 '20 at 10:09
  • $\begingroup$ I see. Can you not extrapolate by using the same polynomial? (I'm not recommending this, but I'm trying to see what your criteria of a good fit would be). $\endgroup$
    – Arshdeep
    Jun 19 '20 at 10:11
  • $\begingroup$ I could try and do that. I know its not the most sophisticated approach. I just tried solving the problem as the matlab code i linked, where it seems like the author extends the densities strictly by fitting something to the densities, and not the implied volatility model. But i will go with this for now. Thank you for a quick response. :) $\endgroup$
    – Emil Bille
    Jun 19 '20 at 10:14
  • 1
    $\begingroup$ Fit a Lognormal mixture and you're fine with extrapolation, too. $\endgroup$
    – Lisa Ann
    Jun 19 '20 at 14:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.