Studying options history: what end-of-day data can and cannot answer
Written and reviewed by ConvexValue · Updated July 25, 2026
Snapshot data answers “what is the chain doing now”. A different set of questions needs history: how did this position behave, is today’s volume unusual, would this rule have worked.
cvforge’s historical options data is end-of-day aggregates — daily open, high, low, close, volume and open interest per contract, on the Research plan. That shape determines which questions are answerable and how much weight the answers carry.
What it answers well
Position P&L paths. Specify a contract or structure and a window, and each day’s marks reconstruct what it was worth. This is the right tool for “what did a December straddle bought in January actually do”.
Volume baselines. Today’s volume means nothing without a reference. Expressed as a ratio to a trailing average, an ordinary day sits near one and genuine outliers stand out — which is the difference between a number and a signal.
Rules-based studies. A fully specified rule — entry timing, both legs, a delta target, an exit — can be run over history. The specification is what makes it testable; a rule with an unstated exit is not a rule.
The four limits that matter
Fills. Daily marks are not achievable prices. The historical aggregates do not include executable markets or transaction costs, so a backtest based on them systematically flatters any strategy that trades often. The more frequently a rule trades, the more of its apparent edge can be this artefact.
No intraday path. Within-day movement is unavailable. Fine for a multi-month study; wrong for anything short-horizon, and wrong for 0DTE by construction.
Survivorship and rolls. A study over a long window covers contracts that have since expired. Which contract you roll into, and when, is a choice that materially changes the result — and it is a choice, not a property of the data.
Overfitting. Given enough strike and expiration combinations, some will have performed superbly. Picking the historical winner is the classic error. Read the pattern across the set — whether wider or tighter structures did better, and how sharply it falls off — rather than the top row.
A note on trailing averages
A subtle trap when normalising volume: a large day enters the trailing average and then suppresses the ratio for the length of the window. A run of genuinely elevated activity can look like it is fading when the baseline is simply catching up. Read the raw series alongside the ratio.
What it does not support
Implied-volatility rank and percentile products need a long, clean history of implied volatility. End-of-day aggregates support studying how volatility levels moved; a percentile computed from a short window is much weaker than the single confident number it looks like. This is a boundary worth stating rather than working around.
Nor is any of it evidence about forward returns. A backward-looking result is a description of a period that has already happened.
Fields you need
open_interest, day_volume, strike_price, expiration_date and
contract_type from the historical options aggregates — the Research data
plan. Historical stock prices, used for the underlying side of most studies, are
included more broadly.
Watch it built
- Backtesting a monthly 30-DTE SPY call spread
- MU option volume against its 90-day average, as a heatmap
- Judging whether options are expensive using volatility history
- Every December MU strangle and straddle, year to date
More in the historical options section. Plan details are on data plans and in the historical options documentation.
This is research and education, not investment advice.