QuantConnect

US Futures Security Master

Introduction

The US Futures Security Master dataset by QuantConnect provides mapping reference data for the most liquid contracts of the CME Group exchanges, calculated with popular rolling techniques. The data covers 162 root Future contracts, starts in 2012, and is delivered on a daily frequency with a zip file with all the contract mappings. This dataset is created by daily processing of the US historical Future chains.

This dataset, paired the US Futures dataset, supports the following rolling techniques: ForwardPanamaCanal, BackwardsPanamaCanal, and Backwards Ratio. You can set the specific date of rolling to occur on the LastTradingDay, FirstDayMonth, or on the day where the contract with the greatest OpenInterest changes.

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

About the Provider

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.

Getting Started

You don't need any special code to utilize the US Futures Security Master. It automatically loads when you request US Futures data.

Data Summary

The following table describes the dataset properties:

PropertyValue
Start DateJanuary 2012
Asset Coverage162 Liquid Futures
Data DensityRegular
ResolutionDaily

Example Applications

The US Futures Security Master enables you to design strategies harnessing continuous Futures contracts. Examples include the following strategies:

  • Trading cyclical patterns in commodity Futures.
  • Buying gold Futures as an inflation hedge with automatic contract roll overs.
  • Detecting arbitrage opportunities between index Futures and Equities.

Data Point Attributes

The US Futures Security Master dataset provides SymbolChangedEvent objects, which 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)

Key Concept

The US Futures Security Master lets you to construct continuous Futures, allowing the access of normalized historical data of the underlying assets, as well as trading the “lead” Future contracts for those assets.

Continuous Futures refer to sets of rolling lead Future contracts during their actively trading periods. Since Future contracts expire at their maturities, to analyze the historical price of a Future and to apply technical indicators, you need the continuous Future price series.

To access the continuous Future, use the Future's Symbolsymbol property.

future = self.add_future(Futures.Energies.CrudeOilWTI,
    dataNormalizationMode = DataNormalizationMode.BACKWARDS_RATIO,
    dataMappingMode = DataMappingMode.OPEN_INTEREST,
    contractDepthOffset = 0)
self.continuous_contract_symbol = future.symbol
var future = AddFuture(Futures.Energies.CrudeOilWTI,
    dataNormalizationMode: DataNormalizationMode.BackwardsRatio,
    dataMappingMode: DataMappingMode.OpenInterest,
    contractDepthOffset: 0
);
_continuousFutureSymbol = future.Symbol;

The dataNormalizationMode and dataMappingMode arguments makes the transition of the underlying contracts seemless. However, the Future Symbol doesn't map to an underlying Future contract. It works fine to trade within backtests, but could be subjected to friction costs during live trading since the order price could be a normalized price. For more information about this topic, see the Live Trading Considerations section.

Data Normalization Modes

The data normalization mode defines how the price series of two contracts are stitched together when the contract rollovers occur. The DataNormalizatoinMode enumeration has the following members available for continuous contracts:

If you use a data normalization mode that's not in the preceding list, LEAN automatically converts it to DataNormalizationMode.BackwardsRatio.

Data Mapping Modes

The data mapping mode defines when contract rollovers occur. The DataMappingMode enumeration has the following members:

Tracking Contract Changes

As the contracts roll over, the Mappedmapped property of the Future object references the next contract in the series and you receive a SymbolChangedEvent. To get the current Symbol change events, index the SymbolChangedEventssymbol_changed_events property of the current Slice with the continuous 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. To avoid issues, check if the Slice contains the data you want before you index it.

def on_data(self, slice: Slice) -> None:
    changed_event = slice.symbol_changed_events.get(self.continuous_future_symbol)
    if changed_event:
        old_symbol = changed_event.old_symbol
        new_symbol = changed_event.new_symbol
        tag = f"Rollover - Symbol changed at {self.time}: {old_symbol} -> {new_symbol}"
        quantity = self.portfolio[old_symbol].quantity

        # Rolling over: to liquidate any position of the old mapped contract and switch to the newly mapped contract
        self.liquidate(old_symbol, tag = tag)
        if quantity != 0: self.market_order(new_symbol, quantity, tag = tag)
        self.log(tag)
public override void OnData(Slice slice)
{
    if (slice.SymbolChangedEvents.TryGetValue(_continuousFutureSymbol, out var changedEvent))
    {
        var oldSymbol = changedEvent.OldSymbol;
        var newSymbol = changedEvent.NewSymbol;
        var tag = $"Rollover - Symbol changed at {Time}: {oldSymbol} -> {newSymbol}";
        var quantity = Portfolio[oldSymbol].Quantity;
        // Rolling over: to liquidate any position of the old mapped contract and switch to the newly mapped contract
        Liquidate(oldSymbol, tag: tag);
        if (quantity != 0) MarketOrder(newSymbol, quantity, tag: tag);
        Log(tag);
    }
}

SymbolChangedEvent objects have the following attributes:

Live Trading Considerations

You can trade continuous Futures, but the continuous Future Symbol doesn't map to a single underlying Future contract. Instead, it represents a set of rolling contracts. Thus, the prices could be frictional during a contract rollover, which could be catastrophic in live trading! For live trading, you should place your orders directly on the underlying contracts. To get the current underlying contract in the continuous Future series, use the Mappedmapped property.

current_contract = self.continuous_contract.mapped
self.buy(current_contract, 1)
var currentContract = _continuousContract.Mapped;
Buy(currentContract, 1);

Data Format

If you download the files in the US Futures Security Master, you get a factor file and a map file for each of the exchanges with supported continuous Futures. To view the files, see the \data\future\<exchange_name> directory under your LEAN CLI base directory.

For the factor file, it is a .zip collection of REST API styled .csv files for each Future Symbol, including the date, scaling factors for each type of data normalization and the data mapping mode that indicates the Symbol changing event is on that day for that mapping mode. The following line is an example line in the .csv file:

{"Date":"2009-10-31T00:00:00","BackwardsRatioScale":[0.9914163090128755364806866953,1.0,1.0],"BackwardsPanamaCanalScale":[-2.0,0.0,0.0],"ForwardPanamaCanalScale":[0.0,0.0,0.0],"DataMappingMode":1}

For the map file, it is a .zip collection of .csv files for each Future Symbol, including the date, new underlying contract Symbol, the exchange code, and the data mapping mode that indicates the Symbol changing event is on that day for that mapping mode. The following line is an example line in the .csv file:

20091130,aw uii3j0m6zbj9,CBOT,1

Example Applications

The US Futures Security Master enables you to design strategies harnessing continuous Futures contracts. Examples include the following strategies:

  • Trading cyclical patterns in commodity Futures.
  • Buying gold Futures as an inflation hedge with automatic contract roll overs.
  • Detecting arbitrage opportunities between index Futures and Equities.

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: