Market Implied Volatility

/timeseries/market-implied-volatility

Definition

The implied volatility of an asset represents the market’s expectation of future volatility as derived from options prices, and is calculated using an options pricing model. When this value is input to an options pricing model, that makes the actual options price equal to its theoretical price.

Details

Options pricing models determine the theoretical price of an option contract as a function of several inputs. The Black-Scholes model, a widely used option pricing model, uses the following five inputs:

  • Price of the underlying asset

  • Strike price of the option

  • Time until option expiration

  • Risk-free interest rate

  • Volatility of the price of the underlying asset

In other words:

Option price = f(underlying price, strike price, time, interest rate, volatility)

All the inputs, with the exception of volatility, are observable. The option price is also observable from market transactions. Suppose there is some inverse function _(_g = f-1) such that:

volatility = g(option price, underlying price, strike price, time, interest rate)

The volatility calculated from this equation is the implied volatility, or in other words, the market’s expectation of future volatility implied by option prices. By convention, implied volatility represents the standard deviation of returns of the underlying asset calculated on an annualized basis.

Trading in options markets is sparse and usually distributed over several hundred active options contracts. Since trades for a particular option contract can occur infrequently, the bid, ask, last and mark price of a particular option contract can vary significantly. To the extent possible, Coin Metrics reports the implied volatility derived from each of the various prices.

API Endpoints

Implied Volatility can be accessed using these endpoints:

  • /timeseries/market-implied-volatility

Market implied volatility

get

Returns implied volatility for specified markets. Results are ordered by tuple (market, time). To fetch the next page of results use next_page_url JSON response field. Implied volatility is calculated using an options pricing model. It represents the market's expectation of future volatility and is the value, when input to an options pricing model, that makes the actual options price equal to its theoretical price.

Authorizations
Query parameters
marketsstring[]Required

Comma separated list of markets or market patterns like exchange-* or exchange-*-spot or *USDT-future. Use the /catalog-all/markets endpoint for the full list of supported markets.

start_timestringOptional

Start of the time interval. This field refers to the time field in the response. Multiple formats of ISO 8601 are supported: 2006-01-20T00:00:00Z, 2006-01-20T00:00:00.000Z, 2006-01-20T00:00:00.123456Z, 2006-01-20T00:00:00.123456789Z, 2006-01-20, 20060120. Inclusive by default. UTC timezone by default. Z suffix is optional and timezone parameter has a priority over it. If start_time is omitted, response will include time series from the earliest time available.

end_timestringOptional

End of the time interval. This field refers to the time field in the response. Multiple formats of ISO 8601 are supported: 2006-01-20T00:00:00Z, 2006-01-20T00:00:00.000Z, 2006-01-20T00:00:00.123456Z, 2006-01-20T00:00:00.123456789Z, 2006-01-20, 20060120. Inclusive by default. UTC timezone by default. Z suffix is optional and timezone parameter has a priority over it. If end_time is omitted, response will include time series up to the latest time available.

start_inclusivebooleanOptional

Inclusive or exclusive corresponding start_* parameters.

Default: true
end_inclusivebooleanOptional

Inclusive or exclusive corresponding end_* parameters.

Default: true
timezonestringOptional

Timezone name for start_time and end_time timestamps. This parameter does not modify the output times, which are always UTC. Format is defined by TZ database.

Default: UTCExample: America/New_York
page_sizeinteger · int32 · min: 1 · max: 10000Optional

Number of items per single page of results. The value of this parameter is ignored if the endpoint supports the format parameter and its value is set to json_stream.

Default: 100
paging_fromstring · enumOptional

Where does the first page start, at the start of the interval or at the end. The value of this parameter is ignored if the endpoint supports the format parameter and its value is set to json_stream.

Default: endPossible values:
limit_per_marketinteger · int32Optional

How many entries per market result should contain. It is useful when multiple markets are requested.

granularitystring · enumOptional

Downsampling granularity of market implied volatility. Supported values are raw, 1m, 1h, and 1d.

Default: rawPossible values:
prettybooleanOptional

Human-readable formatting of JSON responses.

Default: false
formatstring · enumOptional

Format of the response.

Default: jsonPossible values:
next_page_tokenstringOptional

Token for receiving the results from the next page of a query. Should not be used directly. To iterate through pages just use next_page_url response field.

