Can a language model pick crypto trades? We tested 6,536 candidates
We asked a language model running on a desktop graphics card to rank 6,536 crypto trade candidates by their expected return over the next hour. The trades it liked most did worst.
How this was made: the code, the research runs and the first drafts of this text were produced by an AI assistant (Claude) working under the operator's direction; the operator made every decision and checked the numbers. All trading was on paper: real prices, no real money. Nothing here is investment advice.
The test
Our trading engine recorded every moment it considered buying a coin on Upbit between 15 and 18 September 2026, together with what it saw: price action, order-book depth, recent trades and its own scores. We gave each of these 6,536 candidates to a local model, Qwen 3.5 with about 9 billion parameters, and asked it to estimate the return one hour later. It answered all but 26 of them in 2 hours 28 minutes, at no cost. Its estimates ranged from −0.45% to +0.80%, so it was clearly making distinctions.
Coins move together, so candidates from the same moment are not independent. We grouped them into 87 independent events and scored at that level.
The result
| Trades chosen | Independent events | Candidates | Average after costs, 1 hour |
|---|---|---|---|
| The 10% the model liked most | 73 | 651 | −0.79% |
| The 25% it liked most | 85 | 1,627 | −0.61% |
| The 50% it liked most | 87 | 3,255 | −0.52% |
| Every candidate | 87 | 6,536 | −0.44% |
| Top 20% by the trading engine's own score | 87 | 1,307 | −0.37% |
Every group lost money after costs, as expected for one-hour trades. What matters is the order: the more the model liked a trade, the worse it was, in four steps that point the same way. The rank correlation between the model's estimates and the real outcomes was 0.01, no better than chance. The engine's own simple score did slightly better than taking every trade; the model did worse than both.
One plausible explanation, which we could not confirm with the data we kept, is that the model favoured coins that move a lot, and fast-moving small coins have wide spreads, which are a cost.
The mistakes we nearly published
This test took three attempts to get right, and the errors are the useful part:
- Counting rows as events. An earlier version found a slice of data that passed every test, with a t-statistic of 3.38 over 446 rows. Grouped into independent 4-hour events, it was 14 events and a t-statistic of 0.29: a coin toss. Thirty coins at the same moment had been counted thirty times.
- Reading the best cell. The scoring tool's summary line picked the best of many cells, +0.51% per trade, and called it skill. That cell held 19 rows from 15 events, with a t-statistic of 0.42.
- Splitting until something shows. One of sixteen cells looked like evidence that the engine's buy signals were harmful. With its standard error attached, it was noise.
What other studies found
Academic benchmarks point the same way: over long tests, language-model trading advantages shrink sharply, most models trail buy-and-hold, and a model's ranking on chatbot leaderboards says little about how it trades (FINSABER, StockBench, LiveTradeBench).
Our answer for this model, this horizon and this market is no. A larger model might do better; a bigger edge would still have to survive costs that were already larger than the best signal we had. What the public record shows about AI bots.