From LiveVol — Option Quotes¶
Looking for a second source of option Greeks alongside LiveVol, or an independent set of Greeks to compare against the LiveVol analytics? Lavender delivers independently computed Greeks through LiveVol's own wire format — no code changes required.
Already fetching option quotes from the LiveVol All Access API? Swap the host — your existing code works unchanged.
Differences from LiveVol¶
Lavender matches LiveVol's wire format with a few specific differences worth knowing when migrating:
- Market-data fields are zeroed.
option_bid,option_ask,option_volume,open_interest, and other quote/trade fields come back with0or null values. Lavender computes Greeks; it does not redistribute OPRA quotes. - Auth header accepted-but-ignored. Your LiveVol Bearer token is accepted by the listener and discarded.
What Changes¶
Swap the host. Your LiveVol auth header is accepted and ignored.
Try it in your browser¶
Paste this into any browser to see LiveVol-format Greeks rendered as an HTML table. No code needed.
Same Response Format¶
The JSON you get back is an envelope object with a top-level options[] array plus aggregate snapshot fields (timestamp, symbol, iv30 family, underlying NBBO + OHLC) — the same structure LiveVol returns:
{
"symbol": "SPY",
"timestamp": "15:30:45.123",
"iv30": 0,
"iv30_change": 0,
"iv30_change_percent": 0,
"seq_no": 1842,
"implied_underlying_bid": 567.41,
"implied_underlying_ask": 567.41,
"implied_underlying_mid": 567.41,
"implied_underlying_bid_size": 0,
"implied_underlying_ask_size": 0,
"implied_underlying_indicator": "green",
"underlying_bid": 567.41,
"underlying_ask": 567.41,
"underlying_mid": 567.41,
"underlying_last_trade_price": null,
"underlying_last_trade_size": null,
"underlying_open": null,
"underlying_high": null,
"underlying_low": null,
"underlying_close": null,
"underlying_prev_day_close": null,
"underlying_volume": null,
"options": [
{
"symbol": "SPY",
"root": "SPY",
"expiry": "2026-12-18",
"strike": 570.0,
"option_type": "C",
"timestamp": "15:30:45.123",
"option": "SPY261218C00570000",
"delta": 0.4512,
"gamma": 0.0223,
"theta": -0.0877,
"vega": 0.2514,
"rho": 0.3124,
"iv": 0.2346,
"mid_iv": 0.2346,
"cboe_theo": 18.23,
"option_bid": 0,
"option_ask": 0,
"option_mid": 0,
"option_last_trade_price": null,
"option_volume": 0,
"option_trade_count": 0,
"open_interest": 0,
"option_bid_size": 0,
"option_ask_size": 0
}
]
}
CSV and NDJSON are flat per-row (one row per option, no envelope wrap).
Market data fields are zeroed
Per-option option_bid, option_ask, option_volume, and open_interest are zeroed. Top-level underlying NBBO is synthesized from the root mid; OHLC fields are null. The Greeks, iv, mid_iv, and cboe_theo fields contain Lavender's computed values.
Endpoint¶
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Underlying ticker (e.g., SPY) |
option_type |
string | No | C for calls, P for puts (omit for both) |
root |
string | No | Filter by root symbol |
min_strike |
number | No | Minimum strike price |
max_strike |
number | No | Maximum strike price |
min_expiry |
string | No | Minimum expiration (YYYY-MM-DD) |
max_expiry |
string | No | Maximum expiration (YYYY-MM-DD) |
Response Fields¶
The response is an envelope object: top-level fields describe the snapshot as a whole, and options[] is the per-option array.
Top-level fields¶
| Field | Type | Description |
|---|---|---|
symbol |
string | Underlying ticker the request was for |
timestamp |
string | Snapshot time, HH:mm:ss.fff |
seq_no |
integer | Monotonic per-process counter |
iv30, iv30_change, iv30_change_percent |
number | 30-day implied vol family. All 0 -- Lavender does not compute a 30-day surface IV here. |
implied_underlying_bid, _ask, _mid |
number | Synthesized from the root mid with a zero spread. |
implied_underlying_bid_size, _ask_size |
integer | 0 |
implied_underlying_indicator |
string | "green" |
underlying_bid, _ask, _mid |
number | Synthesized from the root mid. |
underlying_last_trade_price, _last_trade_size, _open, _high, _low, _close, _prev_day_close, _volume |
number/null | All null -- Lavender computes Greeks; it does not redistribute OPRA quotes. |
Per-option identification¶
| Field | Type | Description |
|---|---|---|
symbol |
string | Underlying ticker (matches the top-level symbol) |
root |
string | Option root |
expiry |
string | Expiration date (YYYY-MM-DD) |
strike |
number | Strike price |
option_type |
string | "C" (call) or "P" (put) |
timestamp |
string | Snapshot time, HH:mm:ss.fff |
option |
string | OCC symbol (spaces removed) |
Greeks¶
| Field | Type | Description |
|---|---|---|
delta |
number | \(\partial V / \partial S\) |
gamma |
number | \(\partial^2 V / \partial S^2\) |
theta |
number | \(\partial V / \partial t\) — per calendar day |
vega |
number | \(\partial V / \partial \sigma\) |
rho |
number | \(\partial V / \partial r\) |
Volatility & Pricing¶
| Field | Type | Description |
|---|---|---|
iv |
number | Theoretical implied volatility |
mid_iv |
number | Mid-market implied volatility |
cboe_theo |
number | Theoretical option price |
Option Market Data (zeroed)¶
The remaining per-option fields (option_bid, option_ask, option_mid, option_last_trade_price, option_open, option_high, option_low, option_close, option_prev_day_close, option_volume, option_trade_count, open_interest, option_bid_size, option_ask_size) are present in the response with zeroed or null values.
Greek Scaling¶
All Greeks are in natural units. Theta is returned per calendar day. All output values are rounded to 4 decimal places.
Migrating to the Lavender Native API¶
| LiveVol | Lavender API |
|---|---|
symbol |
underlying= (expands to all roots) |
root (filter) |
root= (single root) |
expiry |
expiry |
iv |
vol |
cboe_theo |
theo |
Error Responses¶
| Status | Condition |
|---|---|
200 |
Success |
400 |
Missing symbol parameter |
502 |
Upstream data unavailable |
Error response body¶
Errors return a JSON envelope:
See also¶
- Field Reference — every L1 field with units and example values
- Greek Conventions — sign conventions, units, and the full extended Greeks catalog
- Verify the Greeks — a worked result, reproduced from the published inputs