HistoricalData

Historical US options data — end-of-day chains

Coverage: Options on US stocks, ETFs and indices, with archive history dating to February 2002.

Data: Bid/ask quotes, volume, open interest, Greeks and implied volatility, across 34 documented columns.

Files: Plain CSV, one file per trading day and one row per contract.

Check an option root in the latest published trading session.

Options dataTSLA · 4,704 contracts on 2026-09-08

CSV File Format & Free Sample Download

34 columns, one row per option contract. Scroll horizontally to view all fields.

CSV file format: 34 columns, shown with real options data.
contractunderlyingexpirationtypestrikestylequote_datebidbid_sizeaskask_sizequote_timevolumeopen_interestopenhighlowclosetrade_vwaptransactionsmultileg_volumeactive_minuteslast_trade_dateunderlying_closesettlement_timeiv_bidiv_askiviv_flagdeltagammathetavegarho
TSLA220916C00900000TSLA2022-09-16call900A2022-08-2441.45542.41221311125645.155541.341.7548.82838392932662022-08-24891.29PM0.5013810.5120210.50670100.5006250.00352-374.62119789.28760525.475517
KO220916C00060000KO2022-09-16call60A2022-09-150.1150.14121019260.590.590.090.130.186240510721582022-09-1559.53PM0.2137480.252560.23346300.271220.455261-49.0887131.0323910.043871
SPY220916P00390000SPY2022-09-16put390A2022-09-152.55562.5819393764851532.414.221.232.582.513464971254773902022-09-15390.12PM0.2802490.2839510.28210-0.5321330.068874-612.4503158.104366-0.5758
SPXW220916C03900000SPXW2022-09-16call3900E2022-09-1528.51628.911308960354.766.3820.6928.8727.639181413021942022-09-153901.35PM0.2800820.285070.28257700.576680.006805-4136.2583280.1909076.085294
Download sample (239 MB)

The sample includes six months of TSLA, KO, SPY and SPX/SPXW options data (July–December 2022). It uses the same 34-column CSV format as the paid archive.

What can I explore with the sample?
TSLA
The sample spans Tesla's 3-for-1 stock split on 25 August 2022. Compare contract symbols, strike prices and underlying prices before and after the split to see how the change appears across daily CSV files.
KO
Explore options on a dividend-paying stock around its September ex-dividend date, when the shares begin trading without the upcoming dividend. Compare bid/ask quotes, volume and open interest for the same contract on nearby trading days.
SPY
Compare SPY's ETF options with SPX's index options on the same trading dates. Look at exercise style, bid/ask spreads, volume and open interest to explore differences between the two sets of contracts.
SPX / SPXW
Explore different expiration schedules within the index options data. Use expiration and settlement_time to distinguish expiry dates and AM (morning) or PM (afternoon) settlement conventions. These fields help you group contracts with matching expiry and settlement terms for analysis.

Datasets & Subscriptions

DatasetPricePurchase
Historical archives
Full archive February 2002 through the latest trading day · Includes 2 months of daily updates $799 · one-time Buy
Most recent 1 year 1 year counted back from purchase · Includes 1 month of daily updates $199 · one-time Buy
Update subscription
Daily updates New trading days · Starts with the latest three weeks · Historical archives sold separately $79 / month Subscribe

Payments powered by Stripe Visa Mastercard Apple Pay Google Pay

Instant delivery Your download link appears on the confirmation page and is emailed to you after payment.

Included updates Start at purchase and do not renew automatically. Downloaded files stay yours.

Refunds Request an archive refund within 21 days of purchase. Usage is based only on fully downloaded calendar months; partial months count as zero. If no month is fully downloaded, the usage-based refund is 100%. Refund policy.

Historical coverage

The full archive begins in February 2002 and covers the dot-com lows, the 2008–2009 financial crisis, the COVID crash and the 2022 bear market.

Dot-com lows · 2002–2003 Financial crisis · 2008–2009 COVID crash · 2020 Bear market · 2022 free sample 2002 2005 2010 2015 2020 2026
What can I study across these market periods?

Dot-com lows · 2002–2003

Prolonged drawdowns and sustained high option premiums for testing strategies through an extended downturn.

Financial crisis · 2008–2009

Severe market stress for testing tail hedges, margin requirements and volatility-targeting rules.

COVID crash · 2020

A sharp decline and recovery for studying overnight gaps, rebalancing under stress and rapid reversals.

