Alphanume

Insights

ChatGPT Trading Bot Research: Benchmarks, Logs, and Failure Modes

Alphanume Team · September 4, 2026

The useful output of a ChatGPT trading-bot test is a replayable decision record. The equity curve comes later.

Consider a controlled failure case: give a language-model agent one frozen market snapshot, five tools, and a paper account. It requests a field that does not exist, accepts the tool error as empty data, and continues with a confident recommendation. Unless the harness treats that error as fatal, the polished explanation hides a broken input path.

That is the real research problem. A ChatGPT-based bot combines model behavior with prompts, tools, data, portfolio code, and broker state. A profitable week cannot tell you which layer worked, while a complete trace can show exactly where the system went wrong.

Define what ChatGPT is doing

ChatGPT can be the conversational interface used to design or supervise a bot, while an OpenAI model accessed through an API can sit inside an automated loop. Keep those deployments separate in the research record. Product UI behavior, API models, prompts, and tool availability can change independently.

Official OpenAI function-calling documentation explains how an application exposes external data and actions as tools. The model proposes a tool call, while your application executes it and returns the result. Your code remains responsible for permissions, validation, and the actual broker request.

  • Research assistant: reads bounded data and proposes a hypothesis.
  • Code agent: writes or edits strategy code inside a restricted workspace.
  • Portfolio agent: converts approved signals into target positions.
  • Execution agent: submits or manages orders through narrow tools.
  • Supervisor: compares state, checks rules, and decides whether another component may act.

A single prompt that performs every role is hard to grade and dangerous to authorize. Split the loop until each action has one clear input, output, and owner.

Build the benchmark before the bot

Finance Agent Benchmark evaluates agents on expert-authored financial research questions using tools including search and EDGAR access. AI-Trader evaluates autonomous agents in live market settings across US stocks, A-shares, and crypto.

Those projects test different capabilities. Research accuracy, live information gathering, risk control, and trading performance should remain separate scores. A model that extracts a filing correctly can still build a poor portfolio, and a rising market can flatter an unreliable researcher.

Layer

Frozen task

Primary score

Leakage risk

Retrieval

Find the specified filing fact

Exact evidence and citation

Later filing or web summary

Research

Test one stated hypothesis

Correct code and statistical conclusion

Visible holdout or repeated search

Portfolio

Map signals to constrained weights

Rule compliance and exposure

Using future volatility or membership

Execution

Submit allowed paper orders

Intent-to-order reconciliation

Midpoint fills and ignored rejects

Live monitoring

Respond to predefined state changes

Correct intervention and abstention

Post-hoc judgment of outcomes

Log the whole trajectory

A normal backtest saves orders and returns. An agent test needs the prompt, model identifier, tool schemas, every tool request and response, code diff, runtime output, state transition, and final action. Redact credentials before storage, while keeping stable references to the secret or account used.

run_id: CHATBOT-20260904-001
model: [exact API model identifier]
prompt_hash: [sha256]
tool_schema_hash: [sha256]
data_snapshot: [immutable id]
messages: [ordered inputs and outputs]
tool_calls: [arguments, result, latency, error]
code_commit: [git hash]
risk_gate: pass/fail and reason
intended_order: [symbol, side, size, limit]
broker_events: [accepted, partial, filled, canceled, rejected]
final_position: [reconciled state]

Official OpenAI evaluation best practices provide a framework for testing model behavior against explicit criteria. Trading research should add deterministic market checks outside the model, including timestamps, allowed symbols, position limits, and reconciliation.

The AI research-code guardrails show how to keep an agent away from its own answer key. Save failed trajectories because removing them turns tool reliability into survivorship bias.

Keep risk gates outside the model

Language models are useful precisely because their outputs are flexible. Risk controls need the opposite property. A deterministic service should reject actions that violate the allowed universe, order type, notional limit, loss limit, market-hours policy, or stale-data threshold.

  1. Resolve symbols and account state from the broker immediately before submission.
  2. Validate arguments against a strict schema and reject unexpected fields.
  3. Recalculate position and gross exposure outside the model.
  4. Require a fresh market timestamp and reject stale inputs.
  5. Use paper trading until order states reconcile without manual repair.
  6. Make the kill switch independent of the model, prompt, and conversation state.

A model can explain why a gate fired. It should not be able to waive the gate that blocked it.

Run each gate against adversarial fixtures before connecting a broker. Include a delisted symbol, a stale quote, a partial fill, a market closure, an over-limit notional, and a tool timeout after the order may have reached the venue. The desired result is deterministic rejection or reconciliation, not a persuasive explanation.

The failure modes worth measuring
  • Tool hallucination: the model requests nonexistent fields, functions, or symbols.
  • Silent empty data: an error becomes an empty array and the agent treats absence as evidence.
  • Timestamp leakage: current membership, revised filings, or final bars enter a historical decision.
  • Trajectory drift: repeated steps change the original objective or risk budget.
  • State mismatch: the agent believes an order filled while the broker shows a reject or partial.
  • Retry amplification: a timeout triggers duplicate submissions or repeated exposure.
  • Narrative repair: the final explanation quietly differs from the logged reason for the trade.

Measure abstention too. A bot that recognizes missing data and stops can be more useful than one that completes every task.

Separate failures by stage. Retrieval accuracy asks whether the bot found the right version of a fact. Transformation accuracy asks whether it calculated the requested feature correctly. Decision accuracy asks whether the action followed the frozen policy. Execution accuracy asks whether the broker outcome matched the intended order. One aggregate score hides which component needs repair.

For every benchmark case, define an expected state transition as well as an expected answer. A bot can produce the correct ticker and still call the wrong endpoint, use a revised value, or retry an order twice. The path matters because the same final sentence can conceal very different operational risk.

What live experiments add

Our bounded brokerage experiment moved an agent from historical analysis into a small live account. The point of a live test is to expose operational behavior: stale state, repeated actions, broker errors, and divergence between intended and actual positions.

The industrial quant-research model addresses the upstream search problem, where an agent can try enough variations to manufacture a good curve. Together they show why the research ledger and the broker ledger need to meet.

Use point-in-time data for AI trading agents to freeze the input side and the backtest audit to grade the historical side.

A minimum serious experiment

Give the bot one decision per day, a tiny paper universe, and read-only market tools. Freeze the prompt and model for 20 sessions. Require an explicit abstain state, deterministic risk gates, and a reconciliation report after every action.

Compare the bot with two baselines: the same signal implemented as fixed code and a no-trade policy. Grade research correctness, policy compliance, operational errors, turnover, and cost before looking at return.

The experiment earns expansion when another researcher can replay every run and explain every position from saved artifacts. Browse the Alphanume Research archive if you want more agent tests, and keep real capital out until the logs are boring.