About US Future Options
The US Future Options dataset by AlgoSeek provides Option data on US Future contracts, including prices, strikes, expires, implied volatility, and Greeks. The data covers 15 Monthly Future contracts, starts in January 2012, and is delivered on a minute frequency. This dataset is created by monitoring the trading activity on the CME, CBOT, NYMEX, and COMEX markets.
About AlgoSeek
AlgoSeek is a leading historical intraday US market data provider offering the most comprehensive and detailed market data and analytics products in the financial industry covering equities, futures, options, cash forex, and cryptocurrencies. AlgoSeek data is built for quantitative trading and machine learning. For more information about AlgoSeek, visit algoseek.com.
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 FutureOptionDataAlgorithm(QCAlgorithm):
option_contract_by_underlying_future_contract = {}
def initialize(self) -> None:
self.set_start_date(2020, 1, 28)
self.set_end_date(2020, 6, 1)
self.set_cash(100000)
self.universe_settings.asynchronous = True
# Requesting data
gold_futures = self.add_future(Futures.Metals.GOLD, Resolution.MINUTE)
gold_futures.set_filter(0, 90)
self.add_future_option(gold_futures.symbol, lambda universe: universe.strikes(-5, +5)
.calls_only()
.back_month())
def on_data(self, slice: Slice) -> None:
for kvp in slice.option_chains:
# Liquidate underlying Future contract after Option assignment
underlying_future_contract = kvp.Key.underlying
if self.portfolio[underlying_future_contract].invested:
self.liquidate(underlying_future_contract)
self.option_contract_by_underlying_future_contract.pop(underlying_future_contract)
chain = kvp.Value
chain = [contract for contract in chain if self.securities[contract.symbol].is_tradable]
# Continue if chain is empty or already invested in an Option on this Futures contract
if not chain or underlying_future_contract in self.option_contract_by_underlying_future_contract:
continue
# Select the Option contract with the lowest strike price
contract = sorted(chain, key = lambda x: x.strike)[0]
self.market_order(contract.symbol, 1)
self.option_contract_by_underlying_future_contract[kvp.Key.underlying] = contract
def on_securities_changed(self, changes: SecurityChanges) -> None:
for security in changes.added_securities:
if security.type == SecurityType.FUTURE_OPTION:
# Historical data
history = self.history(security.symbol, 10, Resolution.MINUTE)
self.debug(f"We got {len(history)} from our history request for {security.symbol}")
Example Applications
The US Future Options dataset enables you to accurately design Future Option strategies. Examples include the following strategies:
- Selling out of the money Future Option contracts to collect the premium that the Option buyer pays
- Buying put Options to hedge against downward price movement in Future contracts you bought
- Exploiting arbitrage opportunities that arise when the price of Option contracts deviate from their theoretical value
Pricing
Cloud Access
Free access to US Future Options from CME, COMEX, CBOT, and NYMEX on the QuantConnect Cloud platform for research, backtest, and live trading. Futures Options are available in minute resolution.
Explore Other Datasets
CNBC Trading
Dataset by Quiver Quantitative
US ETF Constituents
Dataset by QuantConnect
NFT Sales
Dataset by CryptoSlam!