> ## Documentation Index
> Fetch the complete documentation index at: https://docs.askfutures.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Where data comes from

> Institutional-grade market data, refreshed daily, on back-adjusted continuous contracts — plus the macro and positioning datasets your strategies can read.

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.

<Info>
  Past performance does not guarantee future results. Always test before you trade.
</Info>

## What you're testing on

<CardGroup cols={2}>
  <Card title="Real, institutional-grade data" icon="building-columns">
    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.
  </Card>

  <Card title="Refreshed daily" icon="calendar-day">
    A vendor feed updates the data once a day, so each market carries history up
    through the most recent completed trading day.
  </Card>

  <Card title="Continuous contracts" icon="link">
    Individual futures expire every few months. We stitch them into one
    continuous, back-adjusted series per market so your chart runs unbroken
    across years.
  </Card>

  <Card title="Minute to daily" icon="chart-column">
    The same history is available at 1-minute, 5-minute, and daily resolution —
    see [timeframes, bars & sessions](/concepts/timeframes-bars-sessions).
  </Card>
</CardGroup>

## 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.

<Note>
  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.
</Note>

```mermaid theme={null}
flowchart LR
  C1["Contract<br/>(expires)"] --> C2["Next contract<br/>(expires)"]
  C2 --> C3["Front contract"]
  C1 -. back-adjust .-> CC["One continuous<br/>back-adjusted series"]
  C2 -. back-adjust .-> CC
  C3 --> CC
```

## "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.

<Tip>
  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](/concepts/sessions-versions-artifacts).
</Tip>

## 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:

<AccordionGroup>
  <Accordion title="Commitment of Traders (COT)" icon="users">
    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."*
  </Accordion>

  <Accordion title="Economic data" icon="chart-line">
    Macro/economic series you can fold into a strategy's conditions to gate
    entries on the broader backdrop.
  </Accordion>

  <Accordion title="Contract specifications" icon="ruler">
    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](/concepts/futures-and-symbols).
  </Accordion>
</AccordionGroup>

## What this means for you

<CardGroup cols={2}>
  <Card title="Test across years, gap-free" icon="timeline">
    Continuous contracts let you backtest a single market over many years without
    roll distortions.
  </Card>

  <Card title="Always current" icon="rotate">
    The daily refresh means "the last year" tracks the market as it moves
    forward.
  </Card>
</CardGroup>

<Warning>
  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?](/concepts/is-the-backtest-real)
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card title="Futures & symbols" icon="list" href="/concepts/futures-and-symbols" />

  <Card title="Timeframes, bars & sessions" icon="clock" href="/concepts/timeframes-bars-sessions" />

  <Card title="Is the backtest real?" icon="shield-check" href="/concepts/is-the-backtest-real" />

  <Card title="Sessions, versions & artifacts" icon="code-branch" href="/concepts/sessions-versions-artifacts" />
</CardGroup>
