Serving the Quantitative Finance Community

 
User avatar
chengcj
Topic Author
Posts: 0
Joined: November 1st, 2013, 2:20 pm

Common ways to price VIX Options

November 5th, 2013, 8:20 pm

Hi all,Could someone tell me a relatively common or simple method for pricing VIX Options please?Thanks!
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Common ways to price VIX Options

November 5th, 2013, 8:57 pm

Well, modelling them is tricky/not simple. But if you just want to look at an implied volatility smile/skew, use Black's formula with F=price of VIX future expiring at same time.
Last edited by Alan on November 4th, 2013, 11:00 pm, edited 1 time in total.
 
User avatar
chengcj
Topic Author
Posts: 0
Joined: November 1st, 2013, 2:20 pm

Common ways to price VIX Options

November 5th, 2013, 9:52 pm

In fact I'm more interested in modelling them.Do I need to use a Stochastic Vol Model? Or Local Vol Model is suitable as well?Should the model be modelling S&P 500 and then recalculate the VIX Index? Or model the VIX Index directly?Thanks
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Common ways to price VIX Options

November 5th, 2013, 10:07 pm

The simplest semi-plausible processes for this problem, IMO, are jump-diffusions with simultaneous stock and vol. jumps.VIX option skews are too highly sloped, esp at short times to expiration, for pure diffusion models to work well.My advice is to start by applying this type of process directly to the VIX future/options; calibrate it, and then see howwell it does on the SPX options. By 'apply directly', I mean apply it similar to Sepp, who does the case of the Heston model plus upward vol jumps; that's a good place to start. Then, try to add the things that are missing: stock jumps and downward vol jumps, and you're in business. Is this a common modelling approach? yes, but as I said, quite tricky/not simple. I am actually in the midst of writing up a book chapter on this, likely out in a few months.
Last edited by Alan on November 4th, 2013, 11:00 pm, edited 1 time in total.
 
frolloos
Posts: 752
Joined: September 27th, 2007, 5:29 pm
Location: Netherlands

Common ways to price VIX Options

November 11th, 2013, 5:53 pm

I've also heard of the 3/2 model being used for variance options. The 3/2 model gives an upward sloping skew for skew implied by variance options, which is I suppose what you want for var options. I am not sure what market standard is for volatility derivatives, probably indeed the type of models Alan mentioned. Below a link to a paper on 3/2 model + jumps:http://arxiv.org/pdf/1203.5903.pdf
Last edited by frolloos on November 10th, 2013, 11:00 pm, edited 1 time in total.
 
User avatar
acastaldo
Posts: 14
Joined: October 11th, 2002, 11:24 pm

Common ways to price VIX Options

November 12th, 2013, 12:30 am

The papers of Bergomi which have the words "smile dynamics" in the title have been described to me as relevant to pricing VIX options. I haven't read them. All I know is that the "forward variance" is modeled as a linear combination of two Ornstein-Uhlenbeck processes. Have you come across this?
 
User avatar
GabrielePompa
Posts: 0
Joined: October 11th, 2014, 8:32 pm

Common ways to price VIX Options

February 26th, 2015, 11:23 am

Hi. I have a related question. I'm working with more-or-less the SVJJ of Duffie et al. 2000 and I'm applying the method of Lewis (2000, 2001) of the payoff transform to price VIX. Under the SVJJ model you basically know everything about the characteristic function, especially the CF of the variance process [$] \sigma^{2}_{T} [$]. What you need (and what is new) is the payoff transform of the call on the VIX [$] (VIX_{T} - K)^{+} [$]. Now, what you may eventually know is the CF of [$] VIX^{2}_{T} [$] since in affine models it is affine in the variance process [$] VIX^{2}_{T} = a+b\sigma^{2}_{T} [$]. Therefore you may re-write the payoff of the call option on [$] VIX [$] as a function [$] (\sqrt{VIX^{2}_{T}} - K)^{+} [$] of the [$] VIX^{2} [$] for what, as said, you know the CF. Now the problem is that the payoff transform [$] \hat{w}(z) [$] (in Lewis notation), with [$] z \in \mathbb{C} [$], is rather wild:$$\hat{w}(z) = \int^{\infty}_{-\infty}e^{izx}(\sqrt{x}-K)^{+}dx = \frac{\sqrt{\pi}}{2}\frac{erfc(K\sqrt{-iz})}{(-iz)^{3/2}}$$whose strip of regularity is ([$] K \geq 0 [$]) the upper half of the complex plane: [$] Im(z) > 0 [$].The complementary error function of complex argument is: [$] erfc(z) =1 - erf(z) = 1 - \frac{2}{\sqrt{\pi}}\int^{z }_{0}e^{-s^2}ds [$].Now... integrating this function (multiplied with the [$] VIX^{2} [$] CF) along a path on the upper complex plane, parallel to the real axis, is simply a nightmare, as the erfc(z) oscillates more and more frequently as [$] |z| \Rightarrow \infty [$]. So, especially for deep OTM calls there may be problems. I'm currently using Gauss-Kronrod quadrature of the Matlab function quadgk and I frequently get warnings.So, any idea to avoid the [$] erfc(z) [$] ? I would appreciate ideas either in the form of alternative pricing formulas, or in the form of smart integration procedures.Thanks
Last edited by GabrielePompa on February 25th, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Common ways to price VIX Options