Bear market · 2022

A lower-volatility bear market to compare with 2008 and 2020, with July–December covered by the free sample.

Verify the files yourself

The ZIP includes verify.py, the README and a file manifest with daily interest-rate curves. From the extracted sample folder, run python verify.py --complete day_by_date to check the complete file set, checksums, column structure and documented data rules. Python is required; no additional packages are needed.

View verification log: all 127 sample files passed

SPX and SPXW appear separately in the sample's underlying field, so the verification log reports five names.

== verifying day_by_date\2022-07-01_options.csv  6.3 MB ==
-- 2022-07-01_options.csv  6.3 MB
   sha256=00a1c5086256ac6d66fc07f0045e755904fc240dbb29f90f9245ee5142c51ab2
   md5=27e1f350aa38f9c4fe4747e13615b8e1
   columns: 34 in file, 34/34 of the documented schema
   rows 34,898   underlyings 5
   iv_flag  0:30,219  1:11  2:1,557  3:1,856  5:3  6:1,252
   iv 86.62%   greeks 86.62%   bid/ask-iv range 74.73%   close 41.51%   volume>0 43.21%   AM 7,094 / PM 27,804
   structure: header, 34 fields per row, 34 typed columns, 8 never-blank columns - checked on every row
   section 8: 19 of 19 invariants checked on every row (all)

[... 126 further files omitted ...]

-- manifest.json (whole manifest)
   lists 127 day(s), 2022-07-01 to 2022-12-30
   127 file(s) here match their recorded SHA-256, byte count and row count

   calendar coverage complete: 127 trading days (2022-07-01 to 2022-12-30), no unexplained gaps

== 127 file(s): PASS - exactly as published (complete set: 127 of 127 listed files present) ==

Understanding quotes & trading activity

Use trade counts, activity measures and bid/ask implied volatility to interpret end-of-day option chains.

1. volume includes multi-leg trades

contract              underlying  expiration  type  strike  style  quote_date  volume   multileg_volumeSPY261030P00570000    SPY         2026-10-30  put   570     A      2026-08-12  150011   150000

This SPY option row reports volume = 150011 and multileg_volume = 150000, showing substantial activity in multi-leg orders. Read both fields before treating total volume as trading in this contract alone. Subtraction does not reliably establish the number of contracts traded outside multi-leg orders; see multi-leg volume interpretation.

2. High volume can come from one trade

contract              underlying  expiration  type  strike  style  quote_date  volume  active_minutes  transactionsHYG270115P00070000    HYG         2027-01-15  put   70      A      2026-08-11  25016   1               1

All 25,016 contracts traded in one transaction, within a single minute. Check transactions and active_minutes: high volume alone does not show sustained trading activity.

3. Bid and ask imply different volatilities

contract              underlying  expiration  type  strike  style  quote_date  iv_bid    iv        iv_askMETA280616C00155000   META        2028-06-16  call  155     A      2026-08-11  0.315956  0.638340  0.746453

The relative bid-ask spread in volatility terms is (iv_ask − iv_bid) ÷ iv = 0.67 here, compared with below 0.22 for half the rows that day. This measures quote disagreement, not a measured error in IV; inspect both sides before relying on the midpoint estimate.

4. Calculation status

A flag of 1 means iv was solved without pricing dividends; use it with caution for dividend-paying or hard-to-borrow underlyings. See flag definitions.

File Format & Columns

One CSV file per trading day, with 34 columns in a fixed order. Missing values are empty fields, not zeros.

Available from is the earliest date a field carries data, not a guarantee that every later row has a value. Columns 26–34 are computed from the quotes. IV & Greeks calculation methodology.

