NexusFi: Find Your Edge


Home Menu

 



Backtesting Data Requirements for Futures Trading: What You Need, What Can Go Wrong, and How to Build a Research-Ready Dataset

Looking for DTN IQFeed pricing, features, reviews, and community ratings? Visit the directory listing.
DTN IQFeed Directory →
Looking for NinjaTrader pricing, features, reviews, and community ratings? Visit the directory listing.
NinjaTrader Directory →

Bar chart showing Sharpe ratio varying from 0.35 to 1.62 across data frequencies: tick, 1-min, 5-min, 15-min, 60-min, and daily bars
Same momentum strategy, same signal logic — Sharpe ratio swings from 0.35 (tick noise) to 1.62 (5-min bars) to 0.62 (daily). Data frequency selection is a form of parameter optimization.

Overview

Your backtest is only as good as the data feeding it. Full stop. You can have the most elegant strategy logic ever conceived, the cleanest code, the most sophisticated execution model — and none of it matters if your underlying data is compromised. Bad data doesn't just produce bad results. It produces convincing bad results. It shows you an equity curve that looks tradeable, that passes your statistical tests, that survives your walk-forward-analysis">walk-forward windows — and then falls apart the moment real money hits the wire.

This isn't hypothetical. Every experienced systematic trader has a story about the strategy that looked spectacular in testing and cratered live. In most cases, the culprit wasn't the strategy logic. It was the data. A botched contract roll that injected phantom profits. A settlement price used as an entry signal when it wasn't available until after the close. An overnight session excluded from the dataset, hiding the exact moves the strategy was supposed to capture.

Futures data has unique problems that equity traders never face. Contracts expire. Liquidity migrates between months. Exchanges have different holiday calendars. Settlement prices are calculated, not traded. Roll gaps can dwarf the actual edge you're trying to capture. If you don't address these problems systematically before you start testing, you're not backtesting — you're storytelling with numbers.

This article covers the data requirements you need to get right before your backtest means anything. Not the strategy. Not the execution engine. Not the risk framework. Just the data — because if the foundation is wrong, everything built on top of it is fiction.

Data Resolution: Matching Granularity to Strategy #

The first decision is what resolution your data needs to be. This isn't just a storage question — it directly determines what your backtest can and cannot model realistically.

Daily bars work for longer-horizon trend-following or swing strategies where entry/exit timing is measured in days. If you're entering on the next day's open after a signal fires on today's close, daily OHLCV data captures everything you need. The tradeoff: you can't model intraday behavior, and slippage estimates are rough approximations.

Intraday bars (1-minute, 5-minute, 15-minute) are the workhorse for most systematic futures strategies. They let you model entry timing, intraday volatility patterns, and session dynamics. One-minute bars are sufficient for most strategies that don't require sub-minute precision. The critical detail: make sure your bars are constructed from trade data, not synthesized from quote snapshots, and verify whether your vendor constructs bars using session boundaries or UTC midnight boundaries. That difference matters.

Tick data is necessary when you're testing execution-sensitive strategies, modeling limit order fill probability, or analyzing microstructure effects. For ES futures alone, you're looking at roughly 500,000 to 2 million ticks per day during active sessions. Storage adds up fast — a year of tick data for a single liquid contract can exceed 10 GB compressed. But here's the thing: if your strategy's edge depends on execution quality, you need tick-level data to know whether that edge is real.

“The issue is whether you get the data as provided by the exchange, or whether the provider bundles the tick stream data into chunks and sends that to you.”

If your backtest assumes every tick is a discrete trade, but your data vendor is bundling 5-10 updates into a single "tick," your fill assumptions are wrong from the start.

Quote/bid-ask data is the gold standard for modeling execution realism. If your strategy uses limit orders, you need bid-ask data to model queue position and fill probability. Without it, you're assuming every limit order fills — an assumption that can make a losing strategy look wildly profitable.

ResolutionBest ForStorage (1 yr, 1 contract)Key Risk
DailyTrend-following, swing (multi-day holds)~10 KBCan't model intraday behavior or realistic slippage
Intraday (1-min)Most systematic strategies, session dynamics~50-200 MBVerify bar construction: trade-based vs quote snapshots, session vs UTC boundaries
TickExecution-sensitive strategies, microstructure~10+ GB compressedVendor may bundle ticks, distorting fill assumptions
Quote / Bid-AskLimit order modeling, queue position analysis~20+ GB compressedWithout it, backtests assume 100% limit order fills

