AlgoSeek

US Futures

Introduction

The US Futures dataset by AlgoSeek provides Futures data, including price, volume, open interest, and expiry. The data covers the 75 most liquid contracts, starts in May 2009, and is delivered on any frequency from tick to daily. This dataset is created by monitoring the trading activity on the CFE, CBOT, COMEX, NYMEX, and ICE* markets.

This dataset does not include ICE Futures, except for Sugar until July 2021.

For more information about the US Futures dataset, including CLI commands and pricing, see the dataset listing.

About the Provider

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.

Getting Started

The following snippet demonstrates how to request data from the US Futures dataset:

future = self.add_future(Futures.Metals.GOLD)
future.set_filter(0, 90)
var future = AddFuture(Futures.Metals.Gold);
future.SetFilter(0, 90);

Data Summary

The following table describes the dataset properties:

PropertyValue
Start DateMay 2009
Asset Coverage75 Futures
Data DensityDense
ResolutionTick, Second, Minute, Hour, & Daily
Timezone
  • Chicago (CME or CBOT)
  • New York (NYMEX or COMEX)
Market HoursRegular and Extended

This dataset includes Sugar ICE Futures until July 2021.

Volume Discrepancies

The volume of the daily trade bars from this dataset is different from the daily volume that CME and other platforms like Yahoo Finance report because the CME includes pit trades in their daily volume calculation. In contrast, the volume of the daily trade bars in this dataset (from AlgoSeek) doesn't include pit trades because pit trades are over-the-counter, which algorithms can't trade.

Another discrepancy occurs from the start and end times of the daily bars. Daily bars from the CME and Yahoo Finance span from 5 PM Central Time (CT) to 4 PM CT on the following day. In contrast, QuantConnect consolidates daily bars from from 12 AM CT to 12 AM CT the following day. Therefore, to calculate the daily volume in the same way that CME does (excluding the pit trades), sum the volume of intraday bars that span 5 PM CT to 4 PM CT on the following day.

Example Applications

The US Futures dataset enables you to accurately design Futures strategies. Examples include the following strategies:

  • Buying the Futures contract with the most open interest to reduce slippage and market impact
  • Trading bull calendar spreads to reduce volatility and margin requirements

Data Point Attributes

The US Futures dataset provides FuturesChain, Future, and OpenInterest objects. To configure the continuous Future settings, use the DataNormalizationMode and DataMappingMode enumerations.

DataNormalizationMode Values

The DataNormalizationMode enumeration has the following values:

DataMappingMode Values

The DataMappingMode enumeration has the following values:

Future Attributes

Future objects have the following attributes:

FuturesChain Attributes

FuturesChain objects have the following attributes:

OpenInterest Attributes

OpenInterest objects have the following attributes:

Supported Assets