February 26th, 2015, 2:31 pm

It is indeed tricky to do these accurately. First, you must make sure you are integrating in a legal strip.It has to be in the overlap strip [$]0 < \Im z < c [$], where the analyticity strip for [$]\Phi_{VIX_T^2}(-z)[$] is [$]-\infty < \Im z < c[$] with [$]c > 0[$].Getting an analytic expression for c may take some careful analysis. In my codes I then take an integration at the midpoint of this overlap. Second, finding a suitable upper integration cutoff [$]z_{max}[$] is tricky. I see I started with [$]z_{max} = 150/\sqrt{\sigma^2 T}[$], where [$]\sigma^2[$] is a diffusive parameter from the model, and then had to sometimes adaptively increase it to avoid spurious small negative call values. This sounds exactly like your deep OTM issue.
Last edited by Alan on February 25th, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
GabrielePompa
Posts: 0
Joined: October 11th, 2014, 8:32 pm

Common ways to price VIX Options

February 26th, 2015, 3:11 pm

Thank you, now I'm confident this is the right way. I further restrict the analyticity strip of [$] \Phi_{VIX^{2}_{T}}(-z) [$] in order to keep the real part of log argument greater than zero in the CF. Probably NIntegrate uses some Levin-type transformation suitable for oscillating integrals. As far as I know, in Matlab there is no such implementation. However quadgk takes care of the cutoff by its own (i.e. [I've read you edit] I don't have direct control on it...).Possibly the only tiny improvement I found useful is this. Rewrite the payoff as$$(\sqrt{x}-K)^{+} = K \left(\sqrt{\frac{x}{K^2}} - 1\right)^{+}$$and therefore, you have the same term $$\frac{\sqrt{\pi}}{2}\frac{erfc(\sqrt{-iz})}{(-iz)^{3/2}}$$and, with this erfc() term, you get the same oscillating behavior of an option of strike [$] K=1 [$] for an entire strip of options of the same maturity.Off course you then have to consider the CF of [$] VIX^{2}_{T}/K^2 [$]$$\Phi'_{\frac{VIX^{2}_{T}}{K^2}}(-z) = \Phi_{VIX^{2}_{T}}\left(-\frac{z}{K^2}\right)$$ which as the con of decaying slower, but the pro of an enlarged convergence strip [$] c \Rightarrow cK^2 [$].Thanks a lot for your answers.Best regards.----P.S. you may want to play around with that transformation of the payoff, if [$] n \geq 0 [$]$$(\sqrt{x}-K)^{+} = K^{n} \left(\sqrt{\frac{x}{K^{2n}}} - \frac{1}{K^{n-1}}\right)^{+} \Rightarrow \frac{\sqrt{\pi}}{2}\frac{erfc \left(\frac{1}{K^{n-1}} \sqrt{-iz} \right)}{(-iz)^{3/2}}$$in order to have an increasingly less oscillating erfc() (for fixed cutoff), but then the decay of the factor [$] \Phi_{VIX^{2}_{T}}\left(-\frac{z}{K^{2n}}\right) [$] could be too slow and could become a problem per se. I found a good compromise in the case above (which corresponds to [$] n=1 [$]).
Last edited by GabrielePompa on February 25th, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Common ways to price VIX Options

February 26th, 2015, 3:35 pm

Those are good tricks -- sounds like you are making good progress.The only other thing that comes to mind is: sometimes it is worth searching first for a saddle point of the integrandon the imaginary z-axis (and within the legal Im z range) to pick the contour location. I don't think I ever tried that with this VIX problem, but sometimes it is quite helpful for problematic Fourier inversionswith highly oscillatory integrands.
 
User avatar
GabrielePompa
Posts: 0
Joined: October 11th, 2014, 8:32 pm

Common ways to price VIX Options

February 26th, 2015, 3:52 pm

Oh thanks, I'll try it surely!
 
User avatar
gelfand
Posts: 14
Joined: July 14th, 2002, 3:00 am

Common ways to price VIX Options

March 6th, 2015, 5:18 pm

QuoteOriginally posted by: AlanThe simplest semi-plausible processes for this problem, IMO, are jump-diffusions with simultaneous stock and vol. jumps.VIX option skews are too highly sloped, esp at short times to expiration, for pure diffusion models to work well.The volatility of a VIX futures contract rises as it approaches expiration. This feature should be included in the model.
 
User avatar
GabrielePompa
Posts: 0
Joined: October 11th, 2014, 8:32 pm

Common ways to price VIX Options

March 12th, 2015, 10:32 am