The rule of thumb: use the lowest resolution that captures the dynamics your strategy depends on. Don't use tick data for a weekly trend-following system. Don't use daily bars for a scalping system. Match the data to the strategy.

Futures Contract Roll Timing Decision Matrix: Safe vs Danger zones by days before expiry
Roll timing windows for ES/NQ/CL front-month contracts -- rolling 21-15 days out minimizes gap artifacts; rolling within 4 days of expiry produces unrealistic fills and guaranteed bias.

Continuous Contracts: The Futures-Specific Foundation Problem #

This is the single most important data construction issue in futures backtesting, and it's one that equity traders never encounter. Futures contracts expire. When the June ES contract stops trading, you need to splice it together with the September ES contract to create a continuous price series. How you do that splice determines whether your backtest results mean anything.

There are three common approaches, and each has failure modes:

Unadjusted continuous series simply chain the front-month contracts together, creating price gaps at every roll. These gaps are real — they reflect the basis between contract months — but they wreak havoc on trend-following signals and any indicator that uses historical price levels. A 10-point roll gap in ES can trigger a false breakout signal, generate a phantom profit, or misstate a drawdown.

Difference-adjusted (Panama Canal) series shift all historical prices by the roll gap amount, preserving point-for-point price changes but distorting historical price levels. Support and resistance levels become fiction. Percentage-based calculations break down because the absolute price levels are artificial.

“The continuous contract follows real commodity prices, the merged backadjusted contract shows the value of the assets of a long only oil fund — the levels of support and resistance over a longer time period will be false.”

Ratio-adjusted series multiply historical prices by the ratio between the old and new contract, preserving percentage returns while distorting absolute levels. These are generally better for backtesting strategies that use percentage-based signals (momentum, mean-reversion), but they can produce negative prices for commodities that have experienced large secular declines.

The critical point: your roll methodology must match your strategy logic. If your strategy trades absolute price levels, ratio adjustment distorts them. If it trades returns, difference adjustment is fine. If it trades spreads between contracts, you may need the raw unadjusted data for each individual contract month. @kevinkdog highlighted this on NexusFi, noting that for spread trading you'd want unadjusted continuous contracts, while for individual contract testing you need back-adjusted data to avoid incorrect results from rollover gaps [3].

Roll timing matters too. When do you roll — on a fixed calendar date, when volume shifts to the next month, or when open interest crosses? Different vendors use different conventions, and some have changed their methodology mid-history without clear documentation. @FuturesTrader71 pointed out on NexusFi that even the same data through different platforms can produce different continuous series depending on the roll convention used [4]. If your vendor's roll date doesn't match when you would actually roll in live trading, your backtest is executing trades on prices that don't reflect when you'd realistically be positioned.

Warning

A roll gap of 15+ points in ES can trigger false breakout signals, generate phantom profits, and misstate drawdowns by hundreds of dollars per contract. Always verify that your strategy signals don't cluster around roll dates — this single check can invalidate months of backtesting work.

Validation step: Before you trust any continuous series, plot the raw individual contracts alongside the continuous contract around roll dates. Check that the adjustment is consistent. Verify that your strategy signals don't fire specifically because of roll artifacts. This takes 30 minutes and can save you months of false confidence.

Data Resolution vs Strategy Type comparison table
Matching data granularity to strategy type -- tick data for execution-sensitive strategies, daily bars for trend-following.
Look-Ahead Bias Data Availability Timeline: When Data Points Become Available vs When Signals Fire
Timeline showing when key data points actually become available versus when backtests assume they are known.

Look-Ahead Bias: The Quiet Destroyer #

Look-ahead bias means using information in your backtest that wasn't available at the time the trade decision was made. In futures, this takes several insidious forms.

Tip

Settlement Price Timing Settlement price for the ES closes at 4:15 PM ET — 15 minutes after the equity market close. If your backtest uses settlement as a signal for 4:00 PM entries, you have look-ahead bias. Use last-traded prices at signal time. Treat settlement as confirmed only after 4:20 PM ET.

