I'm using a procedure as described in the interactive brokers article here (https://www.interactivebrokers.com/en/index.php?f=5910&ns=T) to compute a probability distribution from option (call) prices.

In essence you solve a very simple system of two linear equations at each strike.

The issue is I get negative probabilities coming out of it.

I'm looking for a simple and robust procedure to do this estimation. Thoughts?

  • $\begingroup$ you could use breeden litzenberger. Any specific reason why you would not want to use breeden litzenberger ?math5021.weebly.com/uploads/3/6/3/0/3630523/… $\endgroup$ – mbison Dec 28 '15 at 20:53
  • $\begingroup$ I tried -- I get wildly fluctuating values including negative values that look nothing like a PD. Any help? code nstrikes = nrow(x.calls) x.pd <- rep(0, nstrikes) for (i in 2:(nstrikes-1)) { call.cur <- x.calls$mid[i] call.prev <- x.calls$mid[i-1] call.next <- x.calls$mid[i+1] call.h <- ((x.calls$strike[i] - x.calls$strike[i-1]) + (x.calls$strike[i+1] - x.calls$strike[i])) / 2 butterfly.val <- (call.next - 2 * call.cur + call.prev) / call.h x.pd[i] <- butterfly.val } $\endgroup$ – nxstock-trader Dec 29 '15 at 23:22
  • $\begingroup$ It could be that you get negative probabilities because of the values for the mid. If the spread is very wide, and 1 bid (or 1 offer moves). Then that can change the mid a lot. $\endgroup$ – mbison Dec 30 '15 at 10:27

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.