Skip to content

Option-Greeks ​

Model ​

Theta Data uses the Black Scholes for all Greeks calculations. More specifically, we use the formulas outlined here.

Tick by Tick ​

A tick is defined as a row of data. Theta Data calculates Greeks for each tick of data and uses the exact underlying tick (price) at the time of the option tick.

Implied Volatility Guess ​

We use a fast bisection method to calculate implied volatility. If a close to perfect solution does not exist, you will notice the iv_error value in Greeks requests will begin to increase. This happens with deep in the money or out of the money contracts. This behavior can be found with other models / data providers.

Weird Values? ​

Let us know, but before you do realize:

  1. Rho & Vega must be divided by 100 to get their value.

  2. We use the EU pricing model outlined above.

Parameters ​

Dividends ​

Theta Data currently ignores dividends, however you can specify annual_div parameter and Theta Data will use that as the annual dividend amount and calculate the dividend yield for each tick of data, which would then be plugged into the Black Scholes formula.

Rates ​

By default, Theta Data uses SOFR as its interest rate. SOFR is reported 1 day after the report date. Theta Data uses the last provided SOFR rate for current day data Greeks calculations. You can specify the rate parameter to override this behavior.

Version ​

By default, for contracts with fewer than 7 days remaining, DTE is computed using the quote timestamp. For contracts beyond 7 DTE, a whole-number DTE is used. To use the legacy behavior, set version = 1. The legacy calculation applies a fixed DTE of 0.15 on same-day expiration and uses a whole-number DTE for all other cases.

End of Day Option Price ​

The end of day Greeks and end of day binomial Greeks solve implied volatility against the midpoint of the option's closing NBBO by default. Set option_use_nbbo=false to solve against the option's last trade price of the day (close) instead, which is what v2 eod_greeks uses. A contract with no trades on the day has a close of 0, so its implied volatility and Greeks are not meaningful in this mode. The underlying price is selected separately with underlyer_use_nbbo. End of day Greeks always use a whole-number DTE, with 0.15 on the day of expiration.

Binomial Greeks ​

The binomial_greeks and binomial_trade_greeks endpoints mirror the regular Greeks endpoints, but calculate with a Leisen-Reimer binomial tree that allows early exercise at every node.

FamilyEndpoints
Snapshotall, first order, second order, third order
Historyall, end of day, first order, second order, third order
History, per tradeall, first order, second order, third order

The same dividend, rate and version parameters described above apply, and rho and vega must still be divided by 100. The all and eod endpoints also return vera, dual_delta, dual_gamma, d1 and d2; d1 and d2 are computed from the volatility the tree solved for.

Step Count ​

The binomial_steps parameter sets how many steps the tree is built with. It defaults to 101 and accepts 5 to 201; even values are rounded up to the next odd one. More steps are more accurate but slower, and the cost of a request grows with the square of this value. Requests for every expiration (expiration=*) are capped at 101 steps.

Implied Volatility ​

implied_vol is solved on the binomial tree wherever early exercise can add value, and uses Black-Scholes everywhere else:

ContractHow implied_vol is solved
PutsBinomial tree
Calls with annual_dividend suppliedBinomial tree
Calls with no dividendBlack-Scholes

On contracts solved on the tree, implied_vol will not match the Black-Scholes endpoints for the same contract.

Underlying History Limitations ​

For NDX and other Nasdaq GIDS symbols, the underlying price data coverage starts on 2026-05-11. Greeks for NDX options prior to this date cannot be computed from historical underlying data. Use the stock_price parameter on greeks snapshot requests to supply your own underlying price when needed.