NineFifteenAM

Bot scorecard

Trading bot scorecard: May 2026

5 min readBy NineFifteenAM

May 2026: my bot's main strategy won back slightly more than it lost, before charges, and paper trading agreed. One trade in a new strategy cost the month.

Short answer

In May 2026 the bot's main strategy placed 66 of the 75 live trades. Before charges its wins slightly outweighed its losses (profit factor 1.02), and the same strategy on paper agreed (1.16 over 278 records). Its losses stayed small: the largest was 2.7 average losses, while its best win was 9.2. The month as a whole finished below break-even because of one trade on 25 May, in a new strategy that had placed only three live trades.

May was the bot's second live month, and it was the month the main strategy showed it could pay its way. Its wins slightly outweighed its losses live, paper trading agreed, and the one big problem was easy to trace. Here's the month from the trade log.

At a glance

The scorecard

Live Paper
Trade records 75 832
Trading days with activity 13 19
Strategy variants 6 64
Win rate 54.7% 54.9%
Payoff ratio (average win ÷ average loss) 0.58 0.53
Profit factor (all wins ÷ all losses) 0.71 0.71
Longest winning streak 8 in a row 14 in a row
Longest losing streak 7 in a row 11 in a row
Deepest drawdown (in average losses) 14.8 118.9
Ran to the bot's own exit 70 of 75 (93.3%) 825 of 832 (99.2%)

Live and paper are always kept apart. Paper runs many more ideas, including ones that never go live, so it is the wider and noisier of the two.

Where the result came from

The main strategy placed 66 of the 75 live trades. Results below are in units of the month's average live loss, so a figure of +1.0 means the group made back one average losing trade, before charges.

Live records Share Win rate Profit factor Net result (in average losses)
Main strategy 66 88% 54.5% 1.02 +0.5
Other live strategies 9 12% 55.6% 0.23 -10.5
All live trading 75 100% 54.7% 0.71 -10.0

The single best live record was worth 9.2 average losses and the single worst 13.1.

What worked

The rules did the exiting. 70 of the 75 live records ran to the bot's own exit, and 37 of the 41 winners were closed by the bot's rules, mostly by booking partial profit early. I stayed out of the way far more than I expected to in only the second live month.

Losses on the main strategy were capped. No main-strategy loss was bigger than 2.7 average losses. Its best win was more than three times that size. That lopsided shape is what lets a strategy work with a win rate close to 50%.

Live and paper agreed. The main strategy won 54.5% of its trades live and 66.2% on paper, and it stayed above break-even before charges in both. Paper is a best case, so the live number being lower is expected. What matters is that both sat on the right side of 1.

What held it back

A new strategy went live at full size, too early. A breakout variant went live on 15 May, before it had any paper history at all. It won its first two live trades, which is exactly the kind of start that makes you trust something. Its third, on 25 May, was the month's worst record. The idea hadn't earned that size yet. It's the clearest lesson of the month, and the most expensive one.

The payoff ratio needs to be higher. Across all live trading the average win was 0.58 of the average loss. At a 55% win rate, break-even needs a payoff of about 0.83. Stops were the most common way a live trade ended, at 41% of records.

The margin is thin once charges come in. A profit factor of 1.02 is before brokerage and taxes. After them, the main strategy was close to break-even rather than clearly ahead.

The first week didn't repeat. The main strategy's weekly profit factor went from 1.23 to 0.79 to 0.48 as the month went on, on fewer trades each week.

How trades ended

How the trade ended Live Share of live Share of paper
Stop-loss 31 41% 18%
Partial profit booked 24 32% 18%
Other rule-based exit 9 12% 28%
Closed by hand 5 7% 1%
Trailing stop 5 7% 15%
Time limit or end of day 1 1% 2%
Target reached 0 0% 18%

What I'm watching in June


Every scorecard uses the same layout and definitions, explained on the scorecard page. Figures are counts and ratios from the trade log, before brokerage and taxes. For how I read the log, see how I analyse my trading bot's trades.

This scorecard describes my own 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.

Questions people ask me

How did the trading bot do in May 2026?

In May 2026 the bot's main strategy placed 66 of the 75 live trades. Before charges its wins slightly outweighed its losses (profit factor 1.02), and the same strategy on paper agreed (1.16 over 278 records). Its losses stayed small: the largest was 2.7 average losses, while its best win was 9.2. The month as a whole finished below break-even because of one trade on 25 May, in a new strategy that had placed only three live trades.

What was the biggest lesson from May 2026?

Give new strategies a small size until they have a track record. In May, one trade from a strategy with three live records outweighed the main strategy's entire month.

bot scorecardmonthly reporttrading botwin rateprofit factordrawdownlive tradingpaper trading
N

NineFifteenAM

One trader building an options bot for Indian index markets since early 2026. I write down how it is built, what broke, and what it cost — no tips, no calls, no returns.

Related

29 Sept 2026
What I got wrong in month oneMistakes from my trading bot's first weeks and first live month: the wrong expiry, stops facing the wrong way, a backtest I believed, and a misleading win rate.
Mistakes that cost me
29 Sept 2026
Paper trading vs live trading: what actually changesMore than 10,000 paper trades and about 400 live ones since April. What changed when real money was on the line: fills, rejections, plumbing, and me.
The journey
29 Sept 2026
How to place your first order with the Kite Connect API in PythonPlace, check and cancel your first order with Zerodha's Kite Connect API in Python, after rehearsing it in a paper mode that sends nothing to the exchange.
Guides