#ColumnTypeDescriptionAvailable from
1contractTextOption contract symbol, e.g. AAPL220617C00150000.2002-02-08
2underlyingTextUnderlying symbol (indices carry no prefix)2002-02-08
3expirationDateExpiration date (YYYY-MM-DD).2002-02-08
4typeTextcall or put2002-02-08
5strikeNumberStrike price in dollars; index points for index options.2002-02-08
6styleTextExercise style — A American, E European2002-02-08
7quote_dateDateTrading date represented by the file (YYYY-MM-DD).2002-02-08
8bidNumberBest standing bid at the end of the day, in dollars per share, or index points. Blank when no bid is available.2002-02-08
9bid_sizeIntegerBid size in contracts2005-01-03
10askNumberBest standing ask at the end of the day, in dollars per share, or index points. Blank when no ask is available.2002-02-08
11ask_sizeIntegerAsk size in contracts2005-01-03
12quote_timeDatetimeLast update time of the standing bid/ask quote, in ISO 8601 UTC. Can be earlier than quote_date.2026-08-06
13volumeIntegerNumber of contracts traded that day, including multi-leg trades.2002-02-08
14open_interestIntegerNumber of outstanding contracts, reflecting the prior business day’s close.2002-02-08
15openNumberFirst trade price of the day, in dollars per share, or index points.2014-06-02
16highNumberHighest trade price of the day, in dollars per share, or index points.2014-06-02
17lowNumberLowest trade price of the day, in dollars per share, or index points.2014-06-02
18closeNumberLast trade price of the day, in dollars per share, or index points.2002-02-08
19trade_vwapNumberVolume-weighted average trade price, in dollars per share, or index points.2014-06-02
20transactionsIntegerNumber of trades2014-06-02
21multileg_volumeIntegerReported contract volume attributed to multi-leg orders. Can exceed volume; subtraction does not reliably give volume traded outside multi-leg orders. Blank means unknown, not zero. See interpretation.2019-11-04
22active_minutesIntegerOne-minute windows containing at least one trade2014-06-02
23last_trade_dateDateMost recent trading date observed for this contract within the archive, up to the file date.2002-02-08
24underlying_closeNumberUnadjusted underlying close in dollars, or index level. Some rows use a quote-time price; see exceptions below.2002-02-08
25settlement_timeTextAM or PM settlement. Blank when undetermined.2002-02-08
26iv_bidNumberImplied volatility solved independently from the bid; decimal (0.32 = 32%).2002-02-08
27iv_askNumberImplied volatility solved independently from the ask; decimal (0.32 = 32%).2002-02-08
28ivNumberImplied volatility from the mid price; decimal (0.32 = 32%)2002-02-08
29iv_flagIntegerSolve status, 0–7; always present. See status definitions.2002-02-08
30deltaNumberOption price sensitivity per $1 move in the underlying, or one index point.2002-02-08
31gammaNumberChange in delta per $1 move in the underlying, or one index point.2002-02-08
32thetaNumberTime decay per year — divide by 365 for a day2002-02-08
33vegaNumberPrice change per 1.00 of volatility — divide by 100 for one vol point2002-02-08
34rhoNumberPrice sensitivity per 1.00 change in interest rate. Divide by 100 for one percentage point, or by 10,000 for one basis point.2002-02-08

underlying_close uses a quote-time last trade price for stocks and ETFs before 10 September 2003, underlyings without a trade that day, and these indices without an available official close: NDX, HGX, OSX, UTY, XAU, XDA, XDB, XDC, XDE, XDN, XDS and XDZ.

Reading iv_flag

This field identifies how iv was calculated, or why it is missing. Flags 0 and 1 distinguish a put-call-parity forward from a fallback that ignores dividends.

Flags 0–1: iv and all five Greeks are populated. Flags 2–7: those fields are blank. iv_bid and iv_ask are solved independently and are not governed by this flag.

ValueMeaning
0Solved; forward taken from put-call parity.
1Solved; fallback forward S·erT, with no usable parity pair. Dividends are not priced in.
2No usable mid price; one or both quote sides are missing.
3Mid price violates the no-arbitrage lower bound.
4Solver did not converge.
5No solution below the 500% volatility ceiling.
6No trading time remains to expiry; implied volatility is undefined.
7A required input was missing.

Coverage & Conventions

TopicProduct scope
End-of-day observationsEach HistoricalData.net options row combines a contract's last standing bid/ask quote, daily trading activity and calculated values. Quotes across contracts are not synchronized snapshots. Quote timestamps are available from 6 August 2026; see quote timing and calculations.
Historical coverageThe archive begins in February 2002. Field start dates are listed under Available from; coverage varies by contract and date. The delivery manifest and coverage notes document available files and historical exceptions.
Adjusted contractsCorporate-action adjusted contracts, such as non-standard PFE1 contracts, are not included in the archive through 5 August 2026. Daily capture includes them when available from 6 August 2026. This distinction matters when following positions across corporate actions.
Time to expiryIV and Greeks use a calendar-day convention with AM/PM settlement adjustments. They are not intraday expiry-time calculations; midpoint IV and Greeks are blank when calculated time remaining is zero. See the time-to-expiry convention.