Skip to content

All Trade Greeks ​

FreeValueStandardPro

Fetch all Greeks on each trade for an option contract.

  • Returns the data for all contracts that share the same provided symbol and expiration.
  • Calculates greeks for every trade reported by OPRA.
  • The underlying price represents whatever the last underlying price was at the timestamp field. You can read more about how Theta Data calculates greeks here.
  • Multi-day requests are limited to 1 month of data, and must specify an expiration.
SPY · 20250321
Client
Auth
Style
from thetadatadx import Client

client = Client.from_env()

rows = client.market_data.option_history_trade_greeks_all(
    "SPY", "20250321",
    strike="570", right="C", date="20250303",
)
for t in rows:
    print(t.ms_of_day, t.price, t.delta, t.implied_volatility)
Sample response · JSON
[
  {
    "charm": -6.7146,
    "color": -0.0129,
    "condition": 18,
    "d1": -0.7424,
    "d2": -0.7668,
    "delta": 0.2289,
    "dual_delta": -0.2213,
    "dual_gamma": 0,
    "epsilon": -0.8073,
    "exchange": 9,
    "ext_condition1": 255,
    "ext_condition2": 255,
    "ext_condition3": 255,
    "ext_condition4": 255,
    "gamma": 0.0674,
    "implied_vol": 0.1762,
    "iv_error": -0.0008,
    "lambda": 71.4109,
    "price": 0.59,
    "rho": 0.796,
    "sequence": -1391330475,
    "size": 1,
    "speed": 0,
    "theta": -0.1031,
    "timestamp": "2023-11-10T09:30:00.004",
    "ultima": -100,
    "underlying_price": 183.89,
    "underlying_timestamp": "2023-11-10T09:30:00",
    "vanna": 1.3174,
    "vega": 7.7122,
    "vera": 0,
    "veta": 0.3553,
    "vomma": 24.9086,
    "zomma": 0
  },
  {
    "charm": -6.7146,
    "color": -0.0129,
    "condition": 18,
    "d1": -0.7424,
    "d2": -0.7668,
    "delta": 0.2289,
    "dual_delta": -0.2213,
    "dual_gamma": 0,
    "epsilon": -0.8073,
    "exchange": 47,
    "ext_condition1": 255,
    "ext_condition2": 255,
    "ext_condition3": 255,
    "ext_condition4": 255,
    "gamma": 0.0674,
    "implied_vol": 0.1762,
    "iv_error": -0.0008,
    "lambda": 71.4109,
    "price": 0.59,
    "rho": 0.796,
    "sequence": -1391317465,
    "size": 1,
    "speed": 0,
    "theta": -0.1031,
    "timestamp": "2023-11-10T09:30:00.154",
    "ultima": -100,
    "underlying_price": 183.89,
    "underlying_timestamp": "2023-11-10T09:30:00",
    "vanna": 1.3174,
    "vega": 7.7122,
    "vera": 0,
    "veta": 0.3553,
    "vomma": 24.9086,
    "zomma": 0
  },
  {
    "charm": -6.8508,
    "color": -0.0118,
    "condition": 18,
    "d1": -0.7849,
    "d2": -0.8081,
    "delta": 0.2162,
    "dual_delta": -0.2093,
    "dual_gamma": 0,
    "epsilon": -0.7625,
    "exchange": 6,
    "ext_condition1": 255,
    "ext_condition2": 255,
    "ext_condition3": 255,
    "ext_condition4": 255,
    "gamma": 0.0689,
    "implied_vol": 0.1669,
    "iv_error": -0.0018,
    "lambda": 76.6064,
    "price": 0.52,
    "rho": 0.7526,
    "sequence": -1391313694,
    "size": 8,
    "speed": 0,
    "theta": -0.0947,
    "timestamp": "2023-11-10T09:30:00.22",
    "ultima": -100,
    "underlying_price": 183.89,
    "underlying_timestamp": "2023-11-10T09:30:00",
    "vanna": 1.4186,
    "vega": 7.4656,
    "vera": 0,
    "veta": 0.3755,
    "vomma": 28.3594,
    "zomma": 0
  }
]

Parameters ​

