# R: How do i finish the tails in the risk neutral density, obtained from option prices

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?

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

• 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. – Arshdeep Singh Duggal Jun 19 at 9:29
• 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))  – Emil Bille Jun 19 at 10:09
• 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). – Arshdeep Singh Duggal Jun 19 at 10:11
• 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. :) – Emil Bille Jun 19 at 10:14
• Sure thing. Just make sure there is no arbitrage - this could come into play as the slope of the IV smile is bounded by some no arbitrage restrictions if I remember correctly. All you need to do is check that the density is non negative, call prices are decreasing with strike, and convex in strike. – Arshdeep Singh Duggal Jun 19 at 10:18