CSV File Format & Free Sample Download
34 columns, one row per option contract. Scroll horizontally to view all fields.
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 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 |
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.
- 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
expirationandsettlement_timeto 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.
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.
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
| Dataset | Price | Purchase |
|---|---|---|
| Full archive February 2002 through the latest trading day · Includes 2 months of daily updates | $799 · one-time | Buy |
| Most recent 10 years 10 years counted back from purchase · Includes 2 months of daily updates | $699 · one-time | Buy |
| Most recent 1 year 1 year counted back from purchase · Includes 1 month of daily updates | $199 · one-time | Buy |
| Daily updates New trading days · Starts with the latest three weeks · Historical archives sold separately | $79 / month | Subscribe |
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.
What can I study across these market periods?
Dot-com lows · 2002–2003
Study how option quotes and implied volatility changed through the later stages of the dot-com downturn and into 2003. Follow puts and calls across successive daily files, and compare shorter- and longer-dated contracts to explore how the cost of protection changed over time.
For a strategy backtest, examine a sequence of entry dates, holding periods and expirations rather than a single market low. This lets you study repeated hedging costs and sensitivity to timing. The archive starts in February 2002, so this period covers the later downturn, not the initial decline from the 2000 peak.
Financial crisis · 2008–2009
Explore how option pricing and trading activity behaved during the financial crisis. Compare bid/ask spreads, volume and open interest across strikes and expirations, and examine the difference between put and call implied volatility where values are available.
Use the daily chains to test how a simulated hedge changes with its purchase date, strike and time to expiration. Compare results using bid/ask-based execution assumptions with midpoint assumptions to see how sensitive a backtest is to trading costs during stressed markets.
COVID crash · 2020
Follow daily option chains through the COVID selloff and subsequent recovery. Compare changes in underlying prices, option quotes and implied volatility, and examine how shorter- and longer-dated contracts responded over the same dates.
This period supports research into hedge entry and exit timing: compare a position held through the reversal with one closed or rebalanced on a predefined daily schedule. The files provide end-of-day observations; they do not reconstruct the intraday sequence of quotes or establish the price at which a simulated order would have filled.
Bear market · 2022
Compare the 2022 bear market with the 2008–2009 and 2020 periods using the same contract-selection and daily rebalancing rules. Examine the duration of drawdowns, changes in implied volatility and the cumulative cost of maintaining option positions across multiple expirations.
The free sample contains July–December 2022 data for TSLA, KO, SPY and SPX/SPXW. Use it to build and check your date filters, contract matching and quote-handling rules before extending the analysis to earlier periods or additional underlyings in the paid archive.
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. |