List backtest history
curl --request GET \
--url https://api.example.com/api/graph/v1/backtest/historyimport requests
url = "https://api.example.com/api/graph/v1/backtest/history"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/backtest/history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/graph/v1/backtest/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/graph/v1/backtest/history"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/graph/v1/backtest/history")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/backtest/history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"symbols": [
"<string>"
],
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"signal_types": [
"<string>"
],
"stop_atr_mult": 123,
"t1_atr_mult": 123,
"t2_atr_mult": 123,
"t3_atr_mult": 123,
"time_stop_et": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"avg_rr_ratio": 123,
"total_pnl": 123,
"max_drawdown": 123,
"profit_factor": 123,
"sharpe_ratio": 123,
"by_signal_type": [
{
"signal_type": "<string>",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"avg_pnl_r": 123,
"total_pnl": 123,
"expectancy_per_r": 0
}
],
"by_symbol": [
{
"symbol": "<string>",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"total_pnl": 123,
"max_drawdown": 123
}
],
"equity_curve": [
{
"trade_num": 123,
"cumulative_pnl": 123,
"cumulative_r": 123,
"timestamp": "<string>"
}
],
"validation_gate": {
"passed": true,
"criteria": [
{
"name": "<string>",
"description": "<string>",
"threshold": "<string>",
"actual": "<string>",
"passed": true
}
]
},
"progress_pct": 0,
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"analysis_result": {
"summary": "<string>",
"signal_insights": [
{
"signal_type": "<string>",
"assessment": "<string>",
"reasoning": "<string>",
"suggestion": "<string>"
}
],
"risk_assessment": "<string>",
"parameter_suggestions": [
"<string>"
],
"edge_quality": "<string>",
"edge_confidence": 50,
"analyzed_at": "<string>",
"tokens_used": 123
},
"position_size": 100,
"slippage_per_share": 0,
"commission_per_share": 0,
"by_exit_reason": [
{}
],
"advanced_metrics": {},
"benchmark_curve": [
{}
]
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Backtest
List backtest history
List the user’s past backtest runs (most recent first).
GET
/
api
/
graph
/
v1
/
backtest
/
history
List backtest history
curl --request GET \
--url https://api.example.com/api/graph/v1/backtest/historyimport requests
url = "https://api.example.com/api/graph/v1/backtest/history"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/backtest/history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/graph/v1/backtest/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/graph/v1/backtest/history"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/graph/v1/backtest/history")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/backtest/history")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"symbols": [
"<string>"
],
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"signal_types": [
"<string>"
],
"stop_atr_mult": 123,
"t1_atr_mult": 123,
"t2_atr_mult": 123,
"t3_atr_mult": 123,
"time_stop_et": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"avg_rr_ratio": 123,
"total_pnl": 123,
"max_drawdown": 123,
"profit_factor": 123,
"sharpe_ratio": 123,
"by_signal_type": [
{
"signal_type": "<string>",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"avg_pnl_r": 123,
"total_pnl": 123,
"expectancy_per_r": 0
}
],
"by_symbol": [
{
"symbol": "<string>",
"total_trades": 123,
"win_count": 123,
"loss_count": 123,
"win_rate": 123,
"total_pnl": 123,
"max_drawdown": 123
}
],
"equity_curve": [
{
"trade_num": 123,
"cumulative_pnl": 123,
"cumulative_r": 123,
"timestamp": "<string>"
}
],
"validation_gate": {
"passed": true,
"criteria": [
{
"name": "<string>",
"description": "<string>",
"threshold": "<string>",
"actual": "<string>",
"passed": true
}
]
},
"progress_pct": 0,
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"error_message": "<string>",
"analysis_result": {
"summary": "<string>",
"signal_insights": [
{
"signal_type": "<string>",
"assessment": "<string>",
"reasoning": "<string>",
"suggestion": "<string>"
}
],
"risk_assessment": "<string>",
"parameter_suggestions": [
"<string>"
],
"edge_quality": "<string>",
"edge_confidence": 50,
"analyzed_at": "<string>",
"tokens_used": 123
},
"position_size": 100,
"slippage_per_share": 0,
"commission_per_share": 0,
"by_exit_reason": [
{}
],
"advanced_metrics": {},
"benchmark_curve": [
{}
]
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Query Parameters
Required range:
1 <= x <= 100Response
Run history returned
Backtest run lifecycle status.
Available options:
pending, running, completed, failed, cancelled Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Aggregate validation gate result.
Show child attributes
Show child attributes
Structured response from the backtest analysis LLM agent.
Show child attributes
Show child attributes