Settlement price bias is the most common. The daily settlement price for futures is calculated by the exchange after the close, often using a complex formula that considers trades, bids, and offers in the closing period. CME Group's own settlement documentation confirms that settlement is "an official CME Group price established for the instrument at a given point in the trading day" determined by exchange staff using defined methodologies for each asset class — and critically, the final settlement is not even published until between 5:30 p.m. and 9:30 p.m. CT, well after the session ends [16]. It's not the last traded price — it's a synthetic value. If your strategy generates a signal based on "today's close" and you execute on the next bar, using the settlement price as the signal is technically look-ahead bias. The settlement wasn't known when trading ended. The last traded price was. The difference is usually small for liquid contracts, but for illiquid contracts or during volatile closes, it can be material.

Key Insight

The daily settlement price is NOT available until after the close. It is a synthetic value calculated by the exchange using trades, bids, and offers from the closing period — not the last traded price. If your signal fires on "today's close," verify which value your data provides. Using settlement as a real-time signal is look-ahead bias.

Roll mapping bias occurs when your continuous contract construction uses information about when the roll actually happened. If your continuous series is built after the fact, it "knows" the exact roll date. But in live trading, you don't know the exact day liquidity will shift — you're making a real-time judgment. This is subtle but can affect strategies that are sensitive to the few days around roll transitions.

End-of-day feature bias happens when your strategy uses features computed over the full trading session — like a session VWAP or a volume-weighted price — but generates signals before the session ends. In live trading, you don't know the session VWAP until the session is over. In a backtest using daily bar data, that value is available in the data record. If your strategy's intraday logic depends on full-session statistics, you have a leak.

The defense against look-ahead bias is simple in principle and requires discipline in practice: for every data point your strategy uses, verify that it was available at the time the signal fired. Not available in the dataset — available in real time. Settlement prices aren't available during the session. Next-month contract prices aren't available before the roll. The session high isn't available until the session ends.

Continuous Contract Construction Methods: Unadjusted, Difference-Adjusted, and Ratio-Adjusted
Three approaches to building continuous futures series, each with distinct failure modes for different strategy types.
Survivorship Bias Impact on Strategy Equity Curve: Including vs Excluding Illiquid Contracts
Including illiquid and delisted contracts reveals the true performance profile that survivorship-biased data conceals.

Survivorship Bias in Futures #

Survivorship bias in futures is different from equities, but it's still real. In equities, survivorship bias means excluding companies that went bankrupt. In futures, it typically means:

Testing only currently liquid contracts. If you're backtesting a multi-commodity trend-following system, and you only include contracts that are currently liquid and actively traded, you're excluding the ones that became illiquid, stopped trading, or whose contract specs changed. This biases your results toward instruments that "survived" — the ones where your strategy would have had good data and good fills.

Ignoring contract months that expired during adverse conditions. Some strategies show great results on front-month data that rolls cleanly, but the specific contract months they would have held during drawdowns are excluded from the continuous series because of how the roll was handled.

The fix: include all contract months in your data, even the illiquid back months, even the ones with gaps and thin trading. If your strategy would have been positioned in those contracts during certain periods, your backtest needs to reflect that reality.

Data Biases That Invalidate Backtests: Look-Ahead, Survivorship, and Data Snooping
The three categories of bias that silently corrupt backtest results -- each requires a different structural defense.
Bar chart showing Sharpe ratio varying from 0.35 to 1.62 across data frequencies: tick, 1-min, 5-min, 15-min, 60-min, and daily bars
Same momentum strategy, same signal logic - Sharpe ratio swings from 0.35 (tick noise) to 1.62 (5-min bars) to 0.62 (daily). Data frequency selection is a form of parameter optimization.

Data Snooping and Overfitting: When Your Data Lies By Telling You What You Want to Hear #

Data snooping isn't strictly a data quality issue — it's a data usage issue. But it belongs in this article because the way you structure your data directly determines whether overfitting is possible.

The core problem: if you test 100 parameter combinations on the same dataset, roughly 5 of them will appear statistically significant at the 95% confidence level purely by chance. Harvey, Liu, and Zhu formalized this in their landmark 2016 study in the Review of Financial Studies, arguing that given extensive data mining across hundreds of published factors, a new finding needs a t-statistic greater than 3.0 — not the traditional 1.96 — to clear the significance bar. Their conclusion was blunt: "most claimed research findings in financial economics are likely false" [17]. That's not a flaw in your strategy — it's how probability works.