The following list shows the available (162) Futures:

  • Futures.Currencies.AUD: Australian Dollar Futures (CME: 6A)
  • Futures.Currencies.GBP: British Pound Futures (CME: 6B)
  • Futures.Currencies.CAD: Canadian Dollar Futures (CME: 6C)
  • Futures.Currencies.EUR: Euro FX Futures (CME: 6E)
  • Futures.Currencies.JPY: Japanese Yen Futures (CME: 6J)
  • Futures.Currencies.BRL: Brazilian Real Futures (CME: 6L)
  • Futures.Currencies.MXN: Mexican Peso Futures (CME: 6M)
  • Futures.Currencies.NZD: New Zealand Dollar Futures (CME: 6N)
  • Futures.Currencies.RUB: Russian Ruble Futures (CME: 6R)
  • Futures.Currencies.CHF: Swiss Franc Futures (CME: 6S)
  • Futures.Currencies.ZAR: South African Rand Futures (CME: 6Z)
  • Futures.Currencies.AUDCAD: Australian Dollar/Canadian Dollar Futures (CME: ACD)
  • Futures.Currencies.AUDJPY: Australian Dollar/Japanese Yen Futures (CME: AJY)
  • Futures.Currencies.AUDNZD: Australian Dollar/New Zealand Dollar Futures (CME: ANE)
  • Futures.Currencies.BTC: Bitcoin Futures (CME: BTC)
  • Futures.Currencies.CADJPY: Canadian Dollar/Japanese Yen Futures (CME: CJY)
  • Futures.Currencies.StandardSizeUSDOffshoreRMBCNH: Standard-Size USD/Offshore RMB (CNH) Futures (CME: CNH)
  • Futures.Currencies.EuroFXEmini: E-mini Euro FX Futures (CME: E7)
  • Futures.Currencies.EURAUD: Euro/Australian Dollar Futures (CME: EAD)
  • Futures.Currencies.EURCAD: Euro/Canadian Dollar Futures (CME: ECD)
  • Futures.Currencies.EURSEK: Euro/Swedish Krona Futures (CME: ESK)
  • Futures.Currencies.ETH: Ether Futures (CME: ETH)
  • Futures.Currencies.JapaneseYenEmini: E-mini Japanese Yen Futures (CME: J7)
  • Futures.Currencies.MicroAUD: Micro Australian Dollar/U.S. Dollar (AUD/USD) Futures (CME: M6A)
  • Futures.Currencies.MicroGBP: Micro British Pound Sterling/U.S. Dollar (GBP/USD) Futures (CME: M6B)
  • Futures.Currencies.MicroCAD: Micro USD/CAD Futures (CME: M6C)
  • Futures.Currencies.MicroEUR: Micro Euro/U.S. Dollar (EUR/USD) Futures (CME: M6E)
  • Futures.Currencies.MicroUSDJPY: Micro USD/JPY Futures (CME: M6J)
  • Futures.Currencies.MicroUSDCHF: Micro USD/CHF Futures (CME: M6S)
  • Futures.Currencies.MicroBTC: Micro Bitcoin Futures (CME: MBT)
  • Futures.Currencies.MicroCADUSD: Micro Canadian Dollar/U.S.Dollar(CAD/USD) Futures (CME: MCD)
  • Futures.Currencies.MicroEther: Micro Ether Futures (CME: MET)
  • Futures.Currencies.MicroINRUSD: Micro INR/USD Futures (CME: MIR)
  • Futures.Currencies.MicroJPY: Micro Japanese Yen/U.S. Dollar (JPY/USD) Futures (CME: MJY)
  • Futures.Currencies.MicroUSDCNH: Micro USD/CNH Futures (CME: MNH)
  • Futures.Currencies.MicroCHF: Micro Swiss Franc/U.S. Dollar (CHF/USD) Futures (CME: MSF)
  • Futures.Dairy.CashSettledButter: Cash-settled Butter Futures (CME: CB)
  • Futures.Dairy.CashSettledCheese: Cash-Settled Cheese Futures (CME: CSC)
  • Futures.Dairy.ClassIIIMilk: Class III Milk Futures (CME: DC)
  • Futures.Dairy.DryWhey: Dry Whey Futures (CME: DY)
  • Futures.Dairy.ClassIVMilk: Class IV Milk Futures (CME: GDK)
  • Futures.Dairy.NonfatDryMilk: Nonfat Dry Milk Futures (CME: GNF)
  • Futures.Energies.MiniEuropeanThreePointPercentFiveFuelOilBargesPlatts: Mini European 3.5% Fuel Oil Barges FOB Rdam (Platts) Futures (NYMEX: A0D)
  • Futures.Energies.MiniSingaporeFuelOil180CstPlatts: Mini Singapore Fuel Oil 180 cst (Platts) Futures (NYMEX: A0F)
  • Futures.Energies.PropaneNonLDHMontBelvieuOPIS: Propane Non-LDH Mont Belvieu (OPIS) Futures (NYMEX: A1R)
  • Futures.Energies.PremiumUnleadedGasoline10ppmFOBMEDPlatts: Premium Unleaded Gasoline 10 ppm FOB MED (Platts) Futures (NYMEX: A3G)
  • Futures.Energies.ArgusPropaneFarEastIndex: Argus Propane Far East Index Futures (NYMEX: A7E)
  • Futures.Energies.MontBelvieuNaturalGasolineOPIS: Mont Belvieu Natural Gasoline (OPIS) Futures (NYMEX: A7Q)
  • Futures.Energies.ConwayPropaneOPIS: Conway Propane (OPIS) Futures (NYMEX: A8K)
  • Futures.Energies.ArgusPropaneSaudiAramco: Argus Propane (Saudi Aramco) Futures (NYMEX: A9N)
  • Futures.Energies.GroupThreeULSDPlattsVsNYHarborULSD: Group Three ULSD (Platts) vs. NY Harbor ULSD Futures (NYMEX: AA6)
  • Futures.Energies.GroupThreeSuboctaneGasolinePlattsVsRBOB: Group Three Sub-octane Gasoline (Platts) vs. RBOB Futures (NYMEX: AA8)
  • Futures.Energies.MontBelvieuEthaneOPIS: Mont Belvieu Ethane (OPIS) Futures (NYMEX: AC0)
  • Futures.Energies.MontBelvieuNormalButaneOPIS: Mont Belvieu Normal Butane (OPIS) Futures (NYMEX: AD0)
  • Futures.Energies.BrentCrudeOilVsDubaiCrudeOilPlatts: Brent Crude Oil vs. Dubai Crude Oil (Platts) Futures (NYMEX: ADB)
  • Futures.Energies.ArgusLLSvsWTIArgusTradeMonth: Argus LLS vs. WTI (Argus) Trade Month Futures (NYMEX: AE5)
  • Futures.Energies.SingaporeGasoilPlattsVsLowSulphurGasoilFutures: Singapore Gasoil (Platts) vs. Low Sulphur Gasoil Futures (NYMEX: AGA)
  • Futures.Energies.LosAngelesCARBOBGasolineOPISvsRBOBGasoline: Los Angeles CARBOB Gasoline (OPIS) vs. RBOB Gasoline Futures (NYMEX: AJL)
  • Futures.Energies.LosAngelesJetOPISvsNYHarborULSD: Los Angeles Jet (OPIS) vs. NY Harbor ULSD Futures (NYMEX: AJS)
  • Futures.Energies.LosAngelesCARBDieselOPISvsNYHarborULSD: Los Angeles CARB Diesel (OPIS) vs. NY Harbor ULSD Futures (NYMEX: AKL)
  • Futures.Energies.EuropeanPropaneCIFARAArgus: European Propane CIF ARA (Argus) Futures (NYMEX: APS)
  • Futures.Energies.RBOBGasolineCrackSpread: RBOB Gasoline Crack Spread Futures (NYMEX: ARE)
  • Futures.Energies.MarsArgusVsWTITradeMonth: Mars (Argus) vs. WTI Trade Month Futures (NYMEX: AYV)
  • Futures.Energies.MarsArgusVsWTIFinancial: Mars (Argus) vs. WTI Financial Futures (NYMEX: AYX)
  • Futures.Energies.EthanolT2FOBRdamIncludingDutyPlatts: Ethanol T2 FOB Rdam Including Duty (Platts) Futures (NYMEX: AZ1)
  • Futures.Energies.MontBelvieuLDHPropaneOPIS: Mont Belvieu LDH Propane (OPIS) Futures (NYMEX: B0)
  • Futures.Energies.GasolineEurobobOxyNWEBargesArgus: Gasoline Euro-bob Oxy NWE Barges (Argus) Futures (NYMEX: B7H)
  • Futures.Energies.WTIBrentFinancial: WTI-Brent Financial Futures (NYMEX: BK)
  • Futures.Energies.ThreePointFivePercentFuelOilBargesFOBRdamPlattsCrackSpread1000mt: 3.5% Fuel Oil Barges FOB Rdam (Platts) Crack Spread (1000mt) Futures (NYMEX: BOO)
  • Futures.Energies.BrentLastDayFinancial: Brent Last Day Financial Futures (NYMEX: BZ)
  • Futures.Energies.CrudeOilWTI: Crude Oil Futures (NYMEX: CL)
  • Futures.Energies.GulfCoastCBOBGasolineA2PlattsVsRBOBGasoline: Gulf Coast CBOB Gasoline A2 (Platts) vs. RBOB Gasoline Futures (NYMEX: CRB)
  • Futures.Energies.ClearbrookBakkenSweetCrudeOilMonthlyIndexNetEnergy: Clearbrook Bakken Sweet (NE2) Monthly Index Futures (NYMEX: CSW)
  • Futures.Energies.WTIFinancial: WTI Financial Futures (NYMEX: CSX)
  • Futures.Energies.ChicagoEthanolPlatts: Chicago Ethanol (Platts) Futures (NYMEX: CU)
  • Futures.Energies.SingaporeMogas92UnleadedPlattsBrentCrackSpread: Singapore Mogas 92 Unleaded (Platts) Brent Crack Spread Futures (NYMEX: D1N)
  • Futures.Energies.DubaiCrudeOilPlattsFinancial: Dubai Crude Oil (Platts) Financial Futures (NYMEX: DCB)
  • Futures.Energies.Ethanol: Ethanol Futures (CBOT: EH)
  • Futures.Energies.EuropeanNaphthaPlattsCrackSpread: European Naphtha (Platts) Crack Spread Futures (NYMEX: EN)
  • Futures.Energies.EuropeanPropaneCIFARAArgusVsNaphthaCargoesCIFNWEPlatts: European Propane CIF ARA (Argus) vs. Naphtha Cargoes CIF NWE (Platts) Futures (NYMEX: EPN)
  • Futures.Energies.SingaporeFuelOil380cstPlattsVsEuropeanThreePointFivePercentFuelOilBargesFOBRdamPlatts: Singapore Fuel Oil 380 cst (Platts) vs. European 3.5% Fuel Oil Barges FOB Rdam (Platts) Futures (NYMEX: EVC)
  • Futures.Energies.EastWestGasolineSpreadPlattsArgus: East-West Gasoline Spread (Platts-Argus) Futures (NYMEX: EWG)
  • Futures.Energies.EastWestNaphthaJapanCFvsCargoesCIFNWESpreadPlatts: East-West Naphtha: Japan C&F vs. Cargoes CIF NWE Spread (Platts) Futures (NYMEX: EWN)
  • Futures.Energies.RBOBGasolineVsEurobobOxyNWEBargesArgusThreeHundredFiftyThousandGallons: RBOB Gasoline vs. Euro-bob Oxy NWE Barges (Argus) (350000 gallons) Futures (NYMEX: EXR)
  • Futures.Energies.ThreePointFivePercentFuelOilBargesFOBRdamPlattsCrackSpread: 3.5% Fuel Oil Barges FOB Rdam (Platts) Crack Spread Futures (NYMEX: FO)
  • Futures.Energies.FreightRouteTC14Baltic: Freight Route TC14 (Baltic) Futures (NYMEX: FRC)
  • Futures.Energies.OnePercentFuelOilCargoesFOBNWEPlattsVsThreePointFivePercentFuelOilBargesFOBRdamPlatts: 1% Fuel Oil Cargoes FOB NWE (Platts) vs. 3.5% Fuel Oil Barges FOB Rdam (Platts) Futures (NYMEX: FSS)
  • Futures.Energies.GulfCoastHSFOPlattsVsEuropeanThreePointFivePercentFuelOilBargesFOBRdamPlatts: Gulf Coast HSFO (Platts) vs. European 3.5% Fuel Oil Barges FOB Rdam (Platts) Futures (NYMEX: GCU)
  • Futures.Energies.WTIHoustonCrudeOil: WTI Houston Crude Oil Futures (NYMEX: HCL)
  • Futures.Energies.NaturalGasHenryHubLastDayFinancial: Natural Gas (Henry Hub) Last-day Financial Futures (NYMEX: HH)
  • Futures.Energies.HeatingOil: NY Harbor ULSD Futures (NYMEX: HO)
  • Futures.Energies.NaturalGasHenryHubPenultimateFinancial: Natural Gas (Henry Hub) Penultimate Financial Futures (NYMEX: HP)
  • Futures.Energies.WTIHoustonArgusVsWTITradeMonth: WTI Houston (Argus) vs. WTI Trade Month Futures (NYMEX: HTT)
  • Futures.Energies.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts: Micro Gasoil 0.1% Barges FOB ARA (Platts) Futures (NYMEX: M1B)
  • Futures.Energies.MicroSingaporeFuelOil380CSTPlatts: Micro Singapore Fuel Oil 380CST (Platts) Futures (NYMEX: MAF)
  • Futures.Energies.MicroCrudeOilWTI: Micro WTI Crude Oil Futures (NYMEX: MCL)
  • Futures.Energies.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts: Micro European 3.5% Fuel Oil Barges FOB Rdam (Platts) Futures (NYMEX: MEF)
  • Futures.Energies.NaturalGas: Henry Hub Natural Gas Futures (NYMEX: NG)
  • Futures.Energies.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts: Micro European FOB Rdam Marine Fuel 0.5% Barges (Platts) Futures (NYMEX: R5O)
  • Futures.Energies.Gasoline: RBOB Gasoline Futures (NYMEX: RB)
  • Futures.Energies.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts: Micro Singapore FOB Marine Fuel 0.5% (Platts) Futures (NYMEX: S5O)
  • Futures.Financials.MicroY10TreasuryNote: Micro 10-Year Yield Futures (CBOT: 10Y)
  • Futures.Financials.MicroY2TreasuryBond: Micro 2-Year Yield Futures (CBOT: 2YY)
  • Futures.Financials.MicroY30TreasuryBond: Micro 30-Year Yield Futures (CBOT: 30Y)
  • Futures.Financials.MicroY5TreasuryBond: Micro 5-Year Yield Futures (CBOT: 5YY)
  • Futures.Financials.FiveYearUSDMACSwap: 5-Year USD MAC Swap Futures (CBOT: F1U)
  • Futures.Financials.EuroDollar: Eurodollar Futures (CME: GE)
  • Futures.Financials.UltraTenYearUSTreasuryNote: Ultra 10-Year U.S. Treasury Note Futures (CBOT: TN)
  • Futures.Financials.UltraUSTreasuryBond: Ultra U.S. Treasury Bond Futures (CBOT: UB)
  • Futures.Financials.Y30TreasuryBond: U.S. Treasury Bond Futures (CBOT: ZB)
  • Futures.Financials.Y5TreasuryNote: 5-Year T-Note Futures (CBOT: ZF)
  • Futures.Financials.Y10TreasuryNote: 10-Year T-Note Futures (CBOT: ZN)
  • Futures.Financials.Y2TreasuryNote: 2-Year T-Note Futures (CBOT: ZT)
  • Futures.Forestry.Lumber: Lumber Futures (CME: LBR)
  • Futures.Forestry.RandomLengthLumber: Random Length Lumber Futures (CME: LBS)
  • Futures.Grains.BlackSeaCornFinanciallySettledPlatts: Black Sea Corn Financially Settled (Platts) Futures (CBOT: BCF)
  • Futures.Grains.BlackSeaWheatFinanciallySettledPlatts: Black Sea Wheat Financially Settled (Platts) Futures (CBOT: BWF)
  • Futures.Grains.HRWWheat: KC HRW Wheat Futures (CBOT: KE)
  • Futures.Grains.Corn: Corn Futures (CBOT: ZC)
  • Futures.Grains.SoybeanOil: Soybean Oil Futures (CBOT: ZL)
  • Futures.Grains.SoybeanMeal: Soybean Meal Futures (CBOT: ZM)
  • Futures.Grains.Oats: Oats Futures (CBOT: ZO)
  • Futures.Grains.Soybeans: Soybean Futures (CBOT: ZS)
  • Futures.Grains.SRWWheat: Chicago SRW Wheat Futures (CBOT: ZW)
  • Futures.Indices.BloombergCommodityIndex: Bloomberg Commodity Index Futures (CBOT: AW)
  • Futures.Indices.NASDAQ100BiotechnologyEMini: E-mini Nasdaq-100 Biotechnology Index Futures (CME: BIO)
  • Futures.Indices.FTSEEmergingEmini: E-mini FTSE Emerging Index Futures (CME: EI)
  • Futures.Indices.SP400MidCapEmini: E-mini S&P MidCap 400 Futures (CME: EMD)
  • Futures.Indices.SP500EMini: E-mini S&P 500 Futures (CME: ES)
  • Futures.Indices.SPGSCICommodity: S&P-GSCI Commodity Index Futures (CME: GD)
  • Futures.Indices.USDDenominatedIbovespa: USD-Denominated Ibovespa Index Futures (CME: IBV)
  • Futures.Indices.MicroRussell2000EMini: Micro E-mini Russell 2000 Index Futures (CME: M2K)
  • Futures.Indices.MicroSP500EMini: Micro E-mini Standard and Poor's 500 Stock Price Index Futures (CME: MES)
  • Futures.Indices.MicroNASDAQ100EMini: Micro E-mini Nasdaq-100 Index Futures (CME: MNQ)
  • Futures.Indices.MicroDow30EMini: Micro E-mini Dow Jones Industrial Average Index Futures (CBOT: MYM)
  • Futures.Indices.Nikkei225YenCME: Nikkei/YEN Futures (CME: NIY)
  • Futures.Indices.Nikkei225Dollar: Nikkei/USD Futures (CME: NKD)
  • Futures.Indices.NASDAQ100EMini: E-mini Nasdaq-100 Futures (CME: NQ)
  • Futures.Indices.Russell1000EMini: E-mini Russell 1000 future (CME: RS1)
  • Futures.Indices.Russell2000EMini: E-mini Russell 2000 Index Futures (CME: RTY)
  • Futures.Indices.DowJonesRealEstate: DJRE Futures (CME: RX)
  • Futures.Indices.SP500AnnualDividendIndex: SP500 S&P 500 Annual Dividend Index future (CME: SDA)
  • Futures.Indices.TOPIXYEN: TOPIX JPY Futures (CME: TPY)
  • Futures.Indices.VIX: VIX futures (CFE: VX)
  • Futures.Indices.Dow30EMini: E-mini Dow ($5) Futures (CBOT: YM)
  • Futures.Meats.FeederCattle: Feeder Cattle Futures (CME: GF)
  • Futures.Meats.LeanHogs: Lean Hog Futures (CME: HE)
  • Futures.Meats.LiveCattle: Live Cattle Futures (CME: LE)
  • Futures.Metals.AluminumMWUSTransactionPremiumPlatts25MT: Aluminum MW U.S. Transaction Premium Platts (25MT) Futures (COMEX: AUP)
  • Futures.Metals.AluminiumEuropeanPremiumDutyPaidMetalBulletin: Aluminium European Premium Duty-Paid (Metal Bulletin) Futures (COMEX: EDP)
  • Futures.Metals.Gold: Gold Futures (COMEX: GC)
  • Futures.Metals.Copper: Copper Futures (COMEX: HG)
  • Futures.Metals.USMidwestDomesticHotRolledCoilSteelCRUIndex: U.S. Midwest Domestic Hot-Rolled Coil Steel (CRU) Index Futures (NYMEX: HRC)
  • Futures.Metals.MicroGold: Micro Gold Futures (COMEX: MGC)
  • Futures.Metals.MicroGoldTAS: Micro Gold TAS Futures (COMEX: MGT)
  • Futures.Metals.Palladium: Palladium Futures (NYMEX: PA)
  • Futures.Metals.MicroPalladium: Micro Palladium Futures (NYMEX: PAM)
  • Futures.Metals.Platinum: Platinum Futures (NYMEX: PL)
  • Futures.Metals.Silver: Silver Futures (COMEX: SI)
  • Futures.Metals.MicroSilver: Micro Silver Futures (COMEX: SIL)
  • Futures.Softs.Sugar11: Sugar No. 11 Futures (ICE: SB)
  • Futures.Softs.Sugar11CME: No. 11 Sugar Futures (NYMEX: YO)

