Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to calculate model free implied volatility $\sigma_{MF}$ for a relative performance index using the following method:

$\sigma_{MF}^2=2\sum_{i} [\frac{C(T,K_{i})}{K_{i}^2} - \frac{max(0,F-K_{i})}{K_{i}^2}]\Delta K_{i}$, where $F=Ie^{(\frac{\sigma_{M}^2-\sigma_{S}^2+\sigma_{MF}^2}{2})T}$

The only unknown here is $\sigma_{MF}$.How can I implement this using Matlab? I am confused as to how I can use nonlinear optimization functions when the unknown $\sigma_{MF}$ is itself inside a loop.

share|improve this question
This formula looks like the formula for VIX as the CBOE calculates it. Why do you have those $\sigma$ terms in the exponential for $F$? This is not standard ... maybe you do some secret magic there ... if this is not the case: what is this? If you just calculate VIX, then you don't need any solver ... for $F$ you could use cost-of-carry or the implied forward from put-call parity. – Richard Feb 15 '13 at 12:46

Write the equation as $\sigma_{MF} \to G(\sigma_{MF}) = 0$ (by subtracting $\sigma_{MF}^2$) and use a root finder. As how to solve $G(\sigma_{MF}) = 0$ in MatLab check the MatLab documentation (see e.g. "solver" there).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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