“regardless of the back test period length, there is noise in the data, and that noise plus real price behavior can produce strategies that look amazing in hindsight”

The defense is structural, not statistical. You don't solve overfitting by running more tests on the same data. You solve it by partitioning your data:

In-sample data is where you develop and improve your strategy. This is your training set. You're allowed to look at results, tweak parameters, and iterate.

Out-of-sample data is data your strategy has never seen during development. You run it exactly once, with final parameters, and the result is your reality check. If it degrades much from in-sample results, you've likely overfit.

Walk-forward analysis extends this by rolling the in-sample/out-of-sample windows forward through time. You improve on a window, test on the next period, then shift forward and repeat. This is the closest thing to simulating how a live strategy would be maintained.

“out of sample data is critical for a meaningful backtest, yet most traders don't do it”
“There are all kinds of things to try to prevent curve-fitting — walk forward testing, out of sample testing. They may help but all of them cannot avoid curve-fitting entirely”

The honest truth is that overfitting can never be fully eliminated — only managed.

The data architecture implication: your dataset must be large enough to support meaningful partitioning. If you have 2 years of data and use 18 months for in-sample and 6 months for out-of-sample, that 6-month window might represent only one market regime. You need enough data to cover multiple regimes in both your in-sample and out-of-sample periods.

Sample Size Requirements by Strategy Type bar chart
Minimum data requirements scale with strategy frequency -- intraday needs 2+ years, daily needs 10+ years across multiple regimes.

Sample Size: How Much Data Is Enough? #

There's no universal answer to this, and anyone who gives you a single number is oversimplifying. But there are useful frameworks.

Trade count alone is insufficient. Fifty trades that all occurred during a single trending market don't tell you how the strategy performs in a range-bound environment. Two hundred trades spread across trending, ranging, high-volatility, and low-volatility periods are far more informative. The key metric isn't number of trades — it's number of independent market environments your data covers.

Practical benchmarks based on community experience and statistical reasoning:

For intraday strategies on liquid contracts (ES, NQ, CL), you want at minimum 1-2 years of data to capture seasonal patterns and a reasonable range of volatility regimes.

“a few months are mostly just random. It's not until you get 2-4 years worth of data that you can really make strong conclusions”

For daily-frequency strategies, aim for 10+ years to capture multiple bull/bear cycles, rate-hike cycles, and crisis events. @Fat Tails provided detailed analysis showing that 1 week of 5-minute ES data produces only about 1,395 bars — nowhere near enough for strong statistical conclusions [9].

@FuturesTrader71 uses a practical threshold of 50 samples minimum to begin trusting a pattern, but emphasizes that starting from 3,000 sessions and ending with only 8-25 qualifying instances means "the sample is too small" for hard money decisions [10]. @Deetee pressed this further, asking about FT71's recommendation of 250+ samples as sufficient — a reasonable floor for strategies that trade frequently enough to accumulate that many observations across diverse conditions [11].

Key Takeaway

Intraday strategies (ES, NQ, CL): Minimum 2 years to capture seasonal patterns and volatility regimes. Daily-frequency strategies: 10+ years to cover multiple bull/bear cycles and crisis events. Minimum trade count: 250+ observations across diverse market conditions — 50 is a starting floor, not a finish line. Regime coverage: 3-5 distinct market environments (trending, ranging, high-vol, low-vol, crisis).

The regime requirement: your data must include at least 3-5 distinct market regimes. A strategy tested only on 2017-2019 data (low-vol grind higher) will face a rude awakening when it encounters March 2020 conditions. Similarly, a strategy developed during the post-COVID volatility regime may underperform in quieter markets. @Big Mike's "Educated by Randomness" experiments demonstrated that testing across different instrument sizes and historical data lengths produces materially different results [12].

Cross-instrument validation: testing your strategy across 3-5 related but distinct contracts (e.g., ES, NQ, YM for index futures, or CL, NG, HO for energy) provides evidence that your edge isn't an artifact of one instrument's specific behavior. If the strategy only works on ES and fails on NQ, that's a red flag for overfitting.

Statistical significance requires serial-correlation-aware methods. Futures returns are not independent and identically distributed. Standard t-tests overstate significance. Use block bootstrap, Newey-West adjusted inference, or walk-forward validation to get honest confidence intervals.

