CAPIVIX Index Methodology
This article provides comprehensive information on the calculation methodology for our CAPIVIX (CoinAPI Volatility Index) indexes. These indexes measure the market's expectation of 30-day volatility for major cryptocurrencies, similar to the VIX methodology for traditional markets. Currently, we calculate CAPIVIX for BTC/USD and ETH/USD pairs.
Data Inputs
Exchange Selection
The index considers options data from various selected derivatives exchanges.
Instrument Selection
For each underlying asset (BTC, ETH):
- Near-term and next-term put and call options
- Only options with more than zero volume in the last 24 hours
- Strike prices that straddle the current spot price
- Minimum of 8 strike prices per expiration
Time Periods
The calculation uses two expiration time periods:
- Near-term: Options with < 30 days to expiration
- Next-term: Options with ≥ 30 days to expiration
Calculation Methodology
-
Data Collection:
- Select eligible options for both near-term and next-term expirations
- Collect bid-ask quotes for each selected option
- Record the risk-free interest rate for each expiration period
-
Forward Level Calculation:
- Determine the forward index level (F) using put-call parity
- Identify the strike price (K₀) at which the absolute difference between call and put prices is smallest
-
Variance Calculation for each expiration:
σ² = (2/T) * Σ[ΔK/K² * e^(RT) * Q(K)]
Where:
- T is time to expiration
- ΔK is the interval between strike prices
- R is the risk-free interest rate
- Q(K) is the midpoint of the bid-ask spread for each option
-
30-day Volatility Interpolation:
CAPIVIX = 100 * √[{T₁σ₁²(N₂-N₃₀)/(N₂-N₁) + T₂σ₂²(N₃₀-N₁)/(N₂-N₁)} * N₃₆₅/N₃₀]
Where:
- N₁ and N₂ are near and next-term days to expiration
- N₃₀ is 30 days
- N₃₆₅ is 365 days
Index Outputs
Index Codes
Index values are created with the following format:
IDX_VOL_CAPIVIX_{AssetId}_USD
For example:
IDX_VOL_CAPIVIX_BTC_USD
: Bitcoin Volatility IndexIDX_VOL_CAPIVIX_ETH_USD
: Ethereum Volatility Index
Frequency
The index is calculated every 100 milliseconds, providing near-real-time volatility expectations.
For real-time index updates, we recommend using our WebSocket Index API. This API provides continuous, low-latency updates, ensuring you receive the most up-to-date index values as they are calculated. For more information on how to connect and use the WebSocket API, please refer to our WebSocket Index API documentation.