How the bots pick stocks
Every number on this site comes from one pipeline that runs on its own every morning. Here is every step, with the real rules and today's real numbers.
Updated every weekday morning. The bot checks every company that reported earnings the day before. Those that pass the price screen get their reports scored by AI, and any that pass the rules join the rankings that day. Ranks shift as new reports come in. Last check: Oct 16, 10:31 PM PT · 81 companies checked, 1 reports scored, 1 new in the rankings.
- 1
Earnings calendar
Which companies report this week (Finnhub).
- 2
Price screen
Python checks the price history of each one (Yahoo Finance).
- 3
Earnings reports
The last 8 official earnings releases (SEC EDGAR).
- 4
AI scores them
Each report gets a 0-100 score (Claude, by Anthropic).
- 5
Valuation grade
A to F: is the price fair for the growth?
- 6
Rating and size
The calculator turns it all into a buy amount.
- 7
Bots trade
Each bot applies its own rules, with paper money.
1. The price screen
Only strong, established, liquid companies go further.
- Price up at least 125% over 5 years
- Price up at least 25% over the last year
- At least 2 years of trading history
- Company worth at least $300M
- At least $5M traded per day on average
A Python script checks every company reporting earnings each day. A one-time sweep also checked the whole US market, so stocks between reports are covered too.
2. Reading the earnings reports (1 to 8)
Report 1 is the newest; report 8 is two years old.
The bot downloads the company's official earnings press releases from the SEC's EDGAR database and gives each one to Claude (an AI model by Anthropic), set up as a disciplined fundamental analyst. It judges only what that report says, compared with typical companies in the same sector: no stock price, no news, no hindsight.
What it weighs: revenue and growth, margins, earnings per share, cash flow and debt, guidance for the next quarter, key industry metrics (orders, subscribers, backlog...) and major news in the report.
| Score | Meaning | How often |
|---|---|---|
| 90-100 | Exceptional: growth, profits, cash flow and guidance all strong | about 1 in 10 |
| 80-89 | Excellent: above its sector on most measures | about 2 in 10 |
| 70-79 | Good or mixed: an ordinary solid quarter | 3 to 4 in 10 |
| 60-69 | Neutral to weak: slowing growth, pressure, cautious outlook | less often |
| under 60 | Poor: shrinking, losses, lowered or withdrawn guidance | rare among screened stocks |
The trend is the average of reports 1-4 minus the average of reports 5-8: is the company getting better or worse than a year ago?
3. The valuation grade (A to F)
Is the price fair for what the company delivers?
Claude compares P/E, PEG, EV/EBITDA and price/sales with the company's growth, margins and sector norms.
- AClearly cheap for its growth and quality1 pts
- BReasonable: premium justified by growth0.8 pts
- CFair to somewhat full0.4 pts
- DExpensive: far above sector, ahead of growth0.1 pts
- FExtremely expensive, or no profits to justify it0 pts
4. The calculator: from scores to a buy amount
First a stock must pass every rule. Then four inputs become one rating.
- Newest earnings score 80 or higher
- Valuation grade B or better
- Up 25%+ over 1 year and 125%+ over 5 years
The four weights
- Valuation grade 40%
- Newest score 30%
- 1-year gain 20%
- Score trend 10%
How each input earns points (0 to 1)
- Score: 80 earns 0, 100 earns full points, a straight line between.
- Trend: -5 earns 0, +10 or better earns full points.
- Grade: A 1, B 0.8, C 0.4, D 0.1, F 0.
- 1-year gain: a "sweet spot". Rising strongly is good; a stock that already tripled has less room, so its points fall away.
1-year gain sweet spot
The dot is today’s #1, JBL.
Buy amount = $100 + ($1,000 − $100) × rating. Base: $50,000 budget ÷ 80 stocks = $625 each.
Worked example: today's #1, JBL
Report of Sep 30, 2026. The same math runs for every stock, every day.
| Input | Value | Points (0 to 1) | Weight | Adds |
|---|---|---|---|---|
| Newest score | 90 | 0.50 | × 30% | = 0.150 |
| Trend (avg 1-4 minus 5-8) | +9.0 | 0.93 | × 10% | = 0.093 |
| Valuation grade | A | 1.00 | × 40% | = 0.400 |
| 1-year gain | 49% | 1.00 | × 20% | = 0.200 |
| Composite rating | 0.843 | |||
Buy amount = $100 + ($1,000 − $100) × 0.843 = $859
Today's calculator: the top 10
How today's best-ranked stocks earn their points. Brighter points = closer to full marks.
| Rank | Stock | Score | Trend | 1-year | Grade | Score pts | Trend pts | 1-year pts | Grade pts | Rating | Buy $ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| #1 | JBL | 90 | +9.0 | 49% | A | 0.50 | 0.93 | 1.00 | 1.00 | 0.84 | $859 |
| #2 | TNK | 90 | +20.5 | 113% | A | 0.50 | 1.00 | 0.87 | 1.00 | 0.82 | $842 |
| #3 | AMG | 88 | +15.0 | 57% | A | 0.40 | 1.00 | 1.00 | 1.00 | 0.82 | $838 |
| #4 | INDV | 88 | +14.0 | 52% | A | 0.40 | 1.00 | 1.00 | 1.00 | 0.82 | $838 |
| #5 | STNG | 88 | +15.8 | 58% | A | 0.40 | 1.00 | 1.00 | 1.00 | 0.82 | $838 |
| #6 | EZPW | 88 | +7.8 | 61% | A | 0.40 | 0.85 | 1.00 | 1.00 | 0.80 | $824 |
| #7 | ADI | 93 | +7.8 | 78% | B | 0.65 | 0.85 | 1.00 | 0.80 | 0.80 | $820 |
| #8 | LLY | 93 | +7.5 | 42% | B | 0.65 | 0.83 | 1.00 | 0.80 | 0.80 | $818 |
| #9 | AVT | 86 | +21.8 | 104% | A | 0.30 | 1.00 | 0.96 | 1.00 | 0.78 | $804 |
| #10 | STRL | 92 | +6.8 | 53% | B | 0.60 | 0.78 | 1.00 | 0.80 | 0.78 | $800 |
See all 120 stock rankings, every other scored stock and where any stock stands →
5. The bots
Same scored stocks, 7 different ways to trade them.
- Ace Bot TraderReacts: hook + half-sale + sells on a weak report
- Rex Bot TraderHolds like the S&P 500: sells only on a weak report
- Max Bot TraderStarted fully invested from your list; wider hook
- Old Man Bot TraderYour 2025 formula: screen + old sizing; 35% hook only
- Ladder Bot TraderRanked boxes, each a fixed %; rebalanced every quarter
- Cloud Bot TraderClaude's design: 30 equal A/B picks on improving reports; 35% hook; market filter
- Gemini's Catalyst Bot TraderGemini's design: score 85+, rising trend, no lowered guidance; 20 x 5%; 20% trailing stop
6. Don't put all your eggs in one basket
Why some bots limit how much money goes into one sector.
Every company belongs to a sector, its industry: Technology, Healthcare, Energy, Industrials and 7 more. Stocks in the same sector tend to rise and fall together: when chip demand slows, most chip makers drop the same week.
A bot with no limit simply buys the best-ranked stocks. Because the strongest stocks often come from one hot sector, it can end up with half its money there. That's great while that sector is winning and painful when it turns. A sector limit (Ace, Rex, Max and Cloud use 25%) skips a buy that would push one sector over the limit and takes the next-ranked stock from another sector instead. The bot gives up a little upside for a smoother ride.
You can watch the difference live: Gemini's Catalyst has no limit and Ace has 25%. Each bot's page shows its Money by sector bar. On Build Your Own Bot the setting is Max per sector % (25% is a common choice), and My bots shows the same bar for your own bots.
Sources and tools
- Earnings reports: SEC EDGAR, the US government's public filing database.
- Scoring and grading: Claude, an AI model by Anthropic.
- Prices and history: Yahoo Finance. Earnings calendar: Finnhub.
- Everything else: a Python program that runs every morning on a home computer, with Google Sheets as the control panel.
Honest limits
- AI scores can be wrong, and the same report could score a few points differently on another day.
- Prices are delayed and trades are simulated at closing prices: no fees, no taxes, no slippage.
- A few months of results prove very little. A strategy needs years, through good and bad markets.
- Most professional funds fail to beat the S&P 500 over time. These bots may not beat it either.