# Alternative Method for Determining Option-Implied pdf

As I am refining a pricing model to incorporate skew, and not just ATM volatilities, I need to create random realizations of the underlying consistent with the skew-implied pdf. When searching, one ends up with the Breeden-Litzenberger formula, which states that:

$$\frac{\partial^{2}C}{\partial K^{2}}=e^{-rT}g(S_{T})$$

As I am slightly wary of using numerical second derivatives in my code, I looked for an alternative way of obtaining this. I came up with the idea of using correctly skew-adjusted cash-or-nothing binary put prices in order to derive the CDF of the underlying:

$$P_{dig}=P_{dig,noskew}+\nu_{vanilla}*\frac{\partial \sigma}{\partial K}$$

As $$CDF=e^{rT}P_{dig}$$, I run [0,1]-normally distributed random numbers through the inverse function $$CDF^{-1}$$ to get realizations of the underlying that are distributed consistent with the skew.

Can I please have your views on this / please comment if I am missing something here

• If all you want is the CDF and not the PDF, then you could also use $\partial C / \partial K$ instead of the second order derivative. You might also find my answer to quant.stackexchange.com/questions/30749 helpful. – LocalVolatility Feb 3 '19 at 22:30
• So basically that would be $1+\partial C/\partial K$ – ZRH Feb 4 '19 at 7:58
• Yes - but don't forget to multiply the derivative by the discount factor. – LocalVolatility Feb 4 '19 at 9:19
• Coded this up now as proposed by you, works like a charm. For anyone who wants to try - you need to compute the CDF over a quite wide range of values in order not to truncate the pdf that is implicit in the distribution of underlying values. – ZRH Feb 4 '19 at 16:16
• @zrh if you have some analytic form for the smile, then you can compute the second derivative numerically to arbitrary precision - what is your worry? – will Feb 5 '19 at 21:47
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 4, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.7837615609169006, "perplexity": 395.70692339477705}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2020-50/segments/1606141189038.24/warc/CC-MAIN-20201127015426-20201127045426-00474.warc.gz"}