Skip to content

All Greeks

FreeValueStandardPro

Get all Greeks snapshot for an option contract (from ThetaData server).

  • Retrieve a real-time last greeks calculation for all option contracts that lie on a provided expiration.
  • You might need to change the default expiration date to a different date if it is past the current date. Some quotes are omitted in the example to reduce the space of the sample output.
  • Make expiration * if you want to get the snapshot for every expiration chain for the underlying.

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.

rust
pub fn option_snapshot_greeks_all(&self, symbol: &str, expiration: &str) -> OptionSnapshotGreeksAllBuilder<'_>

Optional parameters chain on the builder: .strike(&str), .right(&str), .annual_dividend(f64), .rate_type(&str), .rate_value(f64), .stock_price(f64), .version(&str), .max_dte(i32), .strike_range(i32), .min_time(&str), .use_market_value(bool). Execute with .awaitResult<Vec<GreeksAllTick>, Error>, or decode chunk-by-chunk with .stream(handler).

Example

rust
let rows = tdx
    .option_snapshot_greeks_all("SPY", "20250321")
    .strike("570")
    .right("C")
    .await?;
for t in &rows {
    println!("date={} delta={} gamma={} theta={} implied_volatility={}", t.date, t.delta, t.gamma, t.theta, t.implied_volatility);
}

Parameters

NameTypeRequiredDefaultDescription
symbolstringyesTicker symbol (e.g. AAPL)
expirationdateyesExpiration date YYYYMMDD
strikestringno*Strike price in dollars as a string (e.g. 500 or 17.5). Use * for wildcard selection.
rightstringnobothOption side. 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 GreeksAllTick:

FieldTypeDescription
ms_of_dayi32Milliseconds since midnight Eastern Time.
bidf64Last NBBO bid price.
askf64Last NBBO ask price.
implied_volatilityf64Implied volatility solved from the option price.
deltaf64Sensitivity of the option value to a one-dollar move in the underlying.
gammaf64Rate of change of delta with respect to the underlying price.
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.
iv_errorf64Residual pricing error of the implied-volatility solve.
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.
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.
epsilonf64Sensitivity of the option value to the dividend yield.
lambdaf64Percent change in the option value per percent change in the underlying.
veraf64Sensitivity of rho to a change in implied volatility.
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.