Walk-Forward Analysis Data Partitioning timeline diagram
Walk-forward analysis rolls the optimization window forward through time, the closest simulation of live strategy maintenance.

Futures-Specific Data Quality Issues #

Beyond the conceptual biases, futures data has specific quality problems that can silently corrupt your results.

Contract roll gaps are the biggest source of false signals. A 15-point gap in ES when rolling from June to September isn't a price movement — it's a basis difference. But trend-following indicators don't know that. A moving average crossover can fire purely because of a roll gap. A breakout signal can trigger on an artificial price level. Always verify that your indicators are calculated on properly adjusted data, and check whether signals cluster around roll dates.

Settlement versus last-traded prices diverge most during volatile closes and for illiquid contracts. Some data vendors provide settlement as the "close" field without clearly labeling it. If your strategy enters on the next session's open based on "today's close," verify which close you're using. For liquid contracts like ES, the difference is usually pennies. For grains, metals, or back-month contracts, it can be significant.

Thin market distortion affects back-month contracts, less-liquid commodities, and the overnight session of even liquid contracts. In thin markets, the last traded price can be stale by hours. Wide bid-ask spreads make fill assumptions unrealistic. A strategy that backtests profitably on daily bars of a thinly-traded spread may be completely untradeable in practice because the spread data doesn't reflect the execution costs.

Holiday and session calendar misalignment across exchanges creates data gaps that can look like price movements. CME closes for US holidays while Eurex trades normally. ICE has different energy product schedules. If your strategy trades across markets, misaligned calendars produce false correlation readings and phantom signals during periods when one market is closed and another is open.

After-hours and overnight session handling is critical for futures. Unlike equities, most futures trade nearly 24 hours. But "nearly" matters — there are daily maintenance windows, session breaks, and periods of extremely thin liquidity. Some vendors truncate data to regular trading hours (RTH). If your strategy depends on overnight moves, gaps, or Asia-session activity, make sure your data includes the full electronic session (ETH). If it doesn't care about overnight activity, explicitly exclude it — but make sure you know which choice your data reflects.

Timestamp and timezone inconsistencies are more common than you'd expect. Some vendors provide timestamps in exchange local time, others in UTC, others in US Eastern. Daylight savings time transitions create off-by-one-hour errors twice a year. If you're merging data from multiple sources — say, combining ES data from one vendor with VIX data from another — verify that their timestamps actually align.

Limit-up and limit-down events produce flat lines in your data where the market was locked at the limit price. Your backtest needs rules for these periods — you can't assume you would have gotten a fill at the limit price when the market is locked. These events are rare for liquid contracts but occur regularly in agricultural and some energy futures.

Futures-Specific Data Quality Issues severity checklist
Seven data quality problems unique to futures that can silently corrupt backtest results.

Choosing and Validating Your Data Vendor #

Not all data is created equal. Vendor methodology can materially change your backtest results.

Key dimensions to evaluate:

Roll conventions: Does the vendor use calendar-based rolls, volume-based rolls, or open interest-based rolls? Can you get raw individual contract data to construct your own continuous series? Is the roll mapping available "as-of" (showing what was known at each historical point), or is it built retroactively? Portara's detailed documentation on continuous futures data construction illustrates just how many decisions go into building a single continuous series — from choosing between zero, back, forward, and ratio adjustment methods to handling delivery month selection, session time boundaries, and exchange-specific roll conventions [18].

Coverage of expired contracts: Does the vendor retain data for all historical contract months, or only currently active ones? If they prune expired contracts, you'll have survivorship bias built into your dataset.

Tick and quote completeness: How deep is the order book data? Are quote-only periods (where no trades occurred) represented? How does the vendor handle crossed quotes or outlier ticks?

Cleaning transparency: Does the vendor document their data cleaning methodology? Are outlier ticks removed? Is missing data forward-filled or flagged? Silent cleaning can distort volatility estimates and tail behavior.

Timestamp granularity: Millisecond? Microsecond? Exchange-assigned or vendor-received? For intraday strategies, the difference between exchange time and vendor-received time can affect signal timing.

As @1LotTrader demonstrated in a detailed NexusFi comparison of CQG versus IQFeed data feeds, even widely-used professional data sources can produce different results for the same instrument when compared tick-by-tick [13]. The takeaway: don't assume your vendor's data is correct. Validate it against exchange reference data or a second independent source, at least for critical periods.

