My bot didn't start with AI. It started with one rule-based strategy, the opening range breakout. But early on I had a question I couldn't stop thinking about: what if a large language model looked at the same chart I was looking at, and said whether to take the trade?
So I tried it. First with GPT, then with Claude alongside it, and then with the two of them voting. The bot logged every question and every answer, which means I can now look back at exactly how it went. It turned out to be one of the most interesting experiments of the whole build.
How the AI was wired in
Periodically during the session, the bot built a structured summary of recent market data and sent it to the model, and asked for a structured answer back rather than free text. The model never placed an order itself: it suggested a direction, and ordinary code checked it, sized it, placed it and managed the exit.
I am deliberately not publishing the contents of that summary or the format of the answer. The part worth copying is the split, not my version of it: whatever the model said, the sizing, stops and risk limits were plain rules I could test. That division is what made everything below measurable.
Two models, one chart, different answers
Next I added Claude alongside GPT and sent both the identical snapshot at the identical moment — thousands of times over the following months.
I expected them to agree most of the time. They didn't. Often one wanted to trade while the other said stay out, and every so often they called opposite directions on exactly the same data.
A real example, from a morning in April, a few minutes after the open:
on the same input, at the same second, one model returned a directional trade and described the structure as clearly bearish, while the other returned no trade and described the same numbers as choppy with conflicting signals.
Same data, same moment, two completely different reads.
They had personalities
Once I counted the answers, a pattern jumped out. Both models were equally keen to trade, but GPT leaned bullish and Claude leaned bearish. Given the same data, GPT reached for calls more often, and Claude reached for puts.
Nothing in my prompt asked for that. It was a useful reminder that a model's "view" is partly the model, not the market — and that you learn a lot by measuring instead of assuming.
Making them vote
Because the two disagreed so often, the obvious next question was what to do about it. I tried more than one arrangement over the following weeks: one model proposing and the other able to object, and separately, asking the same model the same question several times and only acting when the answers lined up. Repeating the question does smooth out the odd one-off answer, at the cost of more calls and more latency.
How my bot is wired today is not something I publish, so what follows is about what the logs showed, not about the configuration that produced them.
What the trades showed
Two findings surprised me, and both are negative, which is usually a sign they are worth something.
Confidence didn't mean much. Claude's most confident calls did no better than its moderately confident ones. The confidence number read well, but it didn't predict which trades would work.
Agreement didn't add anything. For each trade one model proposed, I went back to what the other model had said at that same moment, and split the trades three ways: the second model agreed, wanted no trade, or called the opposite direction. The three groups were hard to tell apart. If anything, the trades the second model actively disagreed with did marginally better, which I take as noise rather than a finding.
I am not publishing a results table for those three groups, because the honest version of it is a comparison I did not run carefully enough to put numbers against: the groups were uneven and small, and I did not control for the time of day or the market conditions each cluster fell in. What I will say is that a second model agreeing felt reassuring and did not show up as better trades. That is worth knowing before you build an elaborate multi-model setup.
One caveat that matters more than the rest
This ran on the GPT and Claude models that were current between roughly February and September 2026, and I did not log the exact model versions alongside each call — a mistake, and the first thing I would change. Both families have shipped new versions since. A lean I measured on one version is not a property of "GPT" or "Claude" in general, and if you repeat this you should expect different behaviour and should record the version string with every answer.
What I'd tell someone adding AI to a trading bot
- Let the model suggest, never execute. Entries can be the model's idea. Sizing, stops and exits should be code you can test.
- Force a structured answer. Free-text opinions are impossible to measure. A fixed JSON format made everything in this post possible.
- Log every prompt and every answer. The log is what turned hunches into findings.
- Measure models on their own trades, and record the version. They are not interchangeable, their leanings are real, and both change under you.
- Don't lean on the confidence number unless your own data shows it predicts outcomes.
Used this way, an AI model is a genuinely useful second pair of eyes — as long as the rules around it stay simple and testable. If you're thinking of building something similar, start with the basics in algo trading in India: the rules, the cost, and what to do first, and for connecting to your broker, getting a Zerodha Kite Connect API key.
This post describes my own experience building and running a trading system, for information only. It is not investment advice, and past results say nothing certain about the future. I am not registered with SEBI as an investment adviser or research analyst.