Skip to main content

surface

Filter and process the options chains data for volatility.

Data posted can be an instance of OptionsChainsData, a pandas DataFrame, or a list of dictionaries. Data should contain the fields:

  • expiration: The expiration date of the option.
  • strike: The strike price of the option.
  • option_type: The type of the option (call or put).
  • implied_volatility: The implied volatility of the option. Or 'target' field.
  • open_interest: The open interest of the option.
  • volume: The trading volume of the option.
  • dte : Optional, days to expiration (DTE) of the option.
  • underlying_price: Optional, the price of the underlying asset.

Results from the /derivatives/options/chains endpoint are the preferred input.

If underlying_price is not supplied in the data as a field, it must be provided as a parameter.

Parameters

data: Data | ForwardRef('Data') | ForwardRef('DataFrame') | ForwardRef('Series') | ForwardRef('ndarray') | dict | list
target: str
Default: implied_volatility
underlying_price: float | None
option_type: None
Default: otm
dte_min: int | None
dte_max: int | None
moneyness: float | None
strike_min: float | None
strike_max: float | None
oi: bool
Default: False
volume: bool
Default: False
theme: Literal['dark', 'light']
Default: dark
chart_params: dict | None
chart: bool
Default: False


Returns

results: Any

Serializable results.

provider: str

Provider name.

warnings: Optional[list[Warning_]]

list of warnings.

chart: Optional[Chart]

Chart object.

extra: dict[str, Any]

Extra info.


On this page