VIX Futures & Options are one of the most actively traded index
derivatives series on the Chicago Board Options Exchange (CBOE). These
derivatives are written on S&P 500 volatility index and their popularity
has made volatility a widely accepted asset class for trading, diversifying and hedging
instrument since their launch. VIX Futures
started trading on March 26th, 2004 on CFE (CBOE Future Exchange)
and VIX Options were introduced on Feb 24th, 2006.
VIX Futures & Options
VIX (Volatility Index) or the ‘Fear Index’ is based on the S&P 500
options volatility. Spot VIX can be defined as square root of 30 day variance
swap of S&P 500 index (SPX) or in simple terms it is the 30-day average
implied volatility of S&P 500 index options. The VIX F&O are based on
this spot VIX and is similar to the equity indexes in general modus operandi.
But structurally they have far more differences than similarities. While, in
case of equity indices (for example SPX), the index is a weighted average of
the components, in case of the VIX it is sum of squares of the components. This
non-linear relationship makes the spot VIX non-tradable but at the same time
the derivatives of spot VIX are tradable. This can be better understood with
the analogy of Interest Rate Derivatives. The derivatives based on the interest
rates are traded worldwide but the underlying asset: interest rate itself
cannot be traded.
The different relation between the VIX derivatives and the underlying
VIX makes it unique in the sense that the overall behavior of the instruments
and their pricing is quite different from the equity index derivatives. This
also makes the pricing of VIX F&O a complicated process. A proper
statistical approach incorporating the various aspects like the strength of
trend, mean reversion and volatility etc. is needed for modeling the pricing
and behavior of VIX derivatives.
Research on Pricing Models
There has been a lot of research in deriving models for the VIX F&O
pricing based on different approaches. These models have their own merits and
demerits and it becomes a tough decision to decide on the most optimum model.
In this regards, I find the work of Mr.
Qunfang Bao titled ‘Mean-Reverting
Logarithmic Modeling of VIX’ quite interesting. In his research,
Bao not only revisits the existing models and work by other prominent
researchers but also comes out with suggestive models after a careful
observation of the limitations of the already proposed models. The basic thesis
of Bao’s work involves mean-reverting logarithmic dynamics as an essential
aspect of Spot VIX.
VIX F&O contracts don’t necessarily track the underlying in the same
way in which equity futures track their indices. VIX Futures have a dynamic
relationship with the VIX index and do not exactly follow its index. This
correlation is weaker and evolves over time. Close to expiration, the
correlation improves and the futures might move in sync with the index. On the
other hand VIX Options are more related to the futures and can be priced off
the VIX futures in a much better way than the VIX index itself.
Pricing Models
As a volatility index, VIX shares the properties of mean reversion,
large upward jumps & stochastic volatility (aka stochastic vol-of-vol). A good model is expected to take into
consideration, most of these factors.
There are roughly two categories of approaches for VIX modeling. One is
the Consistent approach and the other being Standalone approach.
I. Consistent Approach: - This is the pure diffusion model wherein the inherent relationship
between S&P 500 & VIX is used in deriving the expression for spot VIX
which by definition is square root of forward realized variance of SPX.
II. Standalone
Approach: - In this approach, the VIX
dynamics are directly specified and thus the VIX derivatives can be priced in a
much simpler way. This approach only focuses on pricing derivatives written on
VIX index without considering SPX option.
Bao in his paper mentions that the standalone approach is comparatively
better and simpler than the consistent approach.
MRLR model
The most widely proposed model under the standalone approach is MRLR
(Mean Reverting Logarithmic Model) model which assumes that the spot VIX
follows a Geometric Brownian motion process. The MRLR model fits well for VIX
Future pricing but appears to be unsuited for the VIX Options pricing because
of the fact that this model generates no skew for VIX option. In contrast, this
model is a good model for VIX futures.
MRLRJ model
Since the MRLR model is unable to produce implied volatility skew for
VIX options, Bao further tries to modify the MRLR model by adding jump into the
mean reverting logarithmic dynamics obtaining the Mean Reverting Logarithmic
Jump Model (MRLRJ). By adding upward jump into spot VIX, this model is able to
capture the positive skew observed in VIX options market.
MRLRSV model
Another way in which the implied volatility skew can be produced for VIX
Options is by including stochastic volatility into the spot VIX dynamics. This
model of Mean Reverting Logarithmic model with stochastic volatility (MRLRSV)
is based on the aforesaid process of skew appropriation.
Both, MRLRJ and MRLRSV models perform equally well in appropriating
positive skew observed in case of VIX options.
MRLRSVJ model
Bao further combines the MRLRJ and MRLRSV models together to form
MRLRSVJ model. He mentions that this combined model becomes somewhat
complicated and in return adds little value to the MRLRJ or MRLRSV models. Also
extra parameters are needed to be estimated in case of MRLRSVJ model.
---
Azouz Gmach works for QuantShare, a technical/fundamental analysis software.
===
My online Mean Reversion Strategies workshop will be offered in September. Please visit epchan.com/my-workshops for registration details.
Also, I will be teaching a new course Millisecond Frequency Trading (MFT) in London this October.
-Ernie
Azouz Gmach,
ReplyDeleteHi, nice post. Interesting read. I did have a quick look at QuantShare but must admit to being confused. What is the pricing model, I doubt you provide all those features without any kind of interest in monetizing it. (Too old to believe in Santa). I also have difficulties finding any information about "Corporate Trading" that is behind the software.
Don't get me wrong, the service looks good, I'll create a test account to have a closer look, but the information I am missing sets of alarm bells.
However, thanks for the article anyhow.
Hi Ernie,
ReplyDeleteIf I have ten years of historical data for optimization and two variables for a simple interdays trading system, do these steps make sense:
1. Do the optimization with 10 years of data, find the best 2 variables values with the highest Sharpe ratio. I would also look at the results with good sharpe ratio to see if the highest one looks like lucky or that closed range of variables can provide similar high sharpe ratio.
2. Do a walk forwarding test with the variable I got from step 1 to do 1 year in simple then next year out of sample, then I get 10 results. I eyeball to see if most of the result confirm with the answer I got from step 1, and see if there are many years with result very different from the answer from step 1. If there are few years that are very different from the answer I got from step 1, then I doubt the creditability.
3. Look at a 3D graph of result from step 1 with variable 1 being x axis and variable 2 being y axis, check and see if the result of step 1 has good "flat area" around the answer of step 1. "flat area" is to confirm the variables I got from step 1 are not by luck and that range has good predictive power.
4. If there is a flat area and the answer in step 1 is not at the middle area of the flat area but it is at the edge of the flat area, I may choose a point at the middle of the "flat area" instead using the best answer in step 1 in order to have a more stable predictive result. Then I will repeat step 1 to 4 with this points at the middle of flat area.
-HK
Hi HK,
ReplyDeleteIf you have 10 years of data, and you want to generate optimized backtest results starting with the 2nd year, you should optimize parameters with the 1st year of data and start your backtest.
Thereafter, you can add an extra day to your in-sample data to re-optimize your data, and generate backtest trades for the next day.
Ernie
Hi,
ReplyDeleteQuantShare pricing can be found here:
http://www.quantshare.com/index.php?option=quantshare&add=
It is normally visible only after you set up a trial account, but I gave you the direct link.
The company behind it is a small company. We started implementing the software several years ago (+7) and began selling it just 2 years ago.
Hi Ernie,
ReplyDeleteI a currently working with one-minute data, programming in Matlab. However, I would like to go to tick data. Is Matlab feasible for backtesting with tick data, all the way down to milliseconds? Especially, can Matlab be used for including adding/subtracting liquidity in the backtest. Or do I have to change language to backtest millisecond data?
Thanks
Hi Anon,
ReplyDeleteSure, Matlab can backtest tick data and even order book data. But you do have to backtest small segment at a time due to memory constraints.
Ernie
How do you do that? Simply split a very large csv file with tick data and order book data into smaller files and loop over them?
ReplyDeleteAnon,
ReplyDeleteYes, you can read in a small number of lines at a time in a loop and run your model on those.
Ernie
Hi Ernie,
ReplyDeleteI am trying to find a better way of executing my order rather than limit or market orders.
Have you tried IBalgo or CFSB algo at IB? What's your experience?
Other ways of improving execution?
Hi Anon,
ReplyDeleteIs your order size much bigger than the typical bid-ask size? If so, it is reasonable to try these algos. I myself have never executed such orders on IB. We did that through Lime.
Ernie
Hi Ernie,
ReplyDeleteI am trying to find a better way of executing my order rather than limit or market orders.
Have you tried IBalgo or CFSB algo at IB? What's your experience?
Other ways of improving execution?
Ernie,
ReplyDeleteThanks for your reply regarding algos.
How do I best avoid getting screwed by HFT algos when executing my trades? I've been using relative orders which are continously pegged to NBBO (possibly with some offset) but I just read that HFTs track those orders and can exploit them.
What would you recommend in terms of order types? I typically trade close to the close.
Hi Anon,
ReplyDeleteIf you trade close to close, why not use LOC or MOC orders? These cannot be gamed since they participate in an auction with lots of volume.
If you have to execute intraday, I recommend IOC orders, which will not interact with any HFT orders.
Ernie
My problem with LOC or MOC is that they need to be input at latest 345 or 350 as you know. So the signal and weights are determined way before the price you get. Prices even in the most liquid names can move substantially in the last 5 min.
DeleteThanks a lot for your fast replies. I really appreciate it.
Hi Ernie,
ReplyDeleteI have a question about cointegration at different time scale. I found a pair of instruments that does cointegrate in the past year if I use day close price. If I want to do intraday mean reversion trading, do I have to perform cointegration tests again at intraday level?
Thanks
Paul
Hi Paul,
ReplyDeleteIf you wish to perform cointegration test over intraday data, assuming you are always flat at the close, then you need to concatenate all intraday prices data together into one time series, and "backadjust" the prices to remove the overnight gap. This process is similar to the backadjustment of futures prices to form a continuous price series.
Ernie
Thanks Ernie
ReplyDeleteI have been reading your 2nd book.
One more question about determining a mean reversion strategy breakdown. How should we decide whether a strategy starts failing to work? Intuitively I can use a moving window and check whether johensen test yields an eigenvector. Is there any other methods?
Hi Paul,
ReplyDeleteYes, checking for cointegration over a moving window is one method. Checking the drawdown and comparing it to the historical maximum is another.
Ernie
Hi Ernie,
ReplyDeleteWhat is the industry standard for computing Sharpe ratios? Daily, monthly, or annual returns?
Even when annualized, the frequency of returns matter since returns are not i.i.d.
Thanks
Hi Anon,
ReplyDeleteThe Sharpe ratio reported on fund prospectuses is computed based on monthly returns.
However, internal backtests or academic papers typically use daily returns.
Ernie