Sample Data & Free Download
Download sample (239 MB)Six months of real options data: July–December 2022, 127 trading days, with all 34 CSV columns in the same format as the paid archive. Download the files to test your parser and research workflow.
- TSLA: Stock options before and after the 3-for-1 split on 25 August 2022.
- KO: Options on a dividend-paying stock, including its September ex-dividend date.
- SPY: ETF options to compare with the SPX index contracts.
- SPX (including SPXW): Index options with different expiration schedules and AM/PM settlement.
Sample rows
All 34 CSV columns, with source filenamesSix rows from the downloadable sample: TSLA before and after its split, KO on its September ex-dividend date, SPY, and SPX/SPXW contracts with AM/PM settlement. Scroll horizontally to inspect every field.
| Source file | contract | underlying | expiration | type | strike | style | quote_date | bid | bid_size | ask | ask_size | quote_time | volume | open_interest | open | high | low | close | trade_vwap | transactions | multileg_volume | active_minutes | last_trade_date | underlying_close | settlement_time | iv_bid | iv_ask | iv | iv_flag | delta | gamma | theta | vega | rho |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022-08-24_options.csv | TSLA220916C00900000 | TSLA | 2022-09-16 | call | 900 | A | 2022-08-24 | 41.45 | 5 | 42.4 | 12 | 2131 | 11256 | 45.15 | 55 | 41.3 | 41.75 | 48.8283 | 839 | 293 | 266 | 2022-08-24 | 891.29 | PM | 0.501381 | 0.512021 | 0.506701 | 0 | 0.500625 | 0.00352 | -374.621197 | 89.287605 | 25.475517 | |
| 2022-08-25_options.csv | TSLA220916C00300000 | TSLA | 2022-09-16 | call | 300 | A | 2022-08-25 | 11.9 | 12.05 | 6254 | 949 | 16.5 | 16.8 | 10.2 | 12 | 11.9057 | 1351 | 1802 | 308 | 2022-08-25 | 296.07 | PM | 0.465584 | 0.470762 | 0.468173 | 0 | 0.482277 | 0.011712 | -117.000777 | 28.9697 | 7.884765 | |||
| 2022-09-15_options.csv | KO220916C00060000 | KO | 2022-09-16 | call | 60 | A | 2022-09-15 | 0.1 | 15 | 0.14 | 1 | 2101 | 926 | 0.59 | 0.59 | 0.09 | 0.13 | 0.1862 | 405 | 1072 | 158 | 2022-09-15 | 59.53 | PM | 0.213748 | 0.25256 | 0.233463 | 0 | 0.27122 | 0.455261 | -49.088713 | 1.032391 | 0.043871 | |
| 2022-09-15_options.csv | SPY220916P00390000 | SPY | 2022-09-16 | put | 390 | A | 2022-09-15 | 2.55 | 56 | 2.58 | 19 | 393764 | 85153 | 2.41 | 4.22 | 1.23 | 2.58 | 2.5134 | 64971 | 25477 | 390 | 2022-09-15 | 390.12 | PM | 0.280249 | 0.283951 | 0.2821 | 0 | -0.532133 | 0.068874 | -612.450315 | 8.104366 | -0.5758 | |
| 2022-09-15_options.csv | SPX221021C03900000 | SPX | 2022-10-21 | call | 3900 | E | 2022-09-15 | 124.4 | 15 | 125.4 | 15 | 268 | 10079 | 138.03 | 142.76 | 116.47 | 118.9 | 122.2173 | 39 | 300 | 23 | 2022-09-15 | 3901.35 | AM | 0.241384 | 0.243466 | 0.242425 | 0 | 0.537392 | 0.001358 | -610.793381 | 480.433515 | 189.062882 | |
| 2022-09-15_options.csv | SPXW220916C03900000 | SPXW | 2022-09-16 | call | 3900 | E | 2022-09-15 | 28.5 | 16 | 28.9 | 11 | 3089 | 603 | 54.7 | 66.38 | 20.69 | 28.87 | 27.6391 | 814 | 1302 | 194 | 2022-09-15 | 3901.35 | PM | 0.280082 | 0.28507 | 0.282577 | 0 | 0.57668 | 0.006805 | -4136.25832 | 80.190907 | 6.085294 |
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) ==
Datasets & Subscriptions
The US options archive begins in February 2002 and includes data from the dot-com lows, the 2008–2009 financial crisis, the COVID crash and the 2022 bear market.
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.
| Dataset | Price | Purchase |
|---|---|---|
| 24 years of option chains — historical archive February 2002 through the latest trading day · Includes 2 months of daily updates | $999 · one-time | Buy |
| The most recent 10 years — historical archive 10 years counted back from purchase · Includes 2 months of daily updates | $699 · one-time | Buy |
| The most recent 1 year — historical archive 1 year counted back from purchase · Includes 1 month of daily updates | $199 · one-time | Buy |
| Option chains — update subscription New trading days of option chains · Starts with the latest three weeks | $79 / month | Subscribe |
| Free sample · End-of-day option chains TSLA, KO, SPY and SPX (including SPXW) · July–December 2022 · 239 MB | Free | Download |
Included updates start at purchase and do not renew automatically. Downloaded files stay yours.
Update subscriptions provide recent and new trading days; historical archives are purchased separately.
Instant delivery after a successful purchase, your download link appears on the confirmation page and is also sent to your email.
Refunds Archive refund requests must be submitted within 21 days of purchase. Only fully downloaded calendar months count toward usage; a partially downloaded month counts as zero. If no month is fully downloaded, the usage-based refund is 100%. Refund policy.
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.
| # | Column | Type | Description | Available from |
|---|---|---|---|---|
| 1 | contract | Text | Option contract symbol, e.g. AAPL220617C00150000. | 2002-02-08 |
| 2 | underlying | Text | Underlying symbol (indices carry no prefix) | 2002-02-08 |
| 3 | expiration | Date | Expiration date (YYYY-MM-DD). | 2002-02-08 |
| 4 | type | Text | call or put | 2002-02-08 |
| 5 | strike | Number | Strike price in dollars; index points for index options. | 2002-02-08 |
| 6 | style | Text | Exercise style — A American, E European | 2002-02-08 |
| 7 | quote_date | Date | Trading date represented by the file (YYYY-MM-DD). | 2002-02-08 |
| 8 | bid | Number | Best standing bid at the end of the day, in dollars per share, or index points. Blank when no bid is available. | 2002-02-08 |
| 9 | bid_size | Integer | Bid size in contracts | 2005-01-03 |
| 10 | ask | Number | Best standing ask at the end of the day, in dollars per share, or index points. Blank when no ask is available. | 2002-02-08 |
| 11 | ask_size | Integer | Ask size in contracts | 2005-01-03 |
| 12 | quote_time | Datetime | Last update time of the standing bid/ask quote, in ISO 8601 UTC. Can be earlier than quote_date. | 2026-08-06 |
| 13 | volume | Integer | Number of contracts traded that day, including multi-leg trades. | 2002-02-08 |
| 14 | open_interest | Integer | Number of outstanding contracts, reflecting the prior business day’s close. | 2002-02-08 |
| 15 | open | Number | First trade price of the day, in dollars per share, or index points. | 2014-06-02 |
| 16 | high | Number | Highest trade price of the day, in dollars per share, or index points. | 2014-06-02 |
| 17 | low | Number | Lowest trade price of the day, in dollars per share, or index points. | 2014-06-02 |
| 18 | close | Number | Last trade price of the day, in dollars per share, or index points. | 2002-02-08 |
| 19 | trade_vwap | Number | Volume-weighted average trade price, in dollars per share, or index points. | 2014-06-02 |
| 20 | transactions | Integer | Number of trades | 2014-06-02 |
| 21 | multileg_volume | Integer | Reported 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 |
| 22 | active_minutes | Integer | One-minute windows containing at least one trade | 2014-06-02 |
| 23 | last_trade_date | Date | Most recent trading date observed for this contract within the archive, up to the file date. | 2002-02-08 |
| 24 | underlying_close | Number | Unadjusted underlying close in dollars, or index level. Some rows use a quote-time price; see exceptions below. | 2002-02-08 |
| 25 | settlement_time | Text | AM or PM settlement. Blank when undetermined. | 2002-02-08 |
| 26 | iv_bid | Number | Implied volatility solved independently from the bid; decimal (0.32 = 32%). | 2002-02-08 |
| 27 | iv_ask | Number | Implied volatility solved independently from the ask; decimal (0.32 = 32%). | 2002-02-08 |
| 28 | iv | Number | Implied volatility from the mid price; decimal (0.32 = 32%) | 2002-02-08 |
| 29 | iv_flag | Integer | Solve status, 0–7; always present. See status definitions. | 2002-02-08 |
| 30 | delta | Number | Option price sensitivity per $1 move in the underlying, or one index point. | 2002-02-08 |
| 31 | gamma | Number | Change in delta per $1 move in the underlying, or one index point. | 2002-02-08 |
| 32 | theta | Number | Time decay per year — divide by 365 for a day | 2002-02-08 |
| 33 | vega | Number | Price change per 1.00 of volatility — divide by 100 for one vol point | 2002-02-08 |
| 34 | rho | Number | Price 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.
| Value | Meaning |
|---|---|
0 | Solved; forward taken from put-call parity. |
1 | Solved; fallback forward S·erT, with no usable parity pair. Dividends are not priced in. |
2 | No usable mid price; one or both quote sides are missing. |
3 | Mid price violates the no-arbitrage lower bound. |
4 | Solver did not converge. |
5 | No solution below the 500% volatility ceiling. |
6 | No trading time remains to expiry; implied volatility is undefined. |
7 | A required input was missing. |
Coverage & Conventions
| Topic | Product scope |
|---|---|
| End-of-day observations | Each 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 coverage | The 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 contracts | Corporate-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 expiry | IV 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. |