Requesting Data

To add US Futures data to your algorithm, call the AddFutureadd_future method. Save a reference to the Future so you can access the data later in your algorithm.

class USFuturesDataAlgorithm(QCAlgorithm):

    def initialize(self) -> None:
        self.set_start_date(2013, 12, 20) 
        self.set_end_date(2014, 2, 20) 
        self.set_cash(1000000) 
        self.universe_settings.asynchronous = True
        future = self.add_future(Futures.metals.gold) 
        future.set_filter(0, 90)
        self.future_symbol = future.symbol
namespace QuantConnect
{
    public class USFuturesDataAlgorithm : QCAlgorithm
    {
        private Symbol _futureSymbol;
        
        public override void Initialize()
        {
            SetStartDate(2013, 12, 20);
            SetEndDate(2014, 2, 20);
            SetCash(1000000);
            UniverseSettings.Asynchronous = True;
            var future = AddFuture(Futures.Metals.Gold);
            future.SetFilter(0, 90);
            _futureSymbol = future.Symbol;
        }
    }
}

For more information about creating Future subscriptions, see Requesting Data or Futures Universes.

Accessing Data

To get the current US Futures data, index the FuturesChainsfutures_chains property of the current Slice with the canonical Futures Symbol. Slice objects deliver unique events to your algorithm as they happen, but the Slice may not contain data for your Future at every time step.