@Eubie noted on NexusFi that IQFeed provides good historical tick data but only 180 days back, and that Polygon.io doesn't currently offer futures data despite promises [14]. @Fi compiled a thorough reference showing that for longer-term data (15+ years), options like PortaraCQG and DTN offer the deepest historical coverage [15]. Your vendor choice depends heavily on how far back your strategy needs to look.

Practical validation checklist:

  1. Plot raw individual contracts around roll dates and verify the continuous series matches your expectations
  2. Compare your vendor's settlement prices against exchange-published settlements for a sample of dates
  3. Check for missing bars during known trading sessions — especially around holidays and market events
  4. Verify timestamp alignment by cross-referencing a known event (like an FOMC announcement) with its actual timestamp
  5. Test for stale prices by checking trade timestamps during overnight sessions — if the last trade is 3 hours old and the data still shows it as the current price, your fill assumptions need adjustment
Pre-Backtest Data Audit: 5 gates your dataset must pass before the first iteration
Five mandatory validation gates -- Completeness, Consistency, Accuracy, Metadata, and Partition Readiness -- that every futures dataset must clear before any backtest results can be trusted.
Data Vendor Evaluation Checklist with 7 key criteria
Key dimensions for evaluating futures data vendors -- roll conventions, expired contract coverage, and timestamp granularity matter most.

Building a Research-Ready Dataset: The Checklist #

Before you run a single backtest, your dataset should pass these gates:

Completeness: Does your data cover the full time period you need, including all contract months, all sessions (RTH and ETH if needed), and all instruments you'll test?

Consistency: Are timestamps in a uniform timezone? Are price fields consistently using the same convention (trade, bid, ask, settlement)? Are roll adjustments applied uniformly throughout the history?

Accuracy: Have you verified prices against exchange reference data for a sample of dates? Have you checked for obvious errors — duplicate timestamps, out-of-range prices, zero-volume bars during active sessions?

Completeness of metadata: Do you have contract specifications (tick size, multiplier, margin) for each contract month? Do you have exchange holiday calendars? Do you have session time definitions?

Partition readiness: Is the data structured so you can cleanly separate in-sample and out-of-sample periods without leakage? Can you reconstruct the roll mapping as it was known at each historical point?

If your data passes all five gates, you have a research-ready dataset. If any gate fails, fix it before testing. Running a strategy on a compromised dataset doesn't give you bad results — it gives you misleading results, and that's worse.

Building a Research-Ready Dataset: Five validation gates
Five gates your dataset must pass before a single backtest is worth running.

Where Data Ends and Methodology Begins #

This article covers what your data needs to be. It doesn't cover what to do with it — that's strategy development, backtesting methodology, and risk management. The boundary is clear: if it's about what the data must be and how it must be transformed to avoid leakage or misrepresentation, it belongs here. If it's about how to trade, improve, execute, or manage risk — and the gap between backtest and live performance is where most of those lessons get learned, it belongs in the strategy and execution articles.

Your data is the foundation. Get it right, and your backtest results mean something. Get it wrong, and you're building on sand — and the collapse comes exactly when you can least afford it, with real money at stake.

See Also

Equity curve comparison showing zero slippage vs realistic slippage vs conservative slippage assumptions on ES scalping strategy
Same strategy, three slippage assumptions: zero slippage shows +5k, realistic 1.5-tick slippage shows -k, conservative 3-tick shows -0k. The 5k swing exists entirely in the data assumptions.
Settlement Price vs Last-Traded Price Divergence During Volatile ES Close
Settlement and last-traded prices can diverge significantly during volatile closes -- using the wrong one introduces look-ahead bias.

