Python function: getOptionsQuotes()
| Specification | Value |
|---|
| Delivery Frequency | continuous |
| Data Frequency | real-time, intraday (1-min), daily |
| Reporting Lag | Live snapshots every minute; daily EOD ~14 min before close |
| Coverage | 5,000+ U.S. equity options symbols, all strikes and expirations |
| History | Since 2007-01-02 |
| Availability | Free |
Product Overview
Overview
Options Quotes provides comprehensive quote data for U.S. equity options — bid/ask/mid prices, contract metadata, implied volatilities, and full Greeks — at three granularity levels:
- Live: The latest 1-minute snapshot for any option contract.
- Intraday historical: 1-minute bars with full Greeks and IV, available from August 2020.
- Daily historical: End-of-day quotes with additional fields (interest rate, dividend rate, exercise style), available from 2007.
The dataset covers 5,000+ underlying symbols across all U.S. options exchanges. Options are identified by their OPRA symbol (e.g., AAPL260213C00280000).
Data Pipeline
Live and Intraday Quotes
Live and intraday options quotes are sourced from a high-frequency options data pipeline that captures strike-level snapshots every minute during market hours:
- 1-minute strike snapshots: Every minute, a snapshot is captured for each active strike across all expirations for 5,000+ underlying symbols.
- Smoothed implied volatility: Raw market quotes are cleaned, normalized, and processed through a Smooth Market Value (SMV) system to produce accurate implied volatilities. The SMV system fits a non-arbitrageable smooth curve through strike implied volatilities (see the Options Greeks & Implied Volatility reference for full methodology).
- Greeks derivation: Delta, gamma, theta, vega, rho, and phi are computed from the smoothed IV surface using a modified binomial pricing engine that accounts for dividends, interest rates, and early exercise (American-style options).
- Bid/ask IV: Separate implied volatilities are calculated at the bid and ask prices, in addition to the smoothed mid-IV.
Daily Historical Quotes
Daily end-of-day quotes are sourced from archived Level 1 (L1) data files:
- Near end-of-day snapshot: Captured approximately 14 minutes before market close to ensure representative end-of-day values.
- Smoothed Greeks: Same SMV methodology as live/intraday, applied to end-of-day quotes.
- Additional fields: Daily quotes include the risk-free interest rate, dividend rate, exercise style, and shares per contract.
Call/Put Parity
The system computes a single set of Greeks (delta, gamma, theta, vega, rho, phi) per strike that is consistent across both the call and the put. A residual yield rate is solved via put-call parity to align call and put implied volatilities, accounting for hard-to-borrow stocks and varying dividend assumptions.
Coverage
- Underlying symbols: 5,000+ U.S. equities and ETFs with listed options.
- Intraday history: August 2020 to present (1-minute granularity).
- Daily history: 2007 to present (end-of-day snapshots).
- Live data: Real-time 1-minute snapshots during market hours.
Supported Modes
| Mode | Trigger | Granularity |
|---|
| Live | Omit start and end | Latest 1-minute snapshot |
| Intraday historical | start/end as 'YYYY-MM-DDTHH:MM:SS' | 1-minute bars |
| Daily historical | start/end as 'YYYY-MM-DD' | End-of-day |
Note: Intraday mode supports a maximum of 20 trading days per call. For larger ranges, query in smaller chunks.
Querying the Data
Basic Usage
from scalarlib import getOptionsQuotes
# Live: latest snapshot with full Greeks
quotes = getOptionsQuotes(tickers=['AAPL260213C00280000'])
quote_df = quotes['AAPL260213C00280000']
# Live: call + put on the same strike
quotes = getOptionsQuotes(tickers=[
'AAPL260213C00280000',
'AAPL260213P00280000',
])
# Intraday historical: 1-minute bars
quotes = getOptionsQuotes(
tickers=['AAPL260213C00280000'],
start='2026-02-06T10:00:00',
end='2026-02-06T10:30:00'
)
# Daily historical: end-of-day quotes
quotes = getOptionsQuotes(
tickers=['AAPL260213C00280000'],
start='2026-02-01',
end='2026-02-06'
)
Parameters
| Parameter | Type | Required | Description |
|---|
tickers | list of str | Yes | Option symbols in OPRA format (e.g., ['AAPL260213C00280000']). |
start | str | No | Start date ('YYYY-MM-DD') or datetime ('YYYY-MM-DDTHH:MM:SS', New York time). Omit with end for live mode. |
end | str | No | End date or datetime. Omit with start for live mode. |
Column Definitions
Live & Intraday Columns
| Column | Type | Description |
|---|
ts_recv | datetime64[ns] | Timestamp in New York time. |
ticker | string | Option symbol in OPRA format. |
| Prices | | |
bid_px | float64 | Best bid price. |
ask_px | float64 | Best ask price. |
mid_px | float64 | Theoretical mid-price (smoothed). |
| Sizes | | |
bid_sz | int64 | Bid size (number of contracts). |
ask_sz | int64 | Ask size (number of contracts). |
| Contract Metadata | | |
underlying_ticker | string | Underlying symbol (e.g., AAPL). |
contract_type | string | 'call' or 'put'. |
expiry_date | string | Expiration date (YYYY-MM-DD). |
strike_price | float64 | Strike price. |
days_to_expiry | int64 | Calendar days until expiration. |
years_to_expiry | float64 | Years until expiration (days / 365.25). |
| Greeks | | |
delta | float64 | Rate of change of option price with respect to underlying price. |
gamma | float64 | Rate of change of delta with respect to underlying price. |
theta | float64 | Rate of change of option price with respect to time (per day). |
vega | float64 | Rate of change of option price with respect to volatility. |
rho | float64 | Rate of change of option price with respect to interest rate. |
phi | float64 | Rate of change of option price with respect to dividend yield. |
| Implied Volatilities | | |
bid_iv | float64 | Implied volatility at the bid price. |
mid_iv | float64 | Implied volatility at the mid price (smoothed). |
ask_iv | float64 | Implied volatility at the ask price. |
| Trading | | |
volume | float64 | Daily trading volume. |
open_interest | float64 | Open interest. |
Additional Daily Historical Columns
Daily historical mode returns all columns above (except bid_sz / ask_sz) plus:
| Column | Type | Description |
|---|
interest_rate | float64 | Risk-free interest rate used in pricing. |
dividend_rate | float64 | Dividend yield used in pricing. |
exercise_style | string | 'american' or 'european'. |
shares_per_contract | int64 | Shares per contract (typically 100). |
mid_value | float64 | Theoretical mid-value. |