Trading context
Backtest jobs
A backtest job evaluates a selected strategy revision across a historical time range. It uses historical market data and simulated execution through the Venue Simulator.
Backtest jobs help you compare revisions and settings before live operation. They are evidence under recorded assumptions, not performance guarantees.
What a backtest job is
Section titled “What a backtest job is”A backtest job is a finite evaluation that:
- Uses one selected strategy revision.
- Uses the saved revision’s venue and instrument.
- Receives concrete Strategy Variable values for exposed node parameters.
- Starts from configured simulated balances.
- Runs over a configured historical time range.
- Applies fees, slippage, latency, and simulator assumptions.
- Records metrics, assumptions, data completeness, and result context.
The runtime path is:
Historical market data server -> Strategy engine -> Target Position Executor -> Venue Simulator
In the current target-position execution path, the selected revision and Target Position Executor are both part of what the job evaluates.
- Market data Live or historical market data sources.
- Strategy engine Runtime evaluation of the selected compiled revision.
- Target Position Executor Target-position intent converted into order activity.
- Venue Simulator Simulated execution destination and assumptions.
- Account state Live or simulated positions, fills, balances, and order state.
- Results Recorded metrics, telemetry, and review context.
- Backtest path Finite backtest job boundary.
- Revision-owned Immutable strategy revision logic and settings.
- Run settings Run-provided values, balances, ranges, or assumptions.
Relationship to strategies and revisions
Section titled “Relationship to strategies and revisions”A strategy is the long-lived container for a trading idea. A revision is one saved version of that strategy.
Backtest jobs attach to revisions:
- One strategy can have many revisions.
- One revision can have many backtest jobs.
- Each job points back to the selected revision and its fixed logic.
- Each job records the Strategy Variable values and job settings used for that evaluation.
This makes results easier to interpret. A result is not just a chart; it is a recorded relationship between the selected revision, run-provided values, historical range, starting balances, simulator settings, and data coverage.
Job settings
Section titled “Job settings”Backtest job settings include:
- Historical time range.
- Strategy Variable values.
- Starting balances.
- Fees.
- Slippage.
- Latency.
- Simulator assumptions.
Venue and instrument belong to the revision. They stay visible with the job because they affect data selection, simulator assumptions, and result interpretation.
Job lifecycle
Section titled “Job lifecycle”Backtest jobs move through finite lifecycle states:
| State | Meaning |
|---|---|
drafting | The user is filling out the job parameters. |
provisioning | Structure is preparing the selected revision and runtime path. |
running | Historical data is driving the selected revision. |
completed | The job finished and results are available. |
failed | The job stopped before completion and exposes an error reason where available. |
The UI mirrors this lifecycle so you can monitor progress, inspect failures, and review results when the job completes.
Result surface
Section titled “Result surface”A completed backtest job records the result and the context that produced it.
Common result fields include:
- PnL.
- Max drawdown.
- High-water mark.
- Continuous-time Sharpe ratio.
- Rolling position.
- Trade count.
- Event count.
- Data completeness.
- Historical time range.
- Strategy Variable values.
- Starting balances.
- Fees.
- Slippage.
- Latency.
- Venue Simulator assumptions.
Metrics describe what happened under the recorded settings. Review assumptions and data completeness before comparing jobs or promoting a revision.
Read result fields together:
- PnL describes profit and loss under the recorded settings.
- Max drawdown and high-water mark describe the shape of the evaluated result path.
- Continuous-time Sharpe ratio is a risk-adjusted comparison aid.
- Rolling position shows how simulated exposure changed over time.
- Trade count and event count help explain activity level.
- Data completeness shows whether the requested historical range had enough available data for interpretation.
For detailed result interpretation, see Backtest result metrics.
What affects a job
Section titled “What affects a job”Backtest job results are affected by:
- Historical data quality and coverage.
- Strategy revision logic.
- Fixed node parameters.
- Strategy Variable values.
- Starting balances.
- Fees.
- Slippage.
- Latency.
- Liquidity assumptions.
- Venue Simulator behavior.
- The current limitation that the Venue Simulator does not model the full exchange order book.
For simulator behavior, see Venue Simulator methodology. For assumption and coverage details, see Simulator assumptions and data completeness.
How jobs inform live deployments
Section titled “How jobs inform live deployments”Backtest jobs support the research and promotion workflow:
- Evaluate one revision over a historical time range.
- Compare revisions with job settings attached.
- Review result metrics, assumptions, and data completeness.
- Create a new revision when the result points to a strategy change.
- Start a live deployment only after selecting the revision, Strategy Variable values, connected account, venue context, permissions, and deployment settings.
A backtest job does not become a live deployment by itself. Promotion is an explicit user action.
Limits and interpretation
Section titled “Limits and interpretation”Use backtest jobs as one input to your decision-making process.
Backtest job results do not predict future results, guarantee returns, guarantee risk reduction, or guarantee live execution quality. Market conditions, venue behavior, liquidity, fees, latency, and fills can differ from the recorded simulation.