stock-alerts
A screening toolkit that finds the levels a chart reader would mark by hand — and then does it for seven hundred tickers while you sleep.
It doesn't predict anything and it doesn't tell you what to buy. It reads structure out of raw price data — the shelves price kept coming back to, the swing lows that held, the gaps nobody filled, where a rising 200-day average will be in three months — and hands you ranked candidates. You decide.
Python 3.10+ · Runs on free data · No account neededThe three tools
A package of analysis code, plus command-line tools that each do one job well.
suggest_levels
Point it at a ticker and it hunts four kinds of structure: consolidation shelves found by time spent at price, confirmed pivot lows, unfilled gaps, and projections of where a rising 50- or 200-day average lands one to six months out.
Levels that several methods agree on score as confluence and rank to the top. Nothing is invented — every number traces back to something on the chart.
python suggest_levels.py HPE python suggest_levels.py HPE ORCL CRM python suggest_levels.py HPE --all
fill_levels
Bulk-builds four-rung entry ladders for every ticker you haven't rated yet. Rungs are spaced to that stock's own volatility, so a quiet utility and a biotech don't get the same 5% steps.
It never touches a ticker you've already rated, and everything
it writes is tagged auto so your hand-set levels stay
yours.
python fill_levels.py --dry AAPL MSFT python fill_levels.py --limit 50 python fill_levels.py
rate_stocks
The interactive pass. Walk your list, set your own price points, quit whenever — progress saves after every stock, so you pick up exactly where you stopped.
Mute a rung you've decided against, snooze a ticker for a fortnight to let a move settle, or re-rate only what's gone stale.
python rate_stocks.py buy python rate_stocks.py --refresh 30 python rate_stocks.py --mute AVGO 2 python rate_stocks.py --show AAPL
And the reports
Run the scanner and it writes plain-text reports you can actually read — no dashboard, no login, just a file.
================================================================
SECTOR ROTATION REPORT
================================================================
Market: SPY = BULLISH, QQQ = BULLISH
SECTOR RANKINGS (vs SPY — 1d / 10d / 30d / composite)
----------------------------------------------------------------
#1 Energy -0.3% +9.3% +13.7% comp:+10.1 LEADING
#2 Healthcare +3.3% +6.8% +6.0% comp: +7.1 LEADING
#3 Financial Services -0.7% -0.5% +1.3% comp: +1.2 LEADING
#4 Consumer Defensive +0.9% +1.6% +1.7% comp: +1.1
#5 Basic Materials +1.1% +0.5% -0.5% comp: -0.0
Alongside it: per-ticker ratings runs, market-regime detection, and retrospective scoring that goes back and grades how earlier picks actually played out.
Running it
1. Install
unzip stock-alerts.zip cd stock-alerts pip install -r requirements.txt
2. Pick your tickers
Open config.json and put whatever you follow in the
tickers list. It ships with around 700 US names grouped
by sector — trim it to taste.
3. Run
python -m stock_checker # full scan and ratings report python suggest_levels.py NVDA # levels for one ticker python fill_levels.py --dry # preview auto-built ladders
yfinance, which is
free and needs no key. If you have an Alpaca account you can add
your keys to a .env file for live quotes — everything
works without it.
Requires Python 3.10 or newer. Dependencies:
yfinance, pandas, lxml.
One thing to be clear about
This is a tool I built for my own use and it is not financial advice. It surfaces structure in historical price data. It has no opinion on whether you should buy anything, and neither do I. Markets can and do go down.
Questions, or want a walkthrough?
Happy to explain any part of how it works, or send the latest build directly.