def on_data(self, slice: Slice) -> None:
    chain = slice.futures_chains.get(self.future_symbol)
    if chain:
        for contract in chain:
            self.log(f"{contract.symbol} price at {slice.time}: {contract.last_price}")
public override void OnData(Slice slice)
{
    if (slice.FuturesChains.TryGetValue(_futureSymbol, out var chain))
    {
        foreach (var contract in chain)
        {
            Log($"{contract.Symbol} price at {slice.Time}: {contract.LastPrice}");
        }
    }
}

You can also iterate through all of the FuturesChain objects in the current Slice.

def on_data(self, slice: Slice) -> None:
    for canonical_symbol, chain in slice.futures_chains.items():
        for contract in chain:
            self.log(f"{contract.symbol} price at {slice.time}: {contract.last_price}")
public override void OnData(Slice slice)
{
    foreach (var kvp in slice.FuturesChains)
    {
        var canonicalSymbol = kvp.Key;
        var chain = kvp.Value;
        foreach (var contract in chain)
        {
            Log($"{contract.Symbol} price at {slice.Time}: {contract.LastPrice}");
        }
    }
}

For more information about accessing Futures data, see Handling Data.

Historical Data

You can get historical US Futures data in an algorithm and the Research Environment.

Historical Data In Algorithms

