Skip to content

Second-Order Greeks

FreeValueStandardPro

Get second-order Greeks snapshot (gamma, vanna, charm) for an option contract.

  • Retrieve a real-time last second order greeks calculation for all option contracts that lie on a provided expiration.

This endpoint will return no data if the market was closed for the day. Theta Data resets the snapshot cache at midnight ET every night.

SPY · 20250321
Client
Auth
Style
from thetadatadx import Client

client = Client.from_env()

rows = client.market_data.option_snapshot_greeks_second_order(
    "SPY", "20250321",
    strike="570", right="C",
)
for t in rows:
    print(t.date, t.gamma, t.vanna, t.charm)
Sample response · JSON
[
  {
    "ask": 1.5,
    "bid": 1.47,
    "charm": -0.3716,
    "gamma": 0.0059,
    "implied_vol": 0.2142,
    "iv_error": -0.0003,
    "timestamp": "2025-08-20T15:59:59.805",
    "underlying_price": 225.74,
    "underlying_timestamp": "2025-08-20T16:37:06.988",
    "vanna": 1.1833,
    "veta": 18.8522,
    "vomma": 212.267
  }
]

Parameters

NameTypeRequiredDefaultDescription
symbolstringyesTicker symbol (e.g. AAPL)
expirationdateyesExpiration 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, *.
annual_dividendfloatnoAnnualized 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_valuefloatnoInterest 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.
stock_pricefloatnoUnderlying price in dollars used in the Greeks calculation, overriding the observed underlying when set.
versionstringnolatestGreeks model version. Accepted values: latest, 1.
max_dteintnoMaximum days to expiration
strike_rangeintnoStrike range filter
min_timestringnoMinimum time filter
use_market_valueboolnofalseWhen true, calculate Greeks against the option market value (mid-price) instead of the NBBO bid/ask pair.
timeout_msintnoPer-request deadline in milliseconds. 0 means no deadline.

Response

Rows of GreeksSecondOrderTick:

FieldTypeDescription
ms_of_dayi32Milliseconds since midnight Eastern Time.
bidf64Last NBBO bid price.
askf64Last NBBO ask price.
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.
implied_volatilityf64Implied volatility solved from the option price.
iv_errorf64Residual pricing error of the implied-volatility solve.
underlying_ms_of_dayi32Timestamp of the underlying price, milliseconds since midnight ET.
underlying_pricef64Underlying price used in the calculation (midpoint of the underlying).
datei32Trading date as a YYYYMMDD integer.

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.