Volatility Drift

Overview

Volatility Drift returns realized and at-the-money implied volatility for one ticker, in fixed 1-minute buckets across a single trading session. Each bucket carries arv (adjusted realized volatility), iv (implied volatility from the nearest ATM trade), and the underlying stockPrice. Both arv and iv are fractional, where 0.25 means 25%.

POST/v1/options/tool/volatility-drift
curl -X POST https://api.quantdata.us/v1/options/tool/volatility-drift \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionDate": "2026-05-13",
    "filter": { "ticker": "AAPL" }
  }'

Required: ticker

filter.ticker is required. filter.expirationDate is optional; when omitted the nearest expiration is selected automatically. Volatility Drift does not accept filterExpression, timeRange, or aggregationPeriod: the bucket size is fixed and the session is selected by sessionDate alone.

Pin to a specific expiration

Request · ticker + expirationDate
{
  "sessionDate": "2026-05-13",
  "filter": {
    "ticker": "AAPL",
    "expirationDate": "2026-05-16"
  }
}

Selecting the session

sessionDate selects the session. If omitted, the most recent session is used. There is no timeRange option: the response always covers a single session.

Response shape

datais an object keyed by each bucket's start time (Unix epoch milliseconds). The entries are ordered by timestamp in ascending order. There is one entry per minute of the session.

200 OK · application/json
{
  "data": {
    "1747137600000": {
      "arv": 0.2412,
      "iv": 0.2538,
      "stockPrice": 213.45
    },
    "1747137660000": {
      "arv": 0.2420,
      "iv": null,
      "stockPrice": 213.51
    },
    "1747137720000": {
      "arv": 0.2418,
      "iv": 0.2544,
      "stockPrice": 213.58
    }
  }
}

Per-bucket fields:

  • arv: adjusted realized volatility (fractional). Null on buckets that lack enough history to compute a value.
  • iv: implied volatility averaged across the at-the-money call and put contracts at the nearest expiration (fractional). Null when no ATM trade landed in the bucket.
  • stockPrice: underlying price at the bucket timestamp.

Where to go next