Skip to main content
Your backtests run on real, institutional-grade market data — the same kind of price history professional desks use — refreshed every day. It arrives as back-adjusted continuous contracts, so you can test an idea across years without the price jumps that contract rolls would otherwise leave behind.
Past performance does not guarantee future results. Always test before you trade.

What you’re testing on

Real, institutional-grade data

Price history comes from an institutional-grade data vendor — not synthetic or AI-generated numbers. It covers CME Group futures: CME, CBOT, NYMEX, and COMEX.

Refreshed daily

A vendor feed updates the data once a day, so each market carries history up through the most recent completed trading day.

Continuous contracts

Individual futures expire every few months. We stitch them into one continuous, back-adjusted series per market so your chart runs unbroken across years.

Minute to daily

The same history is available at 1-minute, 5-minute, and daily resolution — see timeframes, bars & sessions.

Back-adjusted continuous contracts

A single futures contract only lives for a few months before it expires and trading moves to the next one. If you simply pasted those contracts end to end, your chart would show a price gap at every roll — and a backtest would book phantom profits or losses crossing each one. Instead, the data is back-adjusted: the older history is shifted so the price lines up smoothly across each roll, giving you one continuous series per market.
Because earlier prices are shifted to remove roll gaps, the historical levels on a continuous contract won’t exactly match what printed live years ago. The moves — the percentage and point changes your rules react to — are preserved, which is what matters for testing a strategy. AskFutures handles the stitching for you; you just name the market.

”Now” is the latest market-data date

When you ask for a relative period — “the last year,” “the past six months,” “year to date” — AskFutures anchors it to the latest market-data date: the most recent completed day in the feed. That date acts as “now.” Two things follow from that:
  • A relative window like “last 1 year” always ends at the freshest data, so as the daily feed advances, re-running the same request can pull in newer bars.
  • For a fixed, repeatable window, give explicit dates (e.g. “Jan 2021 to Dec 2023”) instead of a relative phrase.
Every backtest reports the exact date window it covered. If you want a result you can reproduce bar-for-bar later, pin the period to specific dates — see sessions, versions & artifacts.

More than price — macro & positioning data

Strategies aren’t limited to OHLCV bars. Your rules can also read supporting datasets that the engine keeps alongside the price history:
Weekly positioning from the COT report — commercial net, managed-money net, open interest, and more — referenced as a weekly series. Micro contracts map to their full-size COT series (for example, MES uses ES). Use it as a bias or confirmation filter, e.g. “buy ES only when commercials are net long.”
Macro/economic series you can fold into a strategy’s conditions to gate entries on the broader backdrop.
Tick size, tick value, point value, trading hours, and session times come from the reference data — so dollar stops, point targets, and end-of-day exits are computed with each market’s real specs. See futures & symbols.

What this means for you

Test across years, gap-free

Continuous contracts let you backtest a single market over many years without roll distortions.

Always current

The daily refresh means “the last year” tracks the market as it moves forward.
Backtests run on this data are hypothetical and simulated — no real trades were placed, and results are net of modeled slippage and commission only. Past performance, actual or simulated, does not guarantee future results. Always test before you trade. See is the backtest real?

Next steps

Futures & symbols

Timeframes, bars & sessions

Is the backtest real?

Sessions, versions & artifacts