Skip to content

Implied Volatility

StandardPro

REQUIRED

The Theta Terminal must be running to access data.

Behavior

Returns implied volatilies calculated using the national best bid, mid, and ask price
of the option respectively. If an interval size is specified (highly recommended), the option quote used in the calculation follows the
same rules as the quote
endpoint. The underlying price represents whatever the last underlying price was at the
ms_of_day field. You can read more about how Thetadata calculates greeks
here.

Sample URL & Code

Paste the URL below into your browser while the Theta Terminal is running.
You can use the "request sample" box to the right of this box obtain sample
code in any programming language.

http://127.0.0.1:25510/v2/hist/option/implied_volatility?root=AAPL&exp=20230915&strike=170000&right=C&start_date=20230911&end_date=20230911&ivl=900000

Output Descriptions

Field Description
ms_of_day The exchange timestamp or interval time of the option quote. Milliseconds since 00:00:00.000 (midnight) ET.
bid The national best bid price.
bid_implied_vol The implied volatiltiy calculated using the bid price.
midpoint The midpoint calculated by averaging the bid & ask prices.
mid_implied_vol The implied volatiltiy calculated using the mid price.
ask The national best offer price.
ask_implied_vol The implied volatiltiy calculated using the ask price.
iv_error IV Error: the value of the option calculated using the implied volatiltiy divided by the actual value reported in the quote. This value will increase as the strike price recedes from the underlying price. The error provided here represents the average IV error for the bid / mid / ask.
ms_of_day2 The exchange timestamp of the underlying quote used. Milliseconds since 00:00:00.000 (midnight) ET.
underlying_price The midpoint of the underlying at the time of the option quote.
date The date formated as YYYYMMDD.

Parameters

Query Parameters

rootRequired  -

The symbol of the security. Option underlyings for indices might have special tickers.

Type: string (Default: SPX)
expRequired  -

The expiration date of the option contract formatted as YYYYMMDD.

Type: integer (Default: 20231103)
rightRequired  -

The right of the option. 'C' for call; 'P' for put.

Type: string (Default: C)
EnumC, P
strikeRequired  -

The strike price in 1/10ths of a cent. A $170.00 strike price would be 170000.

Type: integer (Default: 170000)
start_dateRequired  -

The start date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
end_dateRequired  -

The end date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
use_csvRequired  -

Uses CSV if true, legacy JSON if false.

Type: boolean (Default: false)
ivlRequired  -

The interval size in milliseconds. 1 minute intervals is 60000. Omitting this value or setting it to 0will provide tick-level data instead of aggregated / intervalized data.

Type: integer (Default: 900000)
rth  -

If this value is set to false and the request is for aggregated / intervalized data, the response will contain intervals from 00:00:000 ET to 23:59:999 ET. If the ivl is 0 or is unspecified, then rth will be forced to false. This means that all data for the day, even if it was outside regular trading hours would be returned. The default behavior is to only return data during regular trading hours (09:30:00.000 ET to 16:00.000 ET).

Type: boolean (Default: true)

Sample Code