About VIX Daily Price
The VIX Daily Price dataset by CBOE covers 18 US volatility indices. The data starts in January 1990 and is delivered on a daily frequency. The dataset is cached daily from the CBOE website. The volatility index measures the stock market's expectation of volatility on the market index (e.g.: S&P500) using implied volatility from its Options for a fixed time horizon.
About CBOE
The Chicago Board Options Exchange (CBOE) is the largest U.S. options exchange with annual trading volume that hovered around 1.27 billion contracts at the end of 2014. CBOE offers Options on over 2,200 companies, 22 Equity indices, and 140 exchange-traded funds (ETFs).
About QuantConnect
QuantConnect was founded in 2012 to serve quants everywhere with the best possible algorithmic trading technology. Seeking to disrupt a notoriously closed-source industry, QuantConnect takes a radically open-source approach to algorithmic trading. Through the QuantConnect web platform, more than 50,000 quants are served every month.
Algorithm Example
from AlgorithmImports import *
from QuantConnect.DataSource import *
class CBOEDataAlgorithmAlgorithm(QCAlgorithm):
def initialize(self) -> None:
self.set_start_date(2014,1,1)
self.set_end_date(2018,1,1)
self.set_cash(25000)
# Request SPY data for trading, since it is the underlying of VIX indices
self.spy = self.add_equity("SPY", Resolution.DAILY).symbol
# Request 1-mo and 3-mo CBOE VIX data for trade signal generation
self.vix = self.add_data(CBOE, 'VIX', Resolution.DAILY).symbol
self.vxv = self.add_data(CBOE, 'VIX3M', Resolution.DAILY).symbol
# Create a 3mo-over-1mo VIX price indicator to estimate the relative short-term volatility
# Normally 3-mo volatility should be higher due to higher time uncertainty, but if the market preceive a shock within short time, it will invert
self.vix_price = self.identity(self.vix, 1, Resolution.DAILY)
self.vxv_price = self.identity(self.vxv, 1, Resolution.DAILY)
self.ratio = IndicatorExtensions.over(self.vxv_sma, self.vix_sma)
# Plot indicators each time they update using the PlotIndicator function for data visualization
self.plot_indicator("Ratio", self.ratio)
self.plot_indicator("Data", self.vix_sma, self.vxv_sma)
# Historical data
history = self.history(CBOE, self.vix, 60, Resolution.DAILY)
self.debug(f"We got {len(history.index)} items from our history request");
def on_data(self, slice: Slice) -> None:
# Wait for all indicators to fully initialize
if not (self.vix_sma.is_ready and self.vxv_sma.is_ready and self.ratio.is_ready):
return
# Invest in SPY if the market is not in panic, assuming the market is always uptrending
if not self.portfolio.invested and self.ratio.current.value > 1:
self.market_order(self.spy, 100)
# If the short term volatility is high, exit all positions to avoid excessive risk
elif self.ratio.current.value < 1:
self.liquidate()
Example Applications
The VIX Daily Price enables you to incorporate popular US volatility indices in your strategies. Examples include the following strategies:
- Understanding the stock market's level of expected forward-looking volatility, also known as the "fear index". When the VIX starts moving higher, it is telling you that traders are getting nervous. When the VIX starts moving lower, it is telling you that traders are gaining confidence.
- Determining forward-looking volatility by comparing the VIX against volatility indices with other volatility. By comparing the value of the VIX to the value of the VIX3M, you can identify periods when trader sentiment has turned extremely bearish and when it has normalized.
Pricing
Cloud Access
Freely harness CBOE daily data in the QuantConnect Cloud for your backtesting and live trading purposes.
Download On Premise
CBOE daily data archived in LEAN format for on premise backtesting and research. One file per index that is updated daily.
Explore Other Datasets
US Federal Reserve (FRED)
Dataset by FRED
US Index Option Universe
Dataset by QuantConnect
US Futures Security Master
Dataset by QuantConnect