The Effect of Option Volume on Future Stock Price
Overview
This analysis examines the effect of unusual option volume on future stock prices. The initial hypothesis was that higher option volume for a given stock resulted in higher future returns and volatility as compared to option volume closer to or below the historical average. As detailed further below, the initial hypothesis was not proved correct. Lower option volume was correlated with higher future stock returns.
The conclusions of this post can be summarized as follows:
- A total of 482 stocks with the highest option volume were included for analysis. Historical stock and option volume data from 2014 to 2023 was included.
- Lower option average daily volume (“ADV”) was associated with higher future stock percentage returns across 1 to 50 look-forward periods.
- Stocks with ADV in the 5th percentile (lowest rank) had average future returns of 1.67% versus 95th percentile (highest rank) stocks with 0.55% returns.
- The trend of lower relative option volume resulting in higher future stock returns was consistent when Z-score and daily percentage change were each used to trigger a “low” option ADV measurement.
- Using volume ratio (daily option volume divided by daily stock volume) as a proxy for option volume also resulted in the same relationship between lower option volume preceding higher than average future stock returns.
- A long-only trading simulation using a low Z-score (less than -1.4 or 1.4 standard deviations below the 20 period moving average) to enter long trades resulted in a profit factor of 5.22 and winning percentage of 73% versus a profit factor of 2.40 and winning percentage of 61% for the benchmark strategy. Each strategy was taken over a series of 100 trades simulated 10,000 times.
Existing research
A few research studies to highlight:
- A 2005 study on the German DAX concluding that option traders are the followers rather than leaders in price discovery, and that option volume did not predict price change on the underlying. Price impacts of options volume - Link - DB.
- A 2004 study on CBOE options and US equities: “[O]ption trading volume contains information about future stock price movements.” The authors used daily data from the CBOE from 1990-2001 that divided the option trading volume between (1) puts and calls, and (2) open and closing buy and sell orders. Using these divisions, they constructed a put-call ratio that identified option volume initiated by buyers to open new positions. Stocks with low put-call ratios (indicating more opening call buyers than opening put buyers) outperformed other stocks by 40 basis points the next day and more than 1% over the next week. The Information of Option Volume for Future Stock Prices - Link - DB.
- A 2011 study on US stocks and options that analyzed the 15 stocks with the highest option trading volume from 2002 to 2006 that concluded “trading activities in the put and call option markets have significant explanatory power for stock market volatility.” Of note is that the authors constructed two new ratios: (1) RPUT which was the daily put volume divided by the mean of put volume in the past 60 days, and (2) RCALL which was the daily call volume divided by the mean of call volume in the past 60 days. Using these ratios and an EGARCH model, they conclude that the ratios are positively correlated with stock market volatility. Modeling Information Linkages in the Stock and Options Markets - Link - DB.
- A 2022 study that covers options and stocks from 1996 to 2019 concludes that across all option types, moneyness and maturity terms (days to expiration) there is a “negative relation between option trading volume and average future stock returns”. Further, there is a “…significant positive average return of the portfolio that buys low option trading volume stocks and shorts high option trading volume stocks. These results suggest that option trading volume contains useful, fundamental information.” Option trading volume by moneyness, firm fundamentals, and expected stock returns - Link - DB.
Hypothesis Overview
Relatively higher option volume on an underlying stock results in (1) higher future returns and (2) higher future volatility as compared with average returns and average volatility, respectively.
- Higher option volume results in higher future stock returns as compared with lower option volume for a given symbol
- Higher option volume results in higher future stock returns as compared with all future returns (independent of volume) for a given symbol
- Higher option volume results in a profitable trading system
Hypothesis #1 - Percentile Ranking
Although the basic theory will remain the same, each numbered hypothesis relates to how “higher” or “lower” relative average daily option volume is measured.
The first hypothesis measures relative high or low option volume by using percentile rank. Hypothesis #1 will measure average future returns after option volume was in the 95th percentile (“high” volume) and the 5th percentile (“low” volume). Note that percentile rank uses the entire available data set to assign ranks.
Hypothesis #2 - Z-Score
The second hypothesis measures relative high or low option volume by using z-score. Hypothesis #2 will measure average future stock returns using a rolling Z-score, and only include days where the option volume was greater/less than X times the rolling 20-period z-score calculated using the 20-period moving average and 20-period moving standard deviation.
The broad z-score calculation is (volume - 20-period standard deviation)/20-period average
.
Hypothesis #3 - Percentage Volume Increase (Day Over Day)
The third hypothesis measures option volume change by setting a Minimum Volume Increase/Decrease. This is a minimum increase or decrerase in volume on a given day as measured from the prior day. For example, a 10/20/30% increase or decrease in volume from one period to the next.
Hypothesis #4 - Volume Ratio
Volume ratio is the ratio between the daily option volume divided by the daily stock volume. A relatively high volume ratio means that the option volume was a larger portion of the daily stock volume. A low volume ratio means the option volume is low relative to the stock volume.
Data
- Symbols The top 500 option symbols (outside of the symbols unavailable for download) as measured by mean of the average daily volume (“ADV”) over the time period noted above.
- Start date 2014-01-01
- End date 2023-12-31
- Source - Option Volume CBOE Historical Data Download The CBOE offers the ability to download “historical options volume across the Cboe exchanges by a single symbol, a product type, or all symbols for a month or year.”
- Source - Stock Data the
tidyquant
package - daily stock data is available for download through thetidyquant
package. Stock data is sourced through Yahoo Finance.
Directory Structure
- Project directory
- option-volume.qmd - qmd file for this presentation
- option-volume.html - html file of qmd file
- /data
- /data/top-option - csv data files from CBOE
- /data/stocks - csv files of stock data from Yahoo Finance via tidyquant package
- /output
- /output/top-option - csv file(s) of mean ADV by year for all stocks
- /output/top-option-symb - csv file(s) of 500 symbols by top mean ADV for all years
- /output/top-option-vol - csv file(s) of merged volume and OHLC stock data organized by stock
- /output/all-data - csv file of all stock and option volume data
- /output/hyp1 - pdf and csv files related to hypothesis 1
- /output/hyp2 - pdf and csv files related to hypothesis 2
- /output/hyp2 - pdf and csv files related to hypothesis 2
Output and Reporting
- Table Top 20 Stocks Ranked by Yearly Average ADV (2014 - 2023)
- Chart Top 20 Stocks Ranked by Yearly Average ADV (2014 - 2023)
- csv File Top 500 Symbols by Average ADV
- Table Symbols Excluded
- Table Top 20 Stocks - Difference in Top 5 ADV vs Bottom 5 ADV
- Chart Top 500 Stocks - Mean Returns Top 5 ADV vs Bottom 5 ADV
- PDF File Top 500 Stock Charts - Mean Returns Top 5 ADV vs Bottom 5 ADV
- Table Top 20 Stocks by ADV - Mean Look Forward Returns
Getting the Data
This section will outline the steps and sources used to obtain the stock and option volume data. If you are not interested, feel free to skip to the next section. However, there is one important note: for this analysis, there was no distinction made between put and call option volume and all option volume quoted herein uses combined option volume. While some analysis utilizes a distinction between put and call volume, and then uses the insights to make directional forecasts (“unusually high call volume indicates a potentially higher future stock price”), the analysis herein will not.
CBOE Top Volume
The first step is to download the the historical data from the CBOE Historical Downloads site for all years from 2014 to 2023. This data will include daily volume for all options (both puts and calls) traded across four exchanges: CBOE, BATS, C2 and EDGX.
Next, we can use the data from 2014 to 2023 to create a list of the stocks that had the highest average daily volume (“ADV”). There are several reasons to analyze stocks with by mean ADV.
First, options with higher volume generally have higher liquidity and lower bid-ask spreads. Taking the mean of the daily volume over a full year hopefully removes stocks that have a single event that drives short-term volume (but see the note below on this issue).
Also, it will allow focus on the options that (possibly) support the hypothesis that higher option volume leads to higher future stock prices and/or higher volatility by only returning those stocks that have the highest volume. Essentially a self-fulfilling prophecy, but one that can be proved or disproved accordingly.
A csv file of the full list of stocks ranked by the mean of the yearly ADV for each of the 10 years can be downloaded here.
All told, there were 2,278 stocks that had available data.
Below is a table and barplot showing the top 20 stocks by ADV, ranked by the mean for all 10 years.
Table - Top 20 Stocks Ranked by Yearly Average ADV (2014 - 2023)
underlying | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | mean | sd |
---|---|---|---|---|---|---|---|---|---|---|---|---|
VIX | 465,993 | 483,078 | 523,839 | 689,397 | 617,973 | 251,245 | 247,463 | 261,239 | 266,262 | 371,439 | 417,793 | 162,632 |
SPX | 234,344 | 305,597 | 319,644 | 307,077 | 381,258 | 326,787 | 316,840 | 346,781 | 564,059 | 740,453 | 384,284 | 151,752 |
SPY | 173,832 | 208,106 | 202,840 | 246,466 | 307,029 | 216,077 | 309,877 | 316,242 | 463,169 | 525,191 | 296,883 | 116,123 |
QQQ | 63,444 | 58,575 | 40,981 | 60,556 | 87,311 | 53,277 | 77,254 | 87,663 | 154,328 | 180,867 | 86,426 | 45,648 |
AAPL | 65,210 | 112,247 | 62,152 | 56,071 | 56,755 | 45,135 | 96,847 | 121,339 | 95,818 | 62,583 | 77,416 | 26,636 |
TSLA | 21,205 | 14,968 | 10,013 | 14,070 | 19,377 | 21,076 | 54,284 | 78,275 | 118,006 | 149,548 | 50,082 | 49,523 |
IWM | 81,995 | 53,455 | 48,441 | 49,722 | 38,393 | 30,096 | 43,396 | 46,514 | 52,406 | 53,470 | 49,789 | 13,508 |
BAC | 41,719 | 40,605 | 40,688 | 44,024 | 38,180 | 20,439 | 23,260 | 16,971 | 18,215 | 18,873 | 30,297 | 11,528 |
VXX | 34,712 | 52,922 | 26,959 | 23,935 | 25,201 | 22,717 | 26,994 | 16,337 | 10,240 | 3,525 | 24,354 | 13,491 |
AMZN | 7,345 | 8,174 | 8,796 | 14,007 | 21,849 | 16,791 | 18,085 | 22,454 | 56,727 | 52,479 | 22,671 | 17,693 |
AMD | 3,453 | 2,209 | 3,694 | 19,004 | 30,072 | 26,883 | 31,801 | 36,933 | 30,746 | 34,406 | 21,920 | 13,817 |
NVDA | 1,520 | 1,614 | 3,635 | 17,830 | 17,533 | 12,592 | 12,565 | 27,581 | 43,319 | 55,781 | 19,397 | 18,093 |
BABA | 27,812 | 19,219 | 11,017 | 16,696 | 23,614 | 15,010 | 16,561 | 20,579 | 21,276 | 16,359 | 18,814 | 4,763 |
MSFT | 18,797 | 14,917 | 10,915 | 11,849 | 16,915 | 15,886 | 28,325 | 19,551 | 21,344 | 23,224 | 18,172 | 5,281 |
EEM | 24,948 | 17,439 | 16,930 | 19,594 | 25,196 | 18,159 | 12,477 | 10,214 | 6,794 | 9,368 | 16,112 | 6,321 |
RUT | 22,853 | 29,850 | 28,250 | 23,050 | 15,952 | 6,627 | 5,859 | 8,923 | 7,705 | 10,440 | 15,951 | 9,304 |
NFLX | 13,575 | 22,498 | 16,019 | 12,155 | 21,315 | 16,520 | 12,879 | 8,624 | 15,070 | 12,423 | 15,108 | 4,233 |
SLV | 10,002 | 6,000 | 6,813 | 5,216 | 4,431 | 12,225 | 40,335 | 29,772 | 18,875 | 15,411 | 14,908 | 11,848 |
XSP | 4,546 | 6,875 | 9,713 | 7,931 | 10,199 | 23,411 | 14,776 | 6,888 | 17,911 | 32,780 | 13,503 | 8,913 |
MU | 16,400 | 13,693 | 7,340 | 16,990 | 27,033 | 12,579 | 9,529 | 11,190 | 8,915 | 6,442 | 13,011 | 6,075 |
Chart - Top 20 Stocks Ranked by Yearly Average ADV (2014 - 2023)
csv File - Top 500 Symbols by Average ADV
The final step is to identify a list of the top 500 symbols so that the stock data can be downloaded. You can download the csv file of the top 500 symbols and the average ADV by year here.
Stock Data
Now that we have the daily volume for the relevant time period and the top 500 symbols, we can use the tidyquant
package to download the underlying stock data for each symbol.
Cleaning the Data
There are 2 instances where the data needs to be excluded.
- Unavailable The data is not available for download from Yahoo Finance.
- Index Options The data is for an index option. While some data is available on Index Options, they will be excluded from this analysis.
After the symbols that were not available for download were excluded, I was left with 482 symbols.
Hypothesis 1 - Percentile Ranking
The overall hypothesis is that higher option volume results in higher future returns and volatility. The first hypothesis employs percentile ranking across all available history for a given symbol.
High volume is defined as option volume that is in the 95th percentile or higher of all ADV for a given symbol (“Top 5”), and low volume is a single day ADV that is in the bottom 5th percentile for all trading days for a specific symbol (“Bottom 5”).
Table - Top 20 Stocks - Difference in Top ADV vs Bottom ADV
The table below shows the difference in ADV for the Top 5 (95th percentile days) and the Bottom 5 (5th percentile) for the top 20 symbols.
mean_ADV
the mean ADV for all days.top_5_vol
the mean ADV for the Top 5 days.bottom_5_vol
the mean ADV for Bottom 5 days.pct_diff
the percentage difference between Top 5 days and Bottom 5 days.pct_diff_mean_top
the percentage difference between Top 5 days and the average ADV.pct_diff_mean_bottom
the percentage difference between Bottom 5 days and the average ADV.
For example, for the symbol SPY
- the mean ADV is 1,331,124
- the mean 95th percentile ADV is 3,312,259
- the mean 5th percentile ADV is 374,918
- the difference between the Top 5 percentile and Bottom 5 percentile ADV is 783%
- the difference between the Top 5 percentile and the mean percentile ADV is 149%
- the difference between the Bottom 5 percentile and the mean percentile ADV is -71.8%
symb | mean_ADV | total_days | top_5_days | bottom_5_days | top_5_vol | bottom_5_vol | pct_diff | pct_diff_mean_top | pct_diff_mean_bottom |
---|---|---|---|---|---|---|---|---|---|
SPY | 1,331,124.08 | 2,513 | 125 | 126 | 3,312,258.6 | 374,918.17 | 7.83 | 1.49 | -0.72 |
QQQ | 342,827.68 | 2,513 | 125 | 126 | 1,122,756.6 | 61,927.44 | 17.13 | 2.27 | -0.82 |
AAPL | 292,239.63 | 2,514 | 125 | 126 | 819,605.9 | 82,817.76 | 8.90 | 1.80 | -0.72 |
TSLA | 203,507.75 | 2,513 | 125 | 126 | 974,738.6 | 16,203.52 | 59.16 | 3.79 | -0.92 |
IWM | 175,228.48 | 2,513 | 125 | 126 | 449,110.3 | 56,775.29 | 6.91 | 1.56 | -0.68 |
BAC | 94,708.99 | 2,514 | 125 | 126 | 277,135.0 | 32,283.52 | 7.58 | 1.93 | -0.66 |
AMD | 89,425.34 | 2,514 | 125 | 126 | 320,283.8 | 637.63 | 501.30 | 2.58 | -0.99 |
AMZN | 88,686.72 | 2,514 | 125 | 126 | 432,491.7 | 13,509.14 | 31.01 | 3.88 | -0.85 |
VXX | 83,501.66 | 1,424 | 71 | 72 | 282,675.7 | 9,592.11 | 28.47 | 2.39 | -0.89 |
NVDA | 77,098.11 | 2,513 | 125 | 126 | 360,477.8 | 962.31 | 373.60 | 3.68 | -0.99 |
MSFT | 68,067.35 | 2,513 | 125 | 126 | 212,821.1 | 14,169.06 | 14.02 | 2.13 | -0.79 |
BABA | 61,950.33 | 2,328 | 116 | 117 | 188,406.4 | 15,270.18 | 11.34 | 2.04 | -0.75 |
SLV | 54,857.47 | 2,513 | 125 | 126 | 306,000.5 | 5,628.44 | 53.37 | 4.58 | -0.90 |
EEM | 52,313.87 | 2,513 | 125 | 126 | 208,773.2 | 8,576.01 | 23.34 | 2.99 | -0.84 |
NFLX | 49,048.85 | 2,513 | 125 | 126 | 153,540.7 | 14,710.74 | 9.44 | 2.13 | -0.70 |
GLD | 45,472.88 | 2,513 | 125 | 126 | 148,006.6 | 12,819.67 | 10.55 | 2.25 | -0.72 |
F | 44,572.54 | 2,513 | 125 | 126 | 240,024.0 | 6,154.91 | 38.00 | 4.39 | -0.86 |
XLF | 42,376.02 | 2,513 | 125 | 126 | 180,687.8 | 4,775.56 | 36.84 | 3.26 | -0.89 |
UVXY | 41,511.84 | 2,513 | 125 | 126 | 143,753.9 | 5,665.82 | 24.37 | 2.46 | -0.86 |
MU | 41,204.81 | 2,513 | 125 | 126 | 142,896.8 | 9,313.16 | 14.34 | 2.47 | -0.77 |
Hyp 1 - Mean Returns
The percent returns are measured over various look forward periods. These are referred in the tables below by using the column name lf_
. For example, lf_15
means the percent return from the current close to the close 15-periods ahead. Although somewhat arbitrary, the return from 1 to 50 periods forward were measured for each symbol. These will be used to measure the after-effect of high and low ADV days.
Chart - Top 500 Stocks - Mean Returns Top 5 ADV vs Bottom 5 ADV
The charts below show the mean returns from 1 to 50 days after the occurrence of a top ADV day (GREEN) and a bottom ADV day (RED) for the symbols AAPL and VXX.
- Top ADV (GREEN)
- Bottom ADV (RED)
- Diff (BLACK) the difference in the mean returns between Top 5 and Bottom 5 ADV days.
- All Perc (BLUE) the mean returns from 1 to 50 days for all ADV days.
These two charts are indicative of the different types of returns following high or low ADV days. AAPL typically had higher future returns following bottom days and lower future returns following top days. Conversely, VXX was more in line with the first hypothesis - higher returns followed higher ADV days and lower returns follow lower ADV days.
Table - Top 20 Stocks by ADV - Mean Look Forward Returns
The table below shows the top 20 stocks by descending mean ADV. The columns are:
mean_ADV
mean all ADV returns regardless of percentileall
mean of all look forward returns from 1 to 50 periodstop
the mean of all look forward returns for Top 5 ADV stocksbottom
the mean of all look forward returns for Bottom 5 ADV stocksdiff
the difference between the mean return (for all look forward periods) for Top 5 and Bottom 5diff_mean_top
the difference between the mean return (for all look forward periods) for Top 5 and all stocks regardless of ADVdiff_mean_bottom
the difference between the mean return (for all look forward periods) for Bottom 5 and all stocks regardless of ADVtype
categorization of each stock by comparing mean future returns across 1 to 50 look-forward periods for all stocks and Top 5 and Bottom 5 stocks- type_1 top_5 ADV results in an excess positive return AND bottom_5 ADV results in excess negative return
- type_2 top_5 ADV results in an excess positive return AND bottom_5 ADV results in excess positive return
- type_3 top_5 ADV results in an excess negative return AND bottom_5 ADV results in excess negative return
- type_4 - top_5 ADV results in an excess negative return AND bottom_5 ADV results in excess positive return
symb | mean_ADV | all | top | bottom | diff | diff_mean_top | diff_mean_bottom | type |
---|---|---|---|---|---|---|---|---|
AAPL | 292,239.63 | 0.02 | 0.01 | 0.05 | -0.05 | -0.02 | -0.03 | type_3 |
AMD | 89,425.34 | 0.04 | 0.00 | 0.07 | -0.07 | -0.05 | -0.02 | type_3 |
AMZN | 88,686.72 | 0.02 | 0.02 | 0.03 | -0.01 | 0.00 | -0.01 | type_1 |
BABA | 61,950.33 | 0.00 | 0.00 | 0.05 | -0.05 | 0.00 | -0.05 | type_3 |
BAC | 94,708.99 | 0.01 | 0.02 | 0.00 | 0.02 | 0.01 | 0.01 | type_2 |
EEM | 52,313.87 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | type_4 |
F | 44,572.54 | 0.00 | 0.00 | -0.01 | 0.01 | -0.01 | 0.02 | type_4 |
GLD | 45,472.88 | 0.00 | 0.00 | 0.01 | 0.00 | 0.00 | 0.00 | type_1 |
IWM | 175,228.48 | 0.01 | 0.02 | -0.01 | 0.03 | 0.02 | 0.02 | type_2 |
MSFT | 68,067.35 | 0.02 | 0.01 | 0.02 | -0.01 | -0.01 | 0.00 | type_3 |
MU | 41,204.81 | 0.02 | 0.00 | 0.01 | -0.01 | -0.01 | 0.01 | type_4 |
NFLX | 49,048.85 | 0.03 | 0.01 | 0.03 | -0.01 | -0.01 | 0.00 | type_4 |
NVDA | 77,098.11 | 0.05 | 0.03 | 0.04 | -0.01 | -0.02 | 0.01 | type_4 |
QQQ | 342,827.68 | 0.01 | 0.01 | 0.00 | 0.01 | 0.00 | 0.01 | type_2 |
SLV | 54,857.47 | 0.00 | -0.01 | 0.00 | -0.01 | -0.01 | 0.00 | type_4 |
SPY | 1,331,124.08 | 0.01 | 0.02 | 0.00 | 0.02 | 0.01 | 0.01 | type_2 |
TSLA | 203,507.75 | 0.04 | 0.06 | 0.01 | 0.05 | 0.02 | 0.03 | type_2 |
UVXY | 41,511.84 | -0.06 | -0.10 | -0.06 | -0.04 | -0.04 | 0.00 | type_4 |
VXX | 83,501.66 | -0.03 | 0.17 | -0.10 | 0.27 | 0.20 | 0.07 | type_2 |
XLF | 42,376.02 | 0.01 | 0.01 | 0.00 | 0.01 | 0.00 | 0.01 | type_2 |
Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
of ggplot2 3.3.4.
It was instructive categorizing the mean returns by type. The table below shows the categorization of each stock based on the returns of the Top 5 and Bottom 5 in relation to the average of all ADV periods.
Top 5 | Bottom 5 | |
---|---|---|
type 1 | Pos | Neg |
type 2 | Pos | Pos |
type 3 | Neg | Neg |
type 4 | Neg | Pos |
If Hypothesis #1 was true - higher option volume measured by percentile rank leads to higher future returns and volatility - then the majority of stocks would qualify as type 1 or type 2. In reality, only 40% or 193 of 482 stocks that had Top 5 days had an excess mean positive return over average days. The opposite was true - 60% of the stocks had excess mean negative returns following a Top 5 ADV day (categorized as type 3 and type 4).
type | count | pct_total |
---|---|---|
type_1 | 89 | 0.18 |
type_2 | 104 | 0.22 |
type_3 | 175 | 0.36 |
type_4 | 114 | 0.24 |
In fact, the opposite of Hypothesis 1 was true - the lower the percentile of the ADV, the higher the mean future returns across all look forward periods. This became evident by grouping the look-forward returns by rank (which is a stand-in for percentile; a rank of 20 is 95th percentile or a Top 5 stock).
Chart - Look-Forward Returns Grouped by Rank
The spread in returns between lower percentile and higher percentile ADV stocks widened the further out you looked. You can see the widening gap towards the right edge of the chart above. For example, a Bottom 5 stock returned on average 3.23% over 50 periods compared with a Top 5 stock returning on average 1.05%. Over shorter time frames - 5 periods for example - the Bottom 5 stock returned 0.37% to a Top 5 stock’s return of 0.127%.
Table - Mean of All Look-Forward Returns Grouped by Rank
You can see this pattern persisting - stocks with a lower percentile underlying ADV having comparitively higher future returns - by calculating the mean of all look-forward returns and grouping them by rank. For example, rank-1 stocks (here with a mean ADV of 2,141) returned on average 1.67% across all look-forward periods. Conversely, rank-20 stocks (mean ADV equal to 41,028) had a mean return for all periods of 0.55%. Note that it is important at this point to point out that percentile rank based on ADV was assigned on a per stock basis and not generalized across all stocks.
rank | mean_vol | mean_ret |
---|---|---|
1 | 2,141.029 | 0.0167 |
2 | 2,911.249 | 0.0146 |
3 | 3,441.041 | 0.0125 |
4 | 3,929.137 | 0.0124 |
5 | 4,410.686 | 0.0127 |
6 | 4,952.370 | 0.0130 |
7 | 5,526.280 | 0.0116 |
8 | 6,105.246 | 0.0101 |
9 | 6,753.828 | 0.0113 |
10 | 7,459.274 | 0.0111 |
11 | 8,247.667 | 0.0112 |
12 | 9,154.398 | 0.0114 |
13 | 10,269.974 | 0.0115 |
14 | 11,548.639 | 0.0102 |
15 | 13,044.761 | 0.0096 |
16 | 14,946.729 | 0.0096 |
17 | 17,481.767 | 0.0092 |
18 | 20,644.145 | 0.0076 |
19 | 25,357.335 | 0.0062 |
20 | 41,028.165 | 0.0055 |
Chart - Rank 1 Minus Rank 20 Mean Returns
The chart below shows the difference between Bottom 5 (Rank 1) minus Top 5 (Rank 20) stocks across all look-forward periods.
Rank 1 had a mean volume of 2,100 shares. Rank 20 had a mean volume of 41,000 shares. As noted above, the gross spread between Rank 1 and Rank 20 returns increases the further ahead you measure the returns.
Warning: Removed 15 rows containing missing values (`geom_line()`).
Hypothesis 2 - Z-Score
Hypothesis #2 differs slightly from the first hypothesis only in how relatively high and low option volume are measured. Instead of percentile rank, high and low ADV is measured by a z-score using the rolling average and standard deviation.
Recall that z-score measures the units of standard deviation that the observed value is above or below the mean. A z-score of zero means that the observed value is identical to the mean. A z-score of 2 means that the observed value is 2 standard deviations above the mean. Conversely, a z-score of -2 means the observed value is 2 standard deviations below the mean.
20 period Z-Score Analysis
For this section, the mean and standard deviation of the ADV is measured over a 20 period rolling window. Unlike percentile ranking that uses the entire data set to identify relatively high and low ADV, a rolling average uses a more immediate window to identify possible opportunities.
Table - Summary of 20-Period Z-Score by Symbol
The table below summarizes the top 20 ADV stocks using a 20-period z-score and identifies the number of opportunities when the z-score was outside significant standard deviations.
symb | mean_ADV | total_days | bottom_3sd | bottom_2sd | bottom_1sd | top_1sd | top_2sd | top_3sd |
---|---|---|---|---|---|---|---|---|
SPY | 1,331,124.08 | 2,513 | 1 | 12 | 384 | 405 | 119 | 22 |
QQQ | 342,827.68 | 2,513 | 1 | 12 | 350 | 418 | 123 | 24 |
AAPL | 292,239.63 | 2,514 | 0 | 5 | 343 | 379 | 143 | 39 |
TSLA | 203,507.75 | 2,513 | 0 | 2 | 292 | 397 | 133 | 34 |
IWM | 175,228.48 | 2,513 | 0 | 1 | 294 | 415 | 136 | 23 |
BAC | 94,708.99 | 2,514 | 0 | 3 | 281 | 375 | 159 | 38 |
AMD | 89,425.34 | 2,514 | 0 | 3 | 226 | 383 | 171 | 59 |
AMZN | 88,686.72 | 2,514 | 0 | 2 | 267 | 408 | 129 | 43 |
VXX | 83,501.66 | 1,424 | 0 | 2 | 174 | 213 | 79 | 19 |
NVDA | 77,098.11 | 2,513 | 0 | 3 | 230 | 375 | 153 | 67 |
MSFT | 68,067.35 | 2,513 | 0 | 2 | 252 | 380 | 170 | 60 |
BABA | 61,950.33 | 2,328 | 0 | 4 | 266 | 349 | 154 | 50 |
SLV | 54,857.47 | 2,513 | 0 | 1 | 281 | 397 | 142 | 35 |
EEM | 52,313.87 | 2,513 | 0 | 0 | 183 | 374 | 137 | 44 |
NFLX | 49,048.85 | 2,513 | 0 | 3 | 250 | 373 | 164 | 59 |
GLD | 45,472.88 | 2,513 | 0 | 1 | 285 | 381 | 144 | 36 |
F | 44,572.54 | 2,513 | 0 | 1 | 231 | 377 | 158 | 60 |
XLF | 42,376.02 | 2,513 | 0 | 0 | 197 | 350 | 151 | 58 |
UVXY | 41,511.84 | 2,513 | 0 | 6 | 337 | 411 | 129 | 33 |
MU | 41,204.81 | 2,513 | 0 | 1 | 210 | 378 | 153 | 64 |
Chart - All Lookforward Returns - Grouped by Z-Score
Similar to the percentile ranking, the Z-score chart grouped by binned z-scores showed similar patterns. Negative z-score stocks had higher mean look-forward returns across all periods.
Table - Mean Lookforward Returns - Grouped by Z-Score
The table below shows the same trends. The lower the Z-score of the option volume, the more likely the stock is to have a higher mean return over all look-forward periods. The higher the Z-score of the option volume, the lower the mean return over all look-forward periods.
bin20 | mean_zscore_20 | n | mean_ret | pct_total |
---|---|---|---|---|
1 | -3.39 | 1 | 0.01 | 0.00 |
2 | -2.99 | 3 | 0.01 | 0.00 |
3 | -2.39 | 38 | 0.02 | 0.00 |
4 | -1.88 | 1,029 | 0.01 | 0.00 |
5 | -1.40 | 18,855 | 0.02 | 0.02 |
6 | -0.93 | 165,357 | 0.01 | 0.14 |
7 | -0.50 | 444,174 | 0.01 | 0.38 |
8 | -0.04 | 221,141 | 0.01 | 0.19 |
9 | 0.48 | 106,927 | 0.01 | 0.09 |
10 | 0.98 | 63,545 | 0.01 | 0.05 |
11 | 1.48 | 41,557 | 0.01 | 0.04 |
12 | 1.99 | 29,197 | 0.01 | 0.03 |
13 | 2.49 | 21,386 | 0.01 | 0.02 |
14 | 2.99 | 16,231 | 0.01 | 0.01 |
15 | 3.49 | 12,837 | 0.01 | 0.01 |
16 | 3.99 | 10,752 | 0.01 | 0.01 |
NA | NaN | 9,158 | 0.03 | 0.01 |
One interesting thing to note is the percentage of time that z-score fell below 0. Of the 1,115,030 periods where z-score was measured
- 850,598 times or 73% of the times it was less than 0
- 302,432 times or 26% of the times it was greater than 0
However, extreme negative readings were relatively uncommon. For instance, a z-score less than -1.4 only occurred 1.7% or about 20,000 times. For a similar number of occurrences on the high end, z-score would have to be equal to at least 3.49.
Thus, utilizing these demarcations of -1.4 and +3.49 (to have an equal number of readings), we can filter out any other z-score readings and examine the returns.
Table - Mean Returns - Extreme Z-Score Readings
The table below shows the top 50 stocks with mean returns following z-score readings above 3.49 (top) and below -1.4 (bottom). The diff column shows the diffrence in returns between bottom and top; a positive number indicates how much in gross percentage points the
For all of stocks that were analyzed, 265 (60%) had a positive diff meaning that extreme low z-score readings (below -1.4) outperformed high z-score readings (+3.49).
Hypothesis 3: Daily Percentage Change
The third and final hypothesis measures option volume change by setting a Minimum Volume Increase. This is a minimum increase in volume on a given day as measured from the prior day.
Because of the large variance in change on a strictly percentage basis from one day to the next, the log change of volume from one period to the next will be used.
The table below shows the top 20 stocks and the number of occurrences where the volume changed a minimum of the given amount. For example “bot_50” shows the number of times the volume decreased by a minimum of 50% from one day to the next; “top_25” shows the number of times the volume increased by 25% from one day to the next.
symb | count | meanADV | bot_50 | bot_25 | bot_10 | top_10 | top_25 | top_50 |
---|---|---|---|---|---|---|---|---|
SPY | 2,513 | 1,331,124.08 | 67 | 487 | 960 | 960 | 633 | 309 |
QQQ | 2,513 | 342,827.68 | 95 | 548 | 981 | 981 | 685 | 359 |
AAPL | 2,514 | 292,239.63 | 95 | 595 | 1,016 | 986 | 704 | 374 |
TSLA | 2,513 | 203,507.75 | 142 | 651 | 1,011 | 1,016 | 734 | 445 |
IWM | 2,513 | 175,228.48 | 186 | 676 | 1,037 | 1,047 | 800 | 496 |
BAC | 2,514 | 94,708.99 | 176 | 693 | 1,041 | 1,013 | 760 | 468 |
AMD | 2,514 | 89,425.34 | 250 | 756 | 1,094 | 1,021 | 796 | 557 |
AMZN | 2,514 | 88,686.72 | 173 | 616 | 983 | 1,057 | 761 | 425 |
VXX | 1,424 | 83,501.66 | 121 | 405 | 588 | 621 | 470 | 301 |
NVDA | 2,513 | 77,098.11 | 232 | 688 | 1,049 | 1,030 | 789 | 508 |
MSFT | 2,513 | 68,067.35 | 131 | 645 | 1,055 | 991 | 719 | 428 |
BABA | 2,328 | 61,950.33 | 133 | 619 | 996 | 897 | 674 | 420 |
SLV | 2,513 | 54,857.47 | 294 | 822 | 1,122 | 1,031 | 821 | 592 |
EEM | 2,513 | 52,313.87 | 474 | 919 | 1,148 | 1,115 | 957 | 784 |
NFLX | 2,513 | 49,048.85 | 137 | 671 | 1,057 | 1,007 | 702 | 444 |
GLD | 2,513 | 45,472.88 | 239 | 746 | 1,097 | 1,037 | 839 | 537 |
F | 2,513 | 44,572.54 | 296 | 778 | 1,085 | 1,059 | 858 | 590 |
XLF | 2,513 | 42,376.02 | 441 | 873 | 1,137 | 1,116 | 926 | 737 |
UVXY | 2,513 | 41,511.84 | 179 | 670 | 999 | 1,086 | 806 | 478 |
MU | 2,513 | 41,204.81 | 235 | 752 | 1,075 | 1,035 | 812 | 532 |
Dividing the log of the change in option volume from day to day gives a clearer picture of the divisions of the daily volume change. The range of daily percentage option volume change had a wide range from down 99.99% to up 2,267,000%. Dividing these changes into 50 bins and then looking at the Bottom_20 (defined as a volume percentage change less than 87%) and the Top_20 (defined as a volume percent change greater than 4,600%) returns shows a significant difference in mean future returns.
Hypothesis 4 - Volume Ratio
Volume ratio is the ratio between the daily option volume divided by the daily stock volume. A relatively high volume ratio means that the option volume was a larger portion of the daily stock volume. A low volume ratio means the option volume is low relative to the stock volume.
Volume ratio percent is the change (over one period) of the volume ratio from one period to the next.
- If the volume ratio percent change is high, then the volume ratio increased from the previous period meaning either: (1) the option volume increased from the previous period or (2) the stock volume decreased significantly or (3) both.
- If the volume ratio percent is low, the the volume ratio decreased meaning from the previous period meaning either (1) option volume dropped relative to the stock volume or (2) stock volume was high or (3) both.
Trading System Simulation - Z Score
As a test case, I ran a Monte Carlo simulation to compare the trading simulation between three different strategies.
- High Z-Score A Z-Score of 3.49 or more
- Low Z-Score A Z-Score of -1.4 or less
- Random Entry without regard to Z-score (ie the benchmark trade group)
The simulation looks at 100 trades with a starting balance of $100. Five percent of the current account balance is allocated to each trade. Exit after 5 days, regardless of the option volume. Each of the three strategies is simulated 10,000 times and the results are analyzed. All trades are long only.
high | low | all | |
---|---|---|---|
Net Profit | 72.19 | 191.31 | 105.70 |
Gross Profit | 200.23 | 235.27 | 180.96 |
Gross Loss | -128.04 | -43.97 | -75.26 |
Profit Factor | 1.56 | 5.35 | 2.40 |
No. of Wins | 5,479.00 | 7,265.00 | 6,153.00 |
No. of Losses | 4,514.00 | 2,703.00 | 3,823.00 |
No. of Even Trades | 0.00 | 0.00 | 0.00 |
Total Trades | 9,993.00 | 9,968.00 | 9,976.00 |
Winning Percentage | 0.55 | 0.73 | 0.62 |
Avg Trade Net Profit | 0.01 | 0.02 | 0.01 |
Average Win | 0.04 | 0.03 | 0.03 |
Average Loss | -0.03 | -0.02 | -0.02 |
Ratio Win/Loss | 1.29 | 1.99 | 1.49 |
Largest Win | 0.50 | 0.15 | 0.41 |
Largest Loss | -0.15 | -0.09 | -0.10 |
The low Z-score strategy
- Profit factor of 5.04 vs 2.33 for the benchmark
- 72% of all simulations ended up profitable with an average balance of $188 (from $100 starting balance) vs a 62% winning percentage and average balance of $102.43 for the benchmark.
More research is needed on the ability to trade this strategy live.
Trading System Simulation - Daily Percentage Change
The final trading simulation uses daily percentage change. The same basic simulation structure as above is used. The entry filters are as follows:
- High Percentage Change A day-to-day change of 500% or more
- Low Percentage Change A day-to-day change of -90% or less
- Random Entry without regard to day-to-day change (ie the benchmark trade group)
high | low | all | |
---|---|---|---|
Net Profit | 93.74 | 124.49 | 105.85 |
Gross Profit | 183.86 | 197.52 | 180.44 |
Gross Loss | -90.12 | -73.03 | -74.59 |
Profit Factor | 2.04 | 2.70 | 2.42 |
No. of Wins | 5,945.00 | 6,357.00 | 6,261.00 |
No. of Losses | 4,032.00 | 3,629.00 | 3,712.00 |
No. of Even Trades | 0.00 | 0.00 | 0.00 |
Total Trades | 9,977.00 | 9,986.00 | 9,973.00 |
Winning Percentage | 0.60 | 0.64 | 0.63 |
Avg Trade Net Profit | 0.01 | 0.01 | 0.01 |
Average Win | 0.03 | 0.03 | 0.03 |
Average Loss | -0.02 | -0.02 | -0.02 |
Ratio Win/Loss | 1.38 | 1.54 | 1.43 |
Largest Win | 0.25 | 0.18 | 0.37 |
Largest Loss | -0.14 | -0.14 | -0.11 |
Notes & Research
Some common option terminology is helpful when reviewing the existing research:
Put-Call Ratio (OI) is the put open interest divided by the call open interest for a specified period for the same underlying instrument.
Put-Call Ratio (Volume) is the put volume divided by the call volume for a specified period for the same underlying instrument. A PCR above 1 indicates more put volume than call volume. A PCR below 1 indicates more call volume than put volume.
Unusual Options Activity - The Complete Guide for Traders - Link - DB
Historical Options Data Download - CBOE - Link