To get historical US Futures data in an algorithm, call the Historyhistory method with the canonical Futures Symbol or a Futures contract Symbol. If there is no data in the period you request, the history result is empty.

# DataFrame objects
contract_history_df = self.history(contract.symbol, 100, Resolution.MINUTE)
continuous_history_df = self.history(self.future_symbol,
    start=self.time - timedelta(days=15), 
    end=self.time, 
    resolution=Resolution.MINUTE, 
    fillForward=False, 
    extendedMarketHours=False,
    dataMappingMode=DataMappingMode.OPEN_INTEREST, 
    dataNormalizationMode=DataNormalizationMode.RAW, 
    contractDepthOffset=0)

# TradeBar objects
contract_history_trade_bars = self.history[TradeBar](contract.symbol, 100, Resolution.MINUTE)
continous_history_trade_bars = self.history[TradeBar](self.future_symbol, 100, Resolution.MINUTE)

# QuoteBar objects
contract_history_quote_bars = self.history[QuoteBar](contract.symbol, 100, Resolution.MINUTE)
continous_history_quote_bars = self.history[QuoteBar](self.future_symbol, 100, Resolution.MINUTE)

# Tick objects
contract_history_ticks = self.history[Tick](self.symbol, timedelta(seconds=10), Resolution.TICK)
continous_history_ticks = self.history[Tick](self.future_symbol, timedelta(seconds=10), Resolution.TICK)
// TradeBar objects
var contractHistoryTradeBars = History(contract.Symbol, 100, Resolution.Minute);
var continuousHistoryTradeBars = History(
    symbols: new[] {_futureSymbol}, 
    start: Time - TimeSpan.FromDays(15),
    end: Time,
    resolution: Resolution.Minute,
    fillForward: False,
    extendedMarketHours: False,
    dataMappingMode: DataMappingMode.OpenInterest,
    dataNormalizationMode: DataNormalizationMode.Raw,
    contractDepthOffset: 0);

