The first post is going to be a short and simple one.
Lately I've been following Quant Galore's Substack, and it's excellent. I looked into one of their Volatility SPX trading strategies, and decided modify it for my own purposes.
Quant Galore's trading strategy uses the VIX1D index from the prior day's close to estimate the proper strikes and to determine whether the SPX index won't go up much that day (Bearish), or won't go down much that day (Bearish). Once the general direction is determined, a credit spread is entered on 0DTE options and held until the end of the day.
It's an interesting strategy, but I suspect that we can get a little more nuance and returns by adding another wrinkle to volatility Regimes. I decided to replace the VIX1D with the VIX and VVIX indices. Both of these indices have more years of data available than the VIX1D. I also think that using ATM SPY options might be easier for filling positions, and risking smaller amounts of capital for a small account.
The VIX and the VVIX
The VIX is a volatility index, indirectly measuring the expected range of returns in the future 30 days of the S&P 500 index.
This is how the CBOE calculates the VIX index. As explained on their site and white papers[link].
And the VVIX is calculated the exact same as above, except using the VIX as the underlying instead of the SPX [link].
Both the VIX and the VVIX are updated by the CBOE every 15 seconds, and you can get up-to-date charts and quotes on SPY, VIX, and VVIX from a broker. Fidelity, which I've used for my 401k, has them available as a part of their +Charts section.
Regimes:
Because volatility tends to cluster together, it makes sense to classify Volatility into "Regimes", ranges of days where Volatility is high/low and increasing/decreasing, etc. This is especially important for figuring out whether the options we want to buy and sell are over or under-priced. We can see looking over the past 10 years that the VIX and VVIX tend to spike together at the daily level, though the VVIX moves can be more extreme. And the daily VIX and the magnitude of SPY returns are correlated.
For determining Regimes, I like to use Exponential Moving Averages when tracking and trading shorter movements. Volatility from 10-20 periods before the trading period shouldn't be as important as volatility 1-5 periods before if you're only trading 1 period.
When to Trade:
Generally, the first and last 30 minutes of a day's trading are more volatile than the middle.
We can see below from the Average Difference (in percent) between Open and Close, as well as High and Low prices of SPY at 1 minute intervals is higher at the open and the close. Volume in terms of raw share count is distributed similarly. Data below is from 2022-2024.
Although the movements within the first few minutes are chaotic, I suspect if we take exponential 1-minute moving averages of the underlying SPY, the VIX, and the VVIX, we can guess how the market is going to move from 10am to 3pm. I chose 3pm as a cutoff since Volatility appears from increase in our above graphs.
The Data:
Two years of 1-minute OHLCV price data for SPY, VIX, and VVIX, was gathered from FinancialModelingPrep's data, as well as 2 years of SPY options price data from Polyon.io's data.
The Trades:
After a bit of experimentation with Regimes, EMA lengths, and a few other ETFs and Indices like TLT, VIXY, VXN, and QQQ, I found that EMA-30's of 1-minute data for SPY, VIX, and VVIX are probably the most informative combined.
We can think of each asset's regime as the following:
- SPY Regime dictates the actual trend of the underlying stock.
- VIX Regime dictates general volatility and Option expensiveness,
- VVIX Regime dictates the likeliness of a larger move than options would normally price in.
So the trading strategy has 4 trade types opened at 10am and closed at 3pm:
Long Call: SPY Regime +, VIX -, VVIX -
- We think the market will go up, and volatility is cheap enough to justify a long call.
- Long Call is bought at strike price closest to SPY's price.
Debit Call Spread: SPY Regime+, VIX+, VVIX+
- We think the market will go up, but Volatility is getting too expensive to just go long a call.
- Long Call is bought at strike price closest to SPY's price.
- Short Call is sold $3 above the Long Call's strike.
Credit Put Spread: SPY Regime -, VIX -, VVIX -
- The market is going down, but volatility is dropping, so it won't go down much more, and might go back up.
- Short call is sold at strike price closest to SPY's price.
- Long Call is bought $3 below the Short Call's strike.
Iron Butterfly: SPY Regime +/-, VIX +, VVIX -
- The market is becoming Volatile in either direction, but not *too* volatile. So we can sell SPY volatility with an Iron Butterfly.
- Short Call and Put are sold at strike price closest to SPY's price.
- Long Call and Put are bought $3 out of the money from the short call and put's strike.
Bearish with Volatility strategies (Long Put, Bearish Put/Call spread) were not found. I suspect the main reason is the fact that puts are often more expensive than calls, a phenomenon called the Volatility Skew.
The above snapshot was taken at 9:17am on 7/29/2024. This is an option chain of 0DTE calls and puts for the SPY, listing Bid, Ask, Delta, and Open Interest for the day. Note that Put Bid and Ask prices for the $541 strike ($0.30) are double the price of the similarly out-of-the-money $550 strike ($0.15).
Running this combination strategy since 2022-08-01 to 2022-07-25 with a $2000 starting starting portfolio and 2 contracts would have been quite profitable, and only invested approximately 35% of the period's total trading days. The strategy greatly outperforms holding the stock long with a full portfolio instead (19% return) during the same trade dates and market hours.
Future Work:
Like most trading ideas posted online, the results look too good to be true. I'll start trading this amalgam of strategies on August 1st. And see if long-term it can continue to perform.
We could examine whether end-of-day Volatility and Underlying regimes can predict overnight moves to a point that it's profitable. If a strategy was possibly, it would allow for an easy sidestep of Pattern Day Trade rules, since we'd buy 1-DTE options at the close, and then sell them at the open of the next day.
Due to the SPY and SPX having high correlation, this set of strategies should also work for SPX options.
I currently only have access to 2 years of options data on Polygon.io, and Polygon's data isn't perfect, but if I get a more expansive membership or a better option data provider I'll look into it.
Code for the trading system study can be found here.
-Lay Quant
Hi Lay, how you handle the case where the buyer of options wants to exercice its option? due to SPY options are european style.
Thanks for the interesting thoughts. Following you over here from QG.
Looking forward to seeing your results and I may try this out myself as well. Do you plan on updating results as you go?