For information and education only. Not financial advice. Past results, including back-tested ones, do not guarantee future returns. Data is delayed.

All research

I built a stock-scoring tool for swing trading. Did it work?

Didn't work · 18 Oct 2026 · 8 min read

Short answer: No. Over three years and about 26,000 daily calls on 36 big US stocks, the stocks it scored highly did no better over the next week than the ones it scored low, and its buy plans lost to buying on random days.

Where this started

I got interested in swing trading a while ago. The idea is simple: you don't buy a stock to hold for years. You buy it, hold it for a few days or a couple of weeks while it makes a short move, and sell. Do that well, again and again, and the small wins add up.

Swing traders mostly read price charts. They look for a stock in a healthy uptrend that has dipped a little, and buy near a price where it has bounced before. They decide in advance where they will sell at a loss and where they will take the profit.

That sounded like something a computer could do every day, for many stocks, without getting tired or emotional. So I built a tool to do it.

What the tool did

Every evening, for each of 36 large, well-known US stocks (Nvidia, Apple, Amazon, AMD, Taiwan Semiconductor and similar names), the tool went through four steps.

1. Find the important price levels

2. Give the stock a score

The score added up points for things chart traders like to see:

What it looked atPoints
Are the short-, medium- and long-term price averages lined up in an uptrend?0 to 2
Do two popular chart indicators (MACD and RSI) look healthy?0 to 2
Is more volume trading on up days than on down days?0 to 2
How many of its trend signals agree that conditions are good?0 to 3
Is the market rising, and is the stock stronger than its industry?0 to 2
Have company insiders been buying or selling?−1 to 2

To qualify, a stock needed 6 points or more. The bar went up in tricky conditions: 2 more points when the market was choppy and going nowhere, and 1 more when the stock had made several lower lows in a row.

3. Run the safety checks

Some situations blocked a trade no matter how good the score was:

4. Make a trade plan

If the stock qualified, the tool wrote a plan with three prices:

The plan only counted if the possible gain was at least twice the possible loss. Finally, an AI model wrote a few plain-English sentences explaining the decision. The AI only explained; the rules made the call.

What it looked like

Here is a simplified example of one evening's output. The numbers are made up, but the format is the real one.

The tool's output
StockA large chip maker
Price today231.50
Major support221.00
Resistance (10-day high)240.30
Score7 (needed 6)
DecisionQUALIFIED (green)
Buy at226.21 (the 20-day average, about 2.3% below today's price)
Stop-loss223.13
Target240.30
Possible gain vs possible lossabout 4.6 to 1
AI summary"Trend aligned, entry near support. Entry 226.21 with a stop at 223.13. No blocking conditions are active."

And a rejection might read: NOT QUALIFIED (red). Score 4, below the threshold of 6. Price is only 2.93 below the next resistance at 234.20, so there is little room to the target. Wait for a close above that level or a pullback to support.

There was also a yellow state, "price-blocked", for a good setup where the price was in the wrong place that day.

On paper it all made sense. Every rule is something you will find in swing-trading books.

Putting it to the test

I replayed the tool on three years of history, up to October 2026: about 750 trading days and roughly 26,000 daily decisions. For each decision I asked two simple questions.

Did a higher score mean a better week ahead?

No. The stocks it scored highly did no better over the next five trading days than the ones it scored low. Statistically, the link between the score and the next week's return was −0.003, on a scale where +1 means perfect, −1 means perfectly backwards and 0 means no link at all. In plain terms: zero.

Did "qualified" stocks beat the rejected ones?

No. I measured each trade's result against what it risked (the gap between the buy price and the stop-loss). Both groups made about the same: roughly 0.04 times what they risked, per trade. The careful decision added nothing.

A trap that fooled me at first

Both the qualified and the rejected stocks beat the S&P 500 over the next week, on average. That looked encouraging until I realised why: I had picked these 36 stocks because they are famous today, and stocks become famous mostly by going up. On a list chosen with hindsight, almost any pick looks good. It says nothing about the tool.

Do support levels even work?

The whole buy plan rested on one idea: that a stock bounces when it falls to support. So I tested that idea on its own, on a much bigger set: every S&P 500 stock from 2015 to 2021. Each day I placed a buy order at each stock's support level and watched what happened after it filled.

Imagine 10,000 dollars on each filled order, compared with the average stock over the same days:

Orders filled at supportHow manyAfter 1 weekAfter 2 weeks
All stocks36,7492 dollars more (+0.02%)4 dollars more (+0.04%)
Strong stocks only9,5669 dollars more (+0.09%)13 dollars more (+0.13%)

A few dollars per 10,000 is nothing; trading costs are bigger than that. Buying at support was also no cheaper than simply buying at the next morning's price. And in my own tool, stocks well above support actually did slightly better the next week (+0.48%) than stocks sitting right on it (+0.15%).

Trading it like a real person

Finally, I traded the tool's plans exactly as I would have: place the buy order at support, wait for it to fill or not, then sell at the stop or the target. One trade at a time, each held for at most a week (or, in a second run, at most two weeks).

To see whether the timing was any good, I compared each stock with the same number of trades, held just as long, but started on random days. I repeated the random version 1,000 times. A tool with real skill should beat most of those random runs.

It clearly beat random timing on only 1 of the 36 stocks, about what luck alone would give. Nvidia is a good example:

Nvidia, October 2023 – October 2026Trades held up to 1 weekTrades held up to 2 weeks
The tool's plans (15 trades)−8.4%−2.9%
Same number of trades on random days (typical result)+9.0%+11.5%
Just owning Nvidia the whole timeabout +407%about +407%

The tool lost money on one of the best-performing stocks of the decade, while random timing made a little and simply owning it made a fortune.

Why didn't it work?

Looking back, a few things stand out:

I later built a more careful swing-trading system, closer to what professional swing traders describe, and tested it on seven years of S&P 500 stocks. It didn't work either; that story is in the article on swing trading.

What I took from it

A tool that sounds sensible, follows the textbook and explains itself nicely can still have no edge at all. The only way to know is to test it honestly, on many decisions, against random choices. Mine failed that test.