// QuoteBar objects
var contractHistoryQuoteBars = History<QuoteBar>(contract.Symbol, 100, Resolution.Minute);
var continuousHistoryQuoteBars = History<QuoteBar>(_futureSymbol, 100, Resolution.Minute);

// Tick objects
var contractHistoryTicks = History<Tick>(contract.Symbol, TimeSpan.FromSeconds(10), Resolution.Tick);
var continuousHistoryTicks = History<Tick>(_futureSymbol, TimeSpan.FromSeconds(10), Resolution.Tick);

For more information about historical data in algorithms, see History Requests. For more information about the price adjustments for continuous contracts, see Continous Contracts.

Historical Data In Research

To get historical US Futures data in the Research Environment for an entire Futures chain, call the FutureHistoryfuture_history method with the canonical Future Symbol.

qb = QuantBook()
future = qb.add_future(Futures.metals.gold) 
future.set_filter(0, 90)
history = qb.future_history(future.symbol, datetime(2020, 6, 1), datetime(2020, 6, 5))

all_history = history.get_all_data()
expiries = history.get_expiry_dates()
var qb = new QuantBook();
var future = qb.AddFuture(Futures.Metals.Gold);
future.SetFilter(0, 90);
var history = qb.FutureHistory(future.Symbol, new DateTime(2020, 6, 1), new DateTime(2020, 6, 5));
    
var contracts = history.SelectMany(x => x.OptionChains.SelectMany(y => y.Value.Contracts.Keys)).Distinct().ToList();
var expiries = contracts.Select(x => x.ID.Date).Distinct().ToList();

To get historical data for a single US Futures contract or the continuous Futures contract, call the Historyhistory method like you would in an algorithm but on the QuantBook object. For more information about historical data in the Research Environment, see Futures.

Example Applications

The US Futures dataset enables you to accurately design Futures strategies. Examples include the following strategies:

  • Buying the Futures contract with the most open interest to reduce slippage and market impact
  • Trading bull calendar spreads to reduce volatility and margin requirements

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: