Skip to main content
POST
Start a backtest run

Body

application/json

Request to launch a backtest run.

symbols
string[]
required
Required array length: 1 - 20 elements
start_date
string<date>
required
end_date
string<date>
required
signal_types
enum<string>[]
Minimum array length: 1

Intraday signal types available for backtesting.

Available options:
vwap_touch,
ib_breakout,
ib_retest,
or_hold,
level_confluence,
trend_continuation
stop_atr_mult
number
default:1
Required range: x <= 5
t1_atr_mult
number
default:1
Required range: x <= 10
t2_atr_mult
number
default:1
Required range: x <= 10
t3_atr_mult
number
default:1
Required range: x <= 10
time_stop_et
string
default:15:45
Pattern: ^\d{2}:\d{2}$
position_size
integer
default:100
Required range: 1 <= x <= 10000
slippage_per_share
number
default:0
Required range: 0 <= x <= 1
commission_per_share
number
default:0
Required range: 0 <= x <= 0.1
gate_thresholds
Gate Thresholds · object | null

Response

Backtest launched

Full backtest run status and results.

id
string<uuid>
required
status
enum<string>
required

Backtest run lifecycle status.

Available options:
pending,
running,
completed,
failed,
cancelled
symbols
string[]
required
start_date
string<date>
required
end_date
string<date>
required
signal_types
string[]
required
stop_atr_mult
number
required
t1_atr_mult
number
required
t2_atr_mult
number
required
t3_atr_mult
number
required
time_stop_et
string
required
created_at
string<date-time>
required
total_trades
integer | null
win_count
integer | null
loss_count
integer | null
win_rate
number | null
avg_rr_ratio
number | null
total_pnl
number | null
max_drawdown
number | null
profit_factor
number | null
sharpe_ratio
number | null
by_signal_type
SignalTypeMetrics · object[] | null
by_symbol
SymbolMetrics · object[] | null
equity_curve
EquityCurvePoint · object[] | null
validation_gate
ValidationGateResult · object | null

Aggregate validation gate result.

progress_pct
integer
default:0
started_at
string<date-time> | null
completed_at
string<date-time> | null
error_message
string | null
analysis_result
BacktestAnalysisResponse · object | null

Structured response from the backtest analysis LLM agent.

position_size
integer
default:100
slippage_per_share
number
default:0
commission_per_share
number
default:0
by_exit_reason
By Exit Reason · object[] | null
advanced_metrics
Advanced Metrics · object | null
benchmark_curve
Benchmark Curve · object[] | null