NameTypeRequiredDefaultDescription
symbolstringyes-Ticker symbol (e.g. AAPL)
expirationdateyes-Expiration date YYYYMMDD. Pass * to select all expirations for the underlying (chain-wide; query one date at a time).
strikestringno*Strike price in dollars as a string (e.g. 500 or 17.5). Use * for wildcard selection.
rightstringnobothOption side. Use both or * (alias) for calls and puts. Accepted values: call, put, both, *.
datedateno-Single date YYYYMMDD. Supply this for a single-day pull, or supply start_date/end_date for a range. When present, date takes precedence over the range.
start_timestringno09:30:00Start time filter
end_timestringno16:00:00End time filter
annual_dividendfloatno-Annualized expected dividend amount, in dollars per share, used in the Greeks calculation (e.g. 2.5 is $2.50 per share per year).
rate_typestringnosofrRisk-free-rate source used in the Greeks calculation. Accepted values: sofr, treasury_m1, treasury_m3, treasury_m6, treasury_y1, treasury_y2, treasury_y3, treasury_y5, treasury_y7, treasury_y10, treasury_y20, treasury_y30.
rate_valuefloatno-Interest rate as a percent (4.36 means 4.36%, matching the InterestRateTick.rate convention) used in the Greeks calculation. Applied when rate_type selects a manual rate.
versionstringnolatestGreeks model version. Accepted values: latest, 1.
max_dteintno-Maximum days to expiration
strike_rangeintno-Strike range filter
start_datedateno-Start date YYYYMMDD
end_datedateno-End date YYYYMMDD
perf_boost_intradayboolnofalseWhen true, the underlying price for a current-day query is looked up with 1-second precision instead of millisecond precision, which answers faster. Defaults to false, matching the terminal, which sends false when the value is omitted.
timeout_msintno-Per-request deadline in milliseconds. 0 means no deadline.

Response ​

Rows of TradeGreeksAllTick:

FieldTypeDescription
ms_of_dayi32Milliseconds since midnight Eastern Time.
sequencei32Exchange-assigned trade sequence number.
ext_condition1i32Additional trade condition code.
ext_condition2i32Additional trade condition code.
ext_condition3i32Additional trade condition code.
ext_condition4i32Additional trade condition code.
conditioni32Trade condition code. Zero is a code the vendor assigns a meaning, so read columns() to tell a reported zero from a response that carried no such column.
sizei32Number of contracts or shares traded.
exchangei32Exchange code where the trade executed. Zero is a code the vendor assigns a meaning, so read columns() to tell a reported zero from a response that carried no such column.
pricef64Trade price.
deltaf64Sensitivity of the option value to a one-dollar move in the underlying.
thetaf64Sensitivity of the option value to the passage of time.
vegaf64Sensitivity of the option value to a change in implied volatility.
rhof64Sensitivity of the option value to the risk-free rate.
epsilonf64Sensitivity of the option value to the dividend yield.
lambdaf64Percent change in the option value per percent change in the underlying.
gammaf64Rate of change of delta with respect to the underlying price.
vannaf64Sensitivity of delta to a change in implied volatility.
charmf64Rate of change of delta over time.
vommaf64Sensitivity of vega to a change in implied volatility.
vetaf64Rate of change of vega over time.
veraf64Sensitivity of rho to a change in implied volatility.
speedf64Rate of change of gamma with respect to the underlying price.
zommaf64Sensitivity of gamma to a change in implied volatility.
colorf64Rate of change of gamma over time.
ultimaf64Sensitivity of vomma to a change in implied volatility.
d1f64Black-Scholes d1 intermediate term.
d2f64Black-Scholes d2 intermediate term.
dual_deltaf64Sensitivity of the option value to the strike price.
dual_gammaf64Second derivative of the option value with respect to the strike.
implied_volatilityf64Implied volatility solved from the option price. The vendor names this column IMPLIED_VOL.
iv_errorf64Residual pricing error of the implied-volatility solve.
underlying_ms_of_dayi32Timestamp of the underlying price, milliseconds since midnight ET. The vendor names this column MS_OF_DAY2.
underlying_pricef64Underlying price used in the calculation (midpoint of the underlying).
datei32Trading date as a YYYYMMDD integer.
underlying_datei32Trading date of the underlying price as a YYYYMMDD integer, decoded from the same wire column as underlying_ms_of_day. It differs from date when the underlying price and the option quote come from different sessions.

Wildcard requests additionally populate expiration (YYYYMMDD), strike (dollars), and right ("C" / "P") on every row to identify the contract; on single-contract requests these are absent (None / null / undefined; the Rust and C rows carry the documented 0 / 0.0 / '\0' fills).

Released under the Apache-2.0 License.