SPB Git

spb/wp7_uqo Public

UQO Working Paper No. 7 — Options-implied information for cross-asset return and volatility prediction: evidence from 3.8B option contracts.

Python 66.5% TeX 32.7% Makefile 0.8%
6.4 KB · 140 lines latex
Raw Blame History
1% =============================================================================2% Author: Simon-Pierre Boucher3% Contact: contact@spboucher.ai4% =============================================================================5% ============================================================================6% Data and Variable Construction7% ============================================================================8\section{Data and Variable Construction}\label{sec:data}910\subsection{Data Sources}1112\paragraph{Options.}13I use a comprehensive end-of-day options database containing 3,831,907,488 records covering 11,077 underlyings from January~4, 2010 to December~31, 2025 (4,025 trading days). Each record includes trade date, strike, expiry, call/put flag, bid/ask prices, bid/ask implied volatilities, open interest, volume, and the full Greek sensitivities ($\delta$, $\Gamma$, $\mathcal{V}$, $\Theta$, $\rho$). Data quality is high: 92--95\% of records contain valid Greeks.1415\paragraph{Intraday OHLCV.}16I use 5-minute OHLCV data across six asset classes: 7,789 US equities (1.23B bars), 4,302 ETFs (301M bars), 125 indices, 131 futures, 78 FX pairs, and 74 cryptocurrencies. Total: approximately 11.5~billion intraday observations.1718\begin{table}[H]19\centering20\caption{Data coverage.}21\label{tab:data}22\begin{threeparttable}23\begin{tabular}{@{}lrrrl@{}}24\toprule25Asset class & Symbols & Rows (millions) & Freq.\ & Period \\26\midrule27\multicolumn{5}{@{}l}{\textit{Panel A: Options}} \\28Option contracts & 11,077 & 3,832 & Daily & 2010--2025 \\[6pt]29\multicolumn{5}{@{}l}{\textit{Panel B: Intraday OHLCV}} \\30US equities     & 7,789 & 1,225 & 5-min & 2000--2026 \\31ETFs            & 4,302 &   301 & 5-min & 2000--2026 \\32Equity indices  &   125 &    40 & 5-min & 2008--2026 \\33Futures         &   131 &    73 & 5-min & 2008--2026 \\34FX              &    78 &    83 & 5-min & 2010--2026 \\35Crypto          &    74 &    39 & 5-min & 2013--2026 \\36\midrule37\textbf{Total}  &       & \textbf{$\approx$11,500} & & \\38\bottomrule39\end{tabular}40\end{threeparttable}41\end{table}4243\subsection{Sample Construction}4445The analysis sample consists of 69 underlyings with overlapping options and OHLCV coverage: 49 major US stocks, 17 ETFs, and 3 broad market indices (SPX, NDX, RUT). After merging option-derived features with realized volatility, the sample comprises \textbf{264,383 ticker-day observations} (January 2010--December 2025).4647\subsection{Variable Definitions}4849\subsubsection{Option-Implied Features}5051I construct ten daily features for each underlying from the raw option chain:5253\begin{table}[H]54\centering55\caption{Option-implied variables.}56\label{tab:variables}57\begin{threeparttable}58\small59\begin{tabular}{@{}lp{10cm}@{}}60\toprule61Variable & Definition \\62\midrule63$IV_{ATM,30d}$ & Average mid-IV of calls with $|\delta - 0.5| < 0.10$, 20--40 DTE \\64$IV_{ATM,90d}$ & Same, 80--100 DTE \\65IV term slope & $IV_{ATM,90d} - IV_{ATM,30d}$ \\66Skew$_{25\delta}$ & $IV_{25\delta P,30d} - IV_{25\delta C,30d}$ \\67Implied skewness & $(IV_{10\delta P} - IV_{10\delta C})/IV_{ATM}$ \\68Implied kurtosis & $\overline{IV}_{wings} / IV_{ATM}$, with $0.03 < |\delta| < 0.15$ \\69PC vol.\ ratio & $\sum V^{put} / \sum V^{call}$ \\70PC OI ratio & $\sum OI^{put} / \sum OI^{call}$ \\71Net gamma exp.\ & $\sum \Gamma^{call} \cdot OI^{call} - \sum \Gamma^{put} \cdot OI^{put}$ \\72\bottomrule73\end{tabular}74\end{threeparttable}75\end{table}7677\subsubsection{Realized Volatility Measures}7879Following \citet{andersen2003modeling}, daily realized variance is:80\begin{equation}\label{eq:rv}81    RV_t = \sum_{i=1}^{N_t} r_{t,i}^{2},82    \qquad r_{t,i} = \ln\!\bigl(P_{t,i}\,/\,P_{t,i-1}\bigr).83\end{equation}84I also compute the weekly and monthly rolling averages $RV_t^{(w)}$ and $RV_t^{(m)}$, as well as forward targets $RV_{t+1}$ (1-day) and $\sum_{j=1}^{5}RV_{t+j}$ (5-day).8586\subsection{Descriptive Statistics}8788Table~\ref{tab:desc_groups} presents summary statistics by asset group.8990\begin{table}[H]91\centering92\caption{Descriptive statistics by asset group.}93\label{tab:desc_groups}94\begin{threeparttable}95\begin{tabular}{@{}ld{3.4}d{3.4}d{3.4}d{3.4}@{}}96\toprule97& \multicolumn{1}{c}{Stocks} & \multicolumn{1}{c}{ETFs} & \multicolumn{1}{c}{Indices} & \multicolumn{1}{c}{All} \\98\midrule99$N$ (ticker-days)        & 188093  & 64256  & 12034  & 264383 \\100$N$ tickers              & 49      & 17     & 3      & 69 \\101Mean $IV_{ATM,30d}$      & 0.2664  & 0.1784 & 0.1823 & 0.2406 \\102Mean skew$_{25\delta}$   & 0.0361  & 0.0425 & 0.0562 & 0.0387 \\103Mean PC vol.\ ratio      & 0.890   & 2.345  & 1.754  & 1.283 \\104Mean RV (daily)          & 0.0005  & 0.0002 & 0.0001 & 0.0004 \\105Mean daily return (\%)   & 0.054   & 0.035  & 0.047  & 0.049 \\106Std daily return (\%)    & 1.90    & 1.25   & 1.29   & 1.74 \\107\bottomrule108\end{tabular}109\begin{tablenotes}[flushleft]\footnotesize110\item \textit{Notes.} Sample period: January 2010--December 2025. $IV_{ATM}$ is the 30-day at-the-money call implied volatility. Skew is the 25-delta put minus 25-delta call IV. PC vol.\ ratio is total put volume divided by total call volume. RV is realized variance from 5-minute returns.111\end{tablenotes}112\end{threeparttable}113\end{table}114115Stocks exhibit higher ATM implied volatility (26.6\%) and return volatility (1.90\% daily) than ETFs (17.8\%, 1.25\%) and indices (18.2\%, 1.29\%). The put-call volume ratio is notably higher for ETFs (2.35) and indices (1.75) than for stocks (0.89), consistent with institutional portfolio hedging.116117Table~\ref{tab:autocorr} reports the average autocorrelation structure. ATM implied volatility is highly persistent (lag-1: 0.959, lag-22: 0.538), while daily returns exhibit slight negative autocorrelation ($-0.062$).118119\begin{table}[H]120\centering121\caption{Average autocorrelation structure.}122\label{tab:autocorr}123\begin{threeparttable}124\begin{tabular}{@{}ld{1.3}d{1.3}d{1.3}d{1.3}@{}}125\toprule126Variable & \multicolumn{1}{c}{Lag 1} & \multicolumn{1}{c}{Lag 5} & \multicolumn{1}{c}{Lag 10} & \multicolumn{1}{c}{Lag 22} \\127\midrule128ATM IV (30d)      & 0.959  & 0.861  & 0.753  & 0.538 \\129Skew (25$\delta$) & 0.832  & 0.711  & 0.593  & 0.416 \\130Realized variance & 0.320  & 0.211  & 0.139  & 0.057 \\131Daily return      & -0.062 & -0.010 & -0.006 & -0.030 \\132PC vol.\ ratio    & 0.299  & 0.218  & 0.172  & 0.118 \\133\bottomrule134\end{tabular}135\begin{tablenotes}[flushleft]\footnotesize136\item \textit{Notes.} Cross-sectional average of within-ticker autocorrelations.137\end{tablenotes}138\end{threeparttable}139\end{table}140