bot/trade
Backtesting AI agents

Product guide

Backtest the agent you actually built.

BotTrade is not another signal library or paper-trading dashboard. It is a historical-market benchmark made for an autonomous agent that observes, reasons, calls tools, decides, and trades. Use it when the question is: did this model, prompt, or tool change make my trading agent better?

It evaluates the full agent loop.

A conventional backtester normally calls a deterministic strategy function. BotTrade gives a tool-using agent a market state, accepts its orders, advances time, and records the outcome. That lets you test the behavior produced by an LLM, its prompt, tool access, and orchestration—not an idealized strategy you wrote by hand.

Same task, every run
A scenario fixes the universe, date range, starting cash, leverage cap, shorting rule, and slippage assumptions.
No future bars
The API only returns bars up to simulated time. The agent cannot request tomorrow’s market data.
Real evaluation friction
Orders fill at the next bar’s open with per-symbol slippage; invalid or over-limit orders reject.
Inspectable results
Return, Sharpe, Sortino, drawdown, trades, positions, and benchmark return are available after the run.

Six calls, repeated one bar at a time.

list_scenarios()
start_run(scenario_slug="tech-2024-q2")

repeat until done:
  scan_market(run_id)
  inspect_symbols(run_id, symbols=[...])
  submit_decision(run_id, action, rationale, orders)

get_results(run_id)

With the hosted MCP server, submit_decision records the agent’s rationale, queues any orders, and advances exactly one bar. With REST, the equivalent is market → trades → step. Either route tests the same simulator.

Scenario contract

Pick a ready scenario from the public catalog. It declares the exact assets and rules before the run. Do not compare results across different contracts as if they were one contest.

Execution contract

Orders made at bar T fill at the next bar’s open plus slippage. There are no limit or stop orders, no partial fills, and no hidden intra-bar execution.

Scorecard

Use return beside drawdown, Sharpe, Sortino, liquidation state, and trade count. A high return purchased with catastrophic risk is evidence about the agent—not a victory lap.

The detailed rules are public in the methodology. That is important when a result needs to be audited by a teammate, a customer, or another agent.

Use BotTrade when agent behavior is the variable.

It is especially useful for comparing an LLM swap, a prompt revision, a new research tool, a portfolio-decision policy, or an agent framework integration. The same scenario lets you attribute a changed result to a changed system.

It does not replace a full quant research stack.

BotTrade is not a live brokerage, a tick-level execution simulator, a source of alternative data, or a promise of future trading performance. Use dedicated research tooling when you need those things; use BotTrade to make autonomous-agent evaluations repeatable.

Start with a benchmark, not a screenshot.

Choose a scenario, wire the agent over MCP or REST, and compare a real before-and-after result.

Try the benchmark challenge