How a Claude trading bot connects to execution tools. Includes a strategy-specification example and DXRG's published harness evidence.

Can Claude trade? Yes, in the mechanical sense: Claude can be connected to live trading rails, and since May 2026 a major US broker has let its customers do exactly that. Robinhood's Agentic Trading feature connects Claude to a brokerage account through the Model Context Protocol (MCP), and exchange APIs make the same wiring possible outside a broker. The question worth measuring starts after the connection: does the raw model show an edge, and what actually decides the outcome once real money moves? This page collects the public record, our published harness measurements, and our internal replay league, with each piece labeled by what it can establish.
Evidence boundary: This page summarizes a third-party live competition, a third-party benchmark preprint, DXRG controlled tests, and one internal replay league. Every figure is bounded to the setting that produced it, and no result here establishes profitability, universal safety, or future performance for any model.
Three claims get collapsed into one whenever someone asks whether Claude can trade, and they have different answers.
The first claim is connectivity. Can Claude reach a venue and place an order? Yes. Tool-use APIs, MCP connectors, and broker features like Robinhood Agentic Trading give the model a path from text to an executed trade. If you searched for a Claude trading bot, that wiring is what most tutorials and product pages describe. MCP, the protocol behind the broker integration, is a standard way to hand a language model tools: the broker exposes account data and order placement as typed functions, and the model calls them in a loop of observe, decide, act. Nothing about that loop requires the model to be good at trading. It only requires the model to be connected.
The second claim is competence. Does the raw model, handed market data and left to decide, show a demonstrated edge? The cited studies do not establish a repeatable raw-model edge in their measured settings. Their scope and results are below.
The third claim is control. When a trade happens, what governed the exact action that reached the market? That is the question our work answers, and the answer is the harness: the system around the model that compiles the mandate, assembles state, checks policy, executes, and records the trace. Two setups with the same model can produce opposite outcomes because their harnesses differ.
Claude can help turn a trading idea into a specification, code draft, or set of test cases. That is a different task from choosing profitable trades. Anthropic's tool-use documentation describes how Claude can request tools and work with their results; a working integration does not establish trading skill.
The useful output is a hypothesis that another person can inspect and a test that can reject it. Ask for missing assumptions before asking for a backtest.
Consider this deliberately incomplete idea: “Buy a breakout when volume rises.” It is an illustrative specification exercise, not a tested strategy or a recommendation.
| Ambiguity | What the specification must settle |
|---|---|
| Breakout | Which price series and lookback define the threshold? |
| Volume rises | Compared with which completed observations? |
| Decision time | When does the required bar or feed update actually become available? |
| Execution | Which order type is allowed, and what happens if it never fills? |
| Position | How is size chosen, and what happens if a position already exists? |
| Exit | What closes the position, including when the entry thesis stops holding? |
| Economics | Which fees, spread, slippage and funding assumptions apply? |
A useful request to Claude is:
Turn this idea into a test specification. List unresolved choices before selecting defaults. For every input, state when it becomes available. Separate signal generation from order execution. Include missing-data, rejected-order, partial-fill and duplicate-submission cases. Label any numbers you introduce as assumptions. Do not report performance until a test has actually run.
Review the proposed rules and implementation against each other. A fluent explanation can still hide a future-data dependency or an order rule the code never enforces. Retain the rejected versions as development history, then evaluate the chosen version on data that did not influence those choices.
To assess the result, use the benchmark card: compare under matched information and costs, retain failures, and disclose the complete system tested. If changing a prompt or a market period changes the result, report that sensitivity. Use the evidence ladder to distinguish a backtest from paper or live operation.
Claude's contribution here is helping make an idea explicit and testable. Whether the resulting system adds value after costs remains an empirical question.
The cleanest public measurement so far is Alpha Arena Season 1, run by the research lab nof1.ai.1 Six frontier language models each received $10,000 in real capital and traded crypto perpetuals on Hyperliquid from late October into November 2025, a window of roughly two weeks. Every model saw the same market data format and the same action space. The results:
| Model | Season 1 result |
|---|---|
| Qwen3-Max | +22.3% |
| DeepSeek | +4.9% |
| Claude | −30.8% |
| Grok | −45.3% |
| Gemini | −56.7% |
| GPT-5 | −62.7% |
Alpha Arena Season 1: six models, $10,000 real capital each, about two weeks
Claude finished in the middle of the table, down 30.8%. Three of the six models lost a third or more of their capital in two weeks, and the two positive results came from the same rails that produced those losses. One season on one venue with one prompt setup is a snapshot, and it says little about any model's permanent ranking. What it does show is that identical wiring plus different models produced an 85-percentage-point spread, and that most of the field lost money quickly.
The second public source is KTD-Fin, a memory-controlled benchmark for LLM trading agents on stock markets (arXiv:2605.28359v1).2 Its cross-model design holds prompts, tool interfaces, masking, and execution rules constant. The benchmark anonymizes tickers and calendar identifiers across prompts and tools, then separates each model's result into common, style, and stock-selection components. The paper reports that 9 of 10 frontier LLMs showed negative stock-selection alpha, meaning their picks did worse than the style exposures they took on. Our benchmark audit registry now records a source-disclosure review with all eight units marked partial. We still attribute the result to the authors because our review did not rerun the benchmark, validate its data or results, or certify the masking protocol.
These two sources measure different things, and they complement each other. Alpha Arena is live evidence: real capital, a real venue, a short window, and no controlled masking. KTD-Fin is a controlled benchmark: historical markets, identifier-and-calendar masking, and component attribution. One records what happened in a public two-week competition; the other measures whether each model's picks beat the exposures those picks took on. Both point in the same direction.
Read together, the public record answers the competence question narrowly: the cited studies do not establish a repeatable raw-model edge for Claude. A different setup needs its own evidence, with the model, data, costs, and evaluation period identified.
Our own Claude-specific numbers measure a different axis: what happens to the same model when the system around it changes. In a separate internal EVM transaction-construction evaluation, aligned successful construction was 87% for Claude 4, 96% for Claude 4.6, and 99.9% for Claude 4.6 with a Terminal Pro-style harness.3 The model generation moved the number by nine points. The harness around the stronger model moved it by another four, to within a tenth of a percent of perfect construction.
A harness is everything around the model that turns text into a governed action. In our stack that means compiling the owner's mandate into an explicit contract, assembling current market and portfolio state, and invoking the model. It then means parsing the answer into a typed action, checking that exact action against deterministic policy, submitting once, and reconciling the outcome into the next state. Each stage is recorded in one trace. When someone says Claude traded, the useful follow-up is which of those stages the output passed through before money moved.
Two controlled pre-launch tests from the DX Terminal Pro record show the mechanism at finer grain. Moving an unchanged fee sentence from paragraph eight to paragraph one raised fee citation in reasoning traces from 3% to 74% while the model, the wording, and the market data stayed fixed.3 A compound intervention that demoted prior reasoning from precedent to context reduced fabricated sell rules from 57% to 3% in the affected test population.3 Same model, same facts, different compiled context, different behavior.
These figures measure construction quality and behavioral control. They sit apart from open-market P&L, and we report them as harness evidence, the same framing we used in our FSB consultation response and in the paper companion. The mechanism they expose matters for anyone wiring Claude to a brokerage: the model proposes, and everything between that proposal and the market decides what actually happens. Our guardrails article describes that system in engineering form, and the guardrail matrix dataset (CSV) maps each control to its evidence requirement and failure signal.
Since June 2026 we have run an internal head-to-head league that replays captured production scenarios across model pairs. The current Claude record covers 416 captured scenarios, scored by replay regret in basis points against the best action available in the recorded state, with paired bootstrap intervals over the shared cells. This is internal replay evidence: the scenarios come from production, the decisions are re-rendered offline, and no capital moves. Replay regret measures decision quality against the recorded state, and it is replay, not P&L.
Replay works like a flight recorder for decisions. We take the exact state the production system observed, render it to the candidate model under the same prompt and tools, and score the action it chooses against what the recorded state offered. Because the scenario is frozen, any difference in the answer belongs to the model and its decoding settings rather than to the market.
On decision quality, the league shows no separation. claude-fable-5 scores 264.37 basis points of replay regret against 263.27 for the qwen3.7 pair, a gap well inside the paired bootstrap interval. Judged on the quality of the chosen action, the Claude and Qwen generations we tested are within noise of each other.
On choice stability, the league shows a sharp separation. Repeating the same cell at temperature 0.6, Claude flips its chosen action in 35% of cells. The qwen3.7 pair flips in 90 to 95% of cells.
| Measure | claude-fable-5 | qwen3.7 pair |
|---|---|---|
| Replay regret (bps, lower is better) | 264.37 | 263.27 |
| Choice flips across temperature-0.6 repeats | 35% of cells | 90 to 95% of cells |
Choice flips across repeated decisions: Claude 35% of cells, Qwen pair 90 to 95%
Consistency is the one axis in our data where the models clearly separate, and for a trading agent it is the axis with operational weight. A system that gives a different answer to the same state on each invocation defeats regression testing, complicates reconciliation, and makes a written mandate hard to honor. A stable model inside a checked harness can be regression-tested the way we regression-test compilers: freeze the scenario, replay, and compare. Decision quality between frontier models may converge; whether a model holds its decision still long enough to be governed is a property you have to measure model by model.
Whether the model is Claude, Qwen, or anything else, the evidence above reduces to four checks before capital moves:
The broker case adds one more question: what does the integration let the model do by default, and what still asks for your confirmation? Read a trading permission screen the way you would read a margin agreement.
A Claude trading bot that clears those checks is an engineered system with a model inside it. One that clears none of them is a language model with a credit card.
Can Claude trade? Yes: the rails exist, a major US broker connects Claude through MCP, and the wiring gets easier every quarter. Does the raw model bring an edge? The cited studies do not establish that edge: a middle-of-the-field loss in the one real-capital public season, and negative stock-selection alpha for nearly every frontier model in the one memory-controlled stock benchmark. What changes outcomes is the system around the model: construction success moved from 87% to 99.9% across a model generation plus a harness in our evaluation, and our replay league finds Claude's decision quality within noise of its peers while its choice stability leads the field. Evaluate the whole path, measure stability before capital, and treat any unstated evidence class as unknown until the supporting record is disclosed. This article is the first in an evidence series; the second covers ChatGPT.
Version 1.2. Published August 17, 2026; updated September 7, 2026. This revision corrects the count of large losses and treats undisclosed evidence as unknown. Corrections: poof@dxrg.ai. This article is research and educational material, not financial advice.
nof1.ai, Alpha Arena Season 1, six frontier models trading $10,000 each in real capital on Hyperliquid, late October into November 2025. Results as published by the organizer. (nof1.ai) ↩
From Knowing to Doing: A Memory-Controlled Benchmark for LLM Trading Agents on Stock Markets (KTD-Fin), arXiv:2605.28359v1, 2026. DXRG completed a source-disclosure review on August 18, 2026; all eight units were partial, and DXRG did not rerun or validate the result. (arXiv abstract) ↩
Barton, T.J. et al., Operating-Layer Controls for Onchain Language-Model Agents Under Real Capital, arXiv:2604.26091, 28 April 2026. (arXiv abstract) ↩ ↩2 ↩3