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

# Is the backtest real?

> How AskFutures separates AI interpretation from deterministic simulation — and why the same strategy always produces the same numbers.

This is the most important thing to understand about AskFutures, so we'll say it
plainly:

<Note>
  The AI only translates your idea into precise rules. Once the rules exist, the
  backtest is run by a fixed, deterministic simulation engine over real
  historical prices — the same rules and the same data always produce the same
  numbers. **The AI never invents performance figures.**
</Note>

## Where the AI stops and the math begins

```mermaid theme={null}
flowchart TD
  U(["You<br/>plain-English idea"]) --> A["Chat agent<br/><b>AI</b>"]
  A --> S["Strategy engine<br/>turns words into rules<br/><b>AI</b>"]
  S --> P["Strategy plan<br/>(entry / exit / filters / parameters)"]
  P --> B["Backtest engine<br/>deterministic simulator<br/><b>fixed code</b>"]
  B --> M["Market data<br/>real historical prices"]
  M --> B
  B --> R["Results<br/>P&amp;L, win rate, drawdown"]
  R --> A
  A --> U
```

**AI handles interpretation only:**

* The chat agent that talks to you.
* Translating your English into a structured strategy (entry rules, exit rules,
  filters, parameters).
* Small language helpers, like turning *"since 2020"* into a concrete date
  window or naming a strategy.

**Fixed, deterministic code produces every number:**

* Indicators are real [TA-Lib](https://ta-lib.org/) functions (RSI, EMA, MACD,
  ATR, Bollinger Bands, …) — not AI approximations.
* The simulator replays history one bar at a time, applying your exact rules.
* Trading costs are modeled (see below), and exit reasons are explicit
  (`stop`, `target`, `trailing_stop`, `time`, `session_close`, `signal`).
* Run the same strategy on the same data twice and you get identical results.

## What the backtest does — and doesn't — model

<Warning>
  Backtest results are **hypothetical and simulated**. Because no trades were
  actually executed, results may under- or over-state real outcomes (liquidity,
  slippage, volatility, and execution delays differ live). Simulated programs are
  designed with the benefit of hindsight. Past performance — actual or simulated
  — does not guarantee future results.
</Warning>

| Modeled                                                          | Not (yet) modeled                              |
| ---------------------------------------------------------------- | ---------------------------------------------- |
| Real historical OHLCV prices                                     | Sub-minute / tick fills                        |
| Back-adjusted continuous contracts                               | Order-book depth & partial fills               |
| Slippage (default **1 tick** per trade)                          | Overnight margin calls                         |
| Commission (default **$1/side** micro, **$2.50/side** full-size) | Real broker fees beyond the modeled commission |

By default, reported P\&L is **net of the modeled slippage and commission**. You
can adjust both when you build or refine a strategy.

## What this means for you

<CardGroup cols={2}>
  <Card title="Reproducible" icon="equals">
    The numbers are an honest replay of your rules over real prices — not a guess
    and not a sales pitch.
  </Card>

  <Card title="Yours to verify" icon="file-arrow-down">
    Every backtest reports the exact date window it covered, and you can export
    the full trade list to check it yourself.
  </Card>
</CardGroup>

<Card title="Next: what a strategy is made of" icon="diagram-project" href="/concepts/strategies" horizontal />
