Queue a governed historical strategy backtest and poll the durable compute job for results.
/api/v2/quant/compute/backtestsBacktests are hypothetical research calculations and never submit orders or execute trades.
quant:compute:runThe playground uses deterministic isolated sandbox fixtures. It never queries production workspace data and does not require you to paste an API secret into the browser.
Sign in to run{
"data": {
"job_uid": "00000000-0000-4000-8000-000000000021",
"job_type": "backtest",
"status": "queued"
}
}curl -X POST \
https://equitygpt.app/api/v2/quant/compute/backtests \
-H "Authorization: Bearer $FINANCEGPT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"strategy":"moving_average_crossover","prices":[100,101,102,99,103,106,108,111,110,114],"short_window":3,"long_window":5,"initial_capital":100000,"transaction_cost_bps":5}}'import os, requests
url = "https://equitygpt.app/api/v2/quant/compute/backtests"
headers = {"Authorization": f"Bearer {os.environ['FINANCEGPT_API_KEY']}"}
payload = {
"input": {
"strategy": "moving_average_crossover",
"prices": [
100,
101,
102,
99,
103,
106,
108,
111,
110,
114
],
"short_window": 3,
"long_window": 5,
"initial_capital": 100000,
"transaction_cost_bps": 5
}
}
response = requests.request("POST", url, headers=headers, json=payload)
response.raise_for_status()
print(response.json())const response = await fetch('https://equitygpt.app/api/v2/quant/compute/backtests', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.FINANCEGPT_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({"input":{"strategy":"moving_average_crossover","prices":[100,101,102,99,103,106,108,111,110,114],"short_window":3,"long_window":5,"initial_capital":100000,"transaction_cost_bps":5}})
});
if (!response.ok) throw new Error(`FinanceGPT ${response.status}`);
console.log(await response.json());<?php
$ch = curl_init('https://equitygpt.app/api/v2/quant/compute/backtests');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_HTTPHEADER => ['Authorization: Bearer '.getenv('FINANCEGPT_API_KEY'), 'Content-Type: application/json'], CURLOPT_POSTFIELDS => '{\"input\":{\"strategy\":\"moving_average_crossover\",\"prices\":[100,101,102,99,103,106,108,111,110,114],\"short_window\":3,\"long_window\":5,\"initial_capital\":100000,\"transaction_cost_bps\":5}}']);
$response = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) >= 400) throw new RuntimeException($response);
echo $response;Explorer gives immediate isolated sandbox access. Production plans require a commercial entitlement.
Create account