I would like to see how the currency price levels are distributed in a probability function. But I don't even know if there is such a thing or if perhaps its just common knowledge and readily available.

Possibly related questions:

Q: How can I plot the price probability function for a currency pair, for a certain period, $x$?

(Are there any readily available tools for doing this?)


As a clarification to some of the comments, I would like to be more specific, and mention that I have nearly 4 months of EUR/USD M1 OHLCV data (5x ~112K points) that I would like to turn into a PDF. The answers provided so far has not gotten me any closer to this task.


You can extract the risk neutral density implied by option prices and have a look at that. The implied probabilities are given by the prices of butterfly spreads in the market. This is common knowledge. Page 241 of this book explains how you could go about doing it in Excel: https://gaussiandotblog.files.wordpress.com/2018/02/wiley-trading-giles-peter-jewitt-fx-derivatives-trader-school-2015-wiley.pdf

  • $\begingroup$ Thanks, nice book. I ran some of its examples, but i must admit it did not really get me to where I wanted to be. Mind that I am not a quant. I was thinking along the line of KDE, but I don't know how to apply it, or if it is even correct to do so. $\endgroup$ – not2qubit Dec 28 '19 at 5:29
  • $\begingroup$ The section that I cite tells you exactly step by step how to use option prices to see " see how the currency price levels are distributed in a probability function" as you asked. So I am not really sure what there is left to be answered? $\endgroup$ – roz Dec 30 '19 at 14:14
  • 1
    $\begingroup$ So just to be absolutely clear: using your price data you could ignore our recommendations and simply calculate daily log returns as log(P(t-1)/P(t)) where P(t) is the price on the t day. Then just make a histogram of these returns. $\endgroup$ – roz Dec 30 '19 at 16:52
  • 1
    $\begingroup$ The reason you are being told to use option prices to extract the implied density instead is that the resulting pdf is often forward looking and contains more information than the historical pdf. For example, if you look at some of the examples the author gives in chapter 13, you will see there are pdfs that give a small probability of a very large drop below a pegged/managed level. Another example is that you could have a bimodal pdf. These usually result when there is an anticipated event that could cause the price to jump. You will miss these possibilities simply looking at the historical. $\endgroup$ – roz Dec 30 '19 at 16:55
  • 1
    $\begingroup$ Thank you so much for trying to clarify! Those last comments made the difference. I will try to follow both methods, and see where it get me. However, I also realized that this SE forum is probably not for me, and I will definitely give it a 2nd and 3rd though before posting here again. The quant and options language here, is way too full of tech jargon, and you need to spend a week just trying to understand the language in most answers. $\endgroup$ – not2qubit Dec 30 '19 at 17:03

Assume we knew the density function $f$ of the FX price that we observe in the market. Then the market price of a call option $C(K)$ with strike $K$ would be \begin{align*} C(K)&=e^{-rT} \int_0^{\infty}(s-K)^+ f(s)ds \\ &=e^{-rT} \left( \int_K^{\infty} s f(s)ds - K \int_K^{\infty}f(s)ds \right) \tag*{(1)}. \end{align*}

$C(K)$ is a market price and we want to recover $f$ from Eq(1). So we just have to differentiate twice with respect to K. We differentiate once to get \begin{align*} \frac{d}{dK}C(K)e^{rT} &= -K f(K) - \left( \int_K^{\infty} f(s)ds - K f(K) \right) \\ &= - \int_K^{\infty} f(s)ds \end{align*} Differentiating again $$\frac{d^2}{dK^2}C(K)e^{rT} = f(K). \tag*{(2)}$$ This shows that the "real" density can be obtained from the call prices. As an easy approximation to Eq(2), we can use the following $$f(K) \cong \left[ \frac{ C(K+h)+C(K-h)-2C(K)}{h^2} \right]e^{rT}. \tag*{(3)}$$ How do we use this formula? We can collect a set of market prices of calls, for all the strikes corresponding to some maturity, and interpolate the volatilities. Suppose we have 6 market prices. Then we get the implied volatilities from the options prices and interpolate the vols to have a " more dense" set of vols. For example if we originally have market implied vols 85%, 90%, 95%, 100% 105% 110%, we interpolate to obtain 70%, 71%, 72%, ... , 140%. Then we use Black-Scholes formula to obtain $C(K)$ and plug it into Eq(3) in order to get the desired implied density $f$. This can be done in Excel quite easily.

Of course there are many ways to interpolate volatilities and also to extrapolate them in both ends.

  • $\begingroup$ You already mention it, but for further highlight: strive to interpolate implied vols, rather than option prices, as you get a more robust density estimate that way (your density will be much more sensitive to interpolation in price space than implied vol space). If you have option prices, turn them into implied vols by inverting the BS formula. $\endgroup$ – Daneel Olivaw Dec 28 '19 at 13:08
  • $\begingroup$ Unfortunately, as I am neither a quant, nor well versed in the options language, I don't see clearly how to apply that formula for common forex price action. For example, what would I use for the various quantities/variables shown? Also how do you measure volume in terms of % (of what)? Do you have any references or links to where I can find some examples, applied to fx market? $\endgroup$ – not2qubit Dec 29 '19 at 14:26
  • 1
    $\begingroup$ Do you know how to price a call option in a spreadsheet and how to use the Excel solver? $\endgroup$ – user39119 Dec 29 '19 at 14:30
  • $\begingroup$ Nope. I generally don't use Excel, especially not to solve or plot anything. I first try to do this manually. If numerical integration is needed I'll generally use Matlab, R or custom python. $\endgroup$ – not2qubit Dec 29 '19 at 14:50
  • 1
    $\begingroup$ @not2qubit: : I don't understand your comment. I was just trying to help you to show you how to use the formula to obtain your implied density function, which is something that can be done in Matlab in 5 minutes. Also, it doesn't matter whether your option is on a stock or on a Fx Rate, the procedure is the same. But to be honest, I couldn't care less. $\endgroup$ – user39119 Dec 30 '19 at 14:46

Your Answer

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

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