How the ranking works

How to read the probability signal →

The short version

Swing Finder runs two complementary scoring systems over every stock:

SystemQuestion it answers
ML rank scores (this page)Across all stocks today, which ones is the model most confident about?
Statistical probability (explained here)For a specific trendline's feature pattern, what fraction of historical look-alikes held vs broke?

The ML scores read every stock straight from its price action and rank tickers relative to each other. The statistical model speaks about a single line in isolation. They are best read together.

The ranking model

A single model reads every stock's recent price action and gives it one score:

Sort the universe by that score and the top of the list is the model's highest-conviction set. The evidence below shows how well that ordering holds up out of sample.

How to read a score

Scores rank stocks against each other, and the ranking is predictive. The number itself isn't a return percentage, but higher scores do earn higher returns on average: on out-of-sample data, forward return climbs monotonically from the lowest-scored decile to the highest (the charts below). Read it as a better expected outcome, not a precise forecast for any single stock.

What that means in practice:

The evidence

Every chart here is computed on an out-of-sample holdout: signals the model never trained on. Where returns are shown they are realized forward returns (buy the next open, hold), net of the 0.70% round-trip cost. Click any chart to enlarge.

It separates winners from losers

Sort the holdout by score into ten deciles and look at the share of trades that rose. The win rate climbs cleanly from the lowest-scored decile to the highest: the ranking reliably sorts likely winners from likely losers.

OUT-OF-SAMPLE: the model never trained on this data
Win rate by decile

Selectivity and patience both pay

Realized forward return by how selective you are (top 1% of scores down to the whole field) and how long you hold. The bottom "all" row is the no-model baseline: what a random pick earns from market drift. Both being more selective and holding longer raise the return, monotonically. The top 1% held ~90 days averages about +15% vs ~+4.5% for the field.

OUT-OF-SAMPLE: the model never trained on this data
Return by tier and hold

It held up in the downturn

Per-month deciles; the bottom ALL row is that month's average (a market proxy), so red ALL cells are the down months. The top-minus-bottom spread was positive in every month. In the worst one, with the market down 5%, the top decile was roughly flat and the spread held. The edge is defensive, not a bull-market artifact.

OUT-OF-SAMPLE: the model never trained on this data
Decile return by month

When to sell

Average realized return by exit rule (hold, stop-loss, profit target, bracket, trailing stop) and max hold, on the top-decile trades.

OUT-OF-SAMPLE: the model never trained on this data
Exit-rule heatmap
For average return, just hold to the horizon. Every stop or target only truncates the right tail (the big winners) and lowers the mean. A signal exit (selling when a name leaves the top half) earns more per day of capital (it exits in ~8 days), but that is a turnover play for recycled capital, not a bigger per-trade gain.

Caveats and things to remember

The raw score isn't a return forecast

A score of +1.20 does not mean "12% expected return". It is an uncalibrated ranking value: high scores rank above low scores, but the spacing does not translate to a return. The meaningful quantity is the percentile the score puts the stock in. You cannot read the raw value as a percentage, and the raw scale is not reliable to compare across very different market conditions.

The holdout is real but short

The evidence above is genuinely out-of-sample, but it covers a single year that spans one notable downturn, not a multi-cycle test. Returns are net of the 0.70% Belgian round-trip tax (0.35% each side), entries are at the next open, and thin names can fill worse than the test assumes. Returns are also spread broadly across many names rather than carried by a few, which argues for diversifying over many positions rather than big single bets.

Survivorship

The model's view is shaped by the tickers currently in our universe. Stocks delisted, acquired, or otherwise removed before they reached our coverage are not represented.

Combine with the statistical model

For an active trendline, the statistical model tells you how that line's specific feature combination has historically behaved. When the ML rank score is high and the line's statistical hold-rate is well above the base rate, both signals agree, and that is stronger conviction than either on its own.