Responses
200
Time series of market implied volatility.
application/json
get
GET /v4/timeseries/market-implied-volatility HTTP/1.1
Host: api.coinmetrics.io
Accept: */*
{
  "data": [
    {
      "market": "deribit-ETH-10SEP21-3200-P-option",
      "time": "2021-09-05T13:26:00.000000000Z",
      "database_time": "2021-09-05T13:26:37.808731000Z",
      "exchange_time": "2021-09-05T13:26:36.642000000Z",
      "iv_bid": "1.0086",
      "iv_ask": "1.1132",
      "iv_mark": "1.0616"
    }
  ],
  "next_page_token": "0.MjAyMC0wNi0wOFQyMDo0NTowMFo",
  "next_page_url": "https://api.coinmetrics.io/v4/timeseries/market-implied-volatility?markets=deribit-ETH-10SEP21-3200-P-option&api_key=<your_key>&pretty=true&page_size=2&next_page_token=0.MjAyMC0wNi0wOFQyMDo0NTowMFo"
}

Chart

Example

A sample of the options implied volatility data from our /timeseries/market-implied-volatility API endpoint is shown below for the deribit-ETH-25MAR22-1200-P-option market.

{
  "data" : [ {
    "market" : "deribit-ETH-25MAR22-1200-P-option",
    "time" : "2021-09-01T13:24:00.000000000Z",
    "database_time" : "2021-09-01T13:24:41.266168000Z",
    "exchange_time" : "2021-09-01T13:24:00.000000000Z",
    "iv_bid" : "1.1869",
    "iv_ask" : "1.1492",
    "iv_mark" : "1.1685"
  }, {
    "market" : "deribit-ETH-25MAR22-1200-P-option",
    "time" : "2021-09-01T13:25:00.000000000Z",
    "database_time" : "2021-09-01T13:25:48.270609000Z",
    "exchange_time" : "2021-09-01T13:25:00.000000000Z",
    "iv_bid" : "1.1852",
    "iv_ask" : "1.1552",
    "iv_mark" : "1.1686"
  },
  • market: The id of the market. Market ids use the following naming convention for options markets: exchangeName-optionsSymbol-option

  • time: The time at which Coin Metrics queried the implied volatility data from an exchange in ISO 8601 date-time format. Always with nanoseconds precision.

  • database_time: The timestamp when the data was saved in the database in ISO 8601 date-time format with nanoseconds precision. Always with nanoseconds precision.

  • exchange_time: The timestamp reported by the exchange. Can be null if the exchange does not report a timestamp.

  • iv_bid: The implied volatility based on the last reported bid price

  • iv_ask: The implied volatility based on the last reported ask price.

  • iv_mark: The implied volatility based on the last reported mark price

Frequently Asked Questions

What can market implied volatility be used for?

Market participants use implied volatility in a variety of applications. Since implied volatility is a function of the option price (and other inputs), it often can be used as a replacement for price. Trading interfaces that show option chains typically show implied volatility alongside other critical information like the price, bid, ask, volume, and open interest. Some exchanges allow traders to input orders using implied volatility instead of price.

Implied volatility can also be used as a measure of valuation. Option prices can vary widely due to the range of inputs and are particularly sensitive to the strike price and time to expiration. The implied volatility allows options with different inputs to be compared against each other since it is derived from an options pricing model which incorporates the theoretical relationship between the other inputs and the options price. In theory, options contracts with the same underlying should have the same implied volatility. But market conditions and imbalances in supply and demand cause options to deviate from their theoretical value. Implied volatility is one measure market participants use to determine whether a particular options contract is under or overvalued.

Implied volatility also serves as the market’s expectation for future volatility and can be used to calculate the likelihood of future price movements in the underlying or to gauge market sentiment.

Why is the implied volatility for some Deribit options set to zero?

Deribit sets the iv_bid to zero if there are no bids on the order book and sets the iv_ask to zero if there are no asks. This can happen for options with very low liquidity.

How is your implied volatility calculated?

We currently report the exchange-reported implied volatility, so the figures are calculated using each exchange's proprietary option pricing model. In the future, we plan on developing our own option pricing model to calculate more implied volatility-related metrics.

Release History

  • CM MDF v2.5 on November 22, 2021: We expanded our options coverage to include several new data types, including market implied volatility, from Deribit and added several new API endpoints to serve this data.

Last updated

Was this helpful?