Let the model forecast. Never let it size the bet.
September 20, 2026, 5 min read, by Prabal Pratap Singh
LLMs are good at reading a market's resolution rules and weighing evidence. They are bad at money: they are overconfident, they anchor on whatever number is in front of them, and their outputs are not reproducible. TradeAgent is a Polymarket research agent built around that split. Models forecast; code decides.
Two models, and neither sees the price
Grok and GPT research each market independently and never receive the current market price. Showing a model the price anchors its estimate to the crowd, and then the forecast adds nothing. Keeping prices out makes the two forecasts independent pieces of evidence.
The world can change while the model thinks
Research takes time. Afterwards the market metadata and order book are fetched again, and the decision is rejected if the rules changed, the book is stale or crossed, or the deadline is unknown. Paper fills are capped by the depth actually available at the best ask.
Sizing is arithmetic, not judgement
The forecasts become an after-cost edge, and the size comes from a capped fraction of the Kelly criterion. This is the core of it:
# Edge after costs, then a capped fraction of full Kelly
full_kelly = max(0.0, (p_side - prelim_effective)
/ max(1e-9, 1 - prelim_effective))
suggested_fraction = full_kelly * self.s.kelly_multiplierOn top of that sit fee-inclusive, rounded-down limits per trade, market, category and portfolio. No model output can change a position size directly.
Learning without fooling yourself
The agent learns only from markets the exchange has resolved, using one forecast per market in resolution order. Calibration is stored per policy and resets whenever the policy, model or version changes, so results from an old setup never train a new one.
Where it stands
It runs in scan, shadow and paper modes. Live trading stays blocked in code until a verified settlement adapter exists, and no configuration flag can remove that block. Profitability has not been demonstrated, and I would rather say that plainly than show a backtest. What the project does show is a pattern I use in every AI system: put the model where judgement helps, and keep money, permissions and side effects in code you can test.
The system behind this essay: read the case study.