Citations

  1. @bobwestDoes NT7 have actual tick data or averaged data on Continuum (2015) 👍 2
    “The issue is whether you get the data as provided by the exchange, or whether the provider bundles the tick stream data into chunks and sends that to you.”
  2. @Fat Tailscontinuous contract in NT7 /merge policy / rollover (2011) 👍 31
    “The continuous contract follows real commodity prices, the merged backadjusted contract shows the value of the assets of a long only oil fund... the levels of support and resistance over a longer time period will be false.”
  3. @kevinkdogBackadjust futures contracts for spread trading backtesting (2023) 👍 3
    “For spread trading you would use the unadjusted continuous contract. What you actually trade should be backadjusted.”
  4. @FuturesTrader71Back-adjusted, Continuous contracts - best for support and resistance? (2012) 👍 7
    “If you are using DTN IQFeed, to get the continuous, back-adjusted data for roll-over, you would have to use @ES#C.”
  5. @kevinkdogSustained success with an algo (2022) 👍 3
    “Regardless of the back test period length, there is noise in the data, and that noise plus real price behavior can produce strategies that look amazing in hindsight.”
  6. @Big MikeDoes backtesting work? (2011) 👍 2
    “Out of sample data is critical for a meaningful backtest, yet most traders don't do it.”
  7. @FGBL07Common sense trading decisions (2011) 👍 6
    “There are all kinds of things to try to prevent curve-fitting e.g. walk forward testing, out of sample testing. They may help but all of them cannot avoid curve-fitting.”
  8. @SpeculatorSethHow quickly do algos go bad? (2021) 👍 5
    “A few months are mostly just random. It's not until you get 2-4 years worth of data that you can really make strong conclusions.”
  9. @Fat TailsHow much data is needed? (2010)
    “1 week of 5 min data of ES would be 1395 bars. If the strategy makes 3 trades per day and you have two years of intraday data...”
  10. @FuturesTrader71Webinar: FuturesTrader71 on Statistical Analysis for a Broader Edge (2021) 👍 2
    “Starting from 3000 sessions and ending up with data for 8-25 sessions means the sample is too small for hard money decisions.”
  11. @DeeteeWebinar: FuturesTrader71 on Statistical Analysis for a Broader Edge (2021)
    “I have a question about sample sizes. In the webinar you state that >250 samples are sufficient.”
  12. @Big MikeEducated By Randomness (2011)
    “I also decided to test using different instrument sizes and amount of historical data tested.”
  13. @1LotTraderAnalysis and comparison on different data Feeds and Platforms for Bid/Ask Studies (2011) 👍 6
    “CQG comparison to verify the Ninja CQG feed against the actual CQG data.”
  14. @EubieHistorical Tick Data (2024) 👍 2
    “IQFeed has good historical tick data, though only 180 days back. Polygon doesn't offer futures as of yet.”
  15. @FiNQ, ES and CL 1-min DATA for the past 15 years anyone? (2025)
    “For longer-term data: PortaraCQG with NQ data going back to 1999. For TICK breadth data, DTN offers the deepest history.”
  16. Settlement Prices - CME Group Client Systems Wiki (2025)
  17. ...and the Cross-Section of Expected Returns (2016)
  18. How To Create Continuous Futures Data (2022)

Help Improve This Article

NexusFi Elite Members can help keep Academy articles accurate and comprehensive.

Unlock the Full NexusFi Academy

715 in-depth articles across 17 categories — written by traders, backed by community research. Includes knowledge maps, citations with community excerpts, and the ability to help improve articles.

We add approximately 302 new Academy articles every month and update approximately 607 with fresh content to keep them highly relevant.

Strategies (78)
  • Volume Profile Trading
  • Order Flow Analysis
  • plus 76 more
Market Structure (38)
  • Initial Balance: The First Hour That Defines Your Entire Trading Day
  • Opening Range: Why the First 15 Minutes Define Your Entire Trading Session
  • plus 36 more
Concepts (38)
  • Futures Order Types: Market, Limit, Stop, and Conditional Orders
  • Renko Charts and Range Bars for Futures Trading: The Complete Guide
  • plus 36 more
Exchanges (38)
  • Futures Exchanges: Understanding Where and How Futures Trade
  • plus 36 more
Indicators (47)
  • Delta Analysis & Cumulative Volume Delta (CVD)
  • Market Internals: Reading the Broad Market to Trade Index Futures
  • plus 45 more
Instruments (39)
  • Micro E-mini Futures (MES, MNQ, MYM, M2K): The Complete Guide to CME Fractional-Sized Contracts
  • E-mini Nasdaq-100 (NQ) Futures: The Complete Trading Guide
  • plus 37 more
+ 11 More Categories
715 articles total across 17 categories
Risk Management (38) • Automation (38) • Data (38) • Prop Firms (38) • Platforms (52) • Psychology (39) • Brokers (40) • Prediction Markets (39) • Regulation (38) • Cryptocurrency (39) • Infrastructure (38)
Become an Elite Member


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top