Hi, Alan, your idea of the saddle method (minimum of the VIX options integrand in the legal strip for [$] Im(z) [$]) works fine and I shall adopt it. I'm also considering to implement some kind of control-variate methodology in order to stabilize the Fourier inversion. In equity Call option pricing you do ([$] C(T,K) [$] being the model price):$$C(T,K) = C_{BS}(T,K,\sigma_{BS}) + C(T,K) - C_{BS}(T,K,\sigma_{BS})$$and you decompose the second Black-Scholes price in order to consider an integrand of the form$$\Phi(z) - \Phi_{BS}(z, \sigma_{BS})$$where [$] \Phi(z) [$] is the log-price conditional CF of the model and off course the characteristic function of the log-price in the BS model is the gaussian with parameter [$] \sigma_{BS} [$]. If you properly choose the [$] \sigma_{BS} [$] in the Black-Scholes you'll get a smoother integrand and there you go.I've noticed there's a lot of industry in selecting properly that parameter, for example O'sullivan (2005) considered$$\sigma_{BS} = \sqrt{\left( -Re(\Phi''(0)) \right) - \left( Im(\Phi'(0)) \right)^2}$$but for the time being I'm using a really simple choice, that seems to works well, considering [$] \sigma_{BS} = IV(T,K) [$], the implied volatility for the [$] (T,K) [$] option. In practice, I rewrite the above expression in this way ([$] C_{MKT}(T,K) [$] being the observed market price for the [$] (T,K) [$] call option):$$C(T,K) = C_{MKT}(T,K) + C(T,K) - C_{BS}(T,K,IV(T,K))$$which still is an exact expression (up to numerical computation of the implied volatility [$] IV(T,K) [$], which usually is even quoted). Therefore in the integrand will looks like [$] \Phi(z) - \Phi_{BS}(z, IV(T,K)) [$].Did anybody try something like this? Would appreciate feedbacks.----Now come to VIX options (suppose to consider the SVJJ model of Duffie et al. (2000), to fix ideas): now we are considering the conditional CF of the volatility process [$] \Phi^{\sigma}(z) [$]. Unfortunately we cannot proceed by analogy, because in the BS model the CF the volatility is constant and thus the characteristic function of the volatility process is nothing more than a Delta function peaked at [$] \sigma_{BS} [$]: [$] \delta(\sigma_{BS}) [$] so, of no utility in the present context.I'm consider to use as a control variate the Heston (1993) model, which as CIR volatility process which has two advantages:1) it has a smooth CF for the volatility [$] \Phi^{\sigma}_{H}(z) [$], useful in the subtraction inside the integrand [$] \Phi^{\sigma}(z) - \Phi^{\sigma}_{H}(z) [$] (the legal strip of the Heston is inside the legal strip for the SVJJ so this is not an issue);2) since for the CIR model, also the PDF of the volatility is known ([$] \sim [$] non-central [$] \chi^2 [$]), you can price VIX option under Heston directly integrating the PDF against the payoff, so is more-or-less the same machinery that you need in pricing equity options under Black-Scholes.I would appreciate very much you opinion about what I've just said.Thanks
Last edited by GabrielePompa on March 11th, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Common ways to price VIX Options

March 12th, 2015, 1:02 pm

I never use a control variate for option pricing. I see what you are doing, but my reaction is: does it actually help in the delicate casesof deep OTM options? By using the BS model at the market IV, you are creating a new Phi integrand that I can see will begenerally smaller at small z. But perhaps it is generally more oscillatory? Ditto for some other control like Heston. Whether or not such a change actually helps in evaluating the integral for the delicate cases seems problematic to me. Especially as the calibrator explores large regions of the parameter space.I haven't tried it, though. Does it really help?
Last edited by Alan on March 11th, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
GabrielePompa
Posts: 0
Joined: October 11th, 2014, 8:32 pm

Common ways to price VIX Options

March 12th, 2015, 4:05 pm

Thank you for quick reply. Well, how the subtraction of the [$] \Phi_{BS}(z,\sigma_{BS}) [$] term impacts the accuracy at deep OTM is far from being clear at the moment for me.What I maybe understand of this methodology is that you have somehow a faster decay of the integrand and the subtraction lowers the error of summing big and small terms together (for small and higher [$] z [$], respectively), since the integrand [$] \Phi(z) - \Phi_{BS}(z,\sigma_{BS}) [$] is overally smaller. For what concerns the oscillating behavior at big [$] z [$], I guess that an optimized [$] \sigma_{BS} [$] - which in the Black-Scholes CF both drives the rate of decay and the frequency of oscillation (here what would appear with your [$] Im(z) = 1/2 [$] contour integral$$\Phi_{BS}(u, \sigma_{BS}) \propto e^{-\frac{\sigma_{BS}}{2}T(u^2 + iu)},$$off course would lead to better results (e.g. if you eventually synchronize the oscillating behavior of [$] \Phi_{BS}(u, \sigma_{BS}) [$] with that of the model CF [$] \Phi(u) [$]), but optimization is often time-demanding (you need eventually to compute the derivatives of [$] \Phi(u) [$], either analytically or numerically).I'm not pretending anything with my ad hoc choice [$] \sigma_{BS} = IV(T,K) [$] but I'll work with it for a while before discarding it.Same can be said for the use of the Heston volatility CF [$] \Phi^{\sigma}_{H}(z) [$] in controlling the VIX option integrand... we'll see ;)