The 🟢/⚪ lamps just show whether each individual signal is on — they are not a combined score across multiple conditions. This is not investment advice, and it relies on values provided by Yahoo Finance, so accuracy and timeliness are not guaranteed.
Universe: NASDAQ100 or S&P 500 constituents (you choose which one after signing up, and can switch anytime). Only stocks meeting both conditions below become candidates, and the top ones are sent ranked by PEG ascending (ties broken by larger market cap first).
PEG, earnings growth, market cap, and price all come from Yahoo Finance (the yfinance library). PEG is "P/E ratio ÷ earnings growth rate" — a lower PEG means the price is lower relative to growth. We don't recalculate it ourselves. Send frequency depends on the mode (short-term = every trading day, mid-term = every Monday, long-term = first Monday of the month).
Delivery timing: before the US market opens (6:00am US Eastern Time), using data through the previous trading day. On Mondays, since no new trading data exists over the weekend, this naturally becomes data through the prior Friday.
Trend lights up when either of these happens: a cross (the short moving average crosses above/below the long one "on that day"), or alignment (price and each moving average line up cleanly from highest to lowest). All modes use daily data for this judgment.
Momentum is judged by RSI. If the average RSI over the judging cycle (short-term = today, mid-term = last calendar week, long-term = last calendar month's actual trading days) is at or below the oversold threshold, it's a buy signal; at or above the overbought threshold, it's a sell signal.
Volume shows "spiking" as a reference indicator (it has no buy/sell direction) when the average volume over the judging cycle exceeds 1.5x the baseline.
| Mode | Trend | Momentum | Selection report frequency |
|---|---|---|---|
| Short-term | 5-day × 20-day | RSI9 buy at or below 25 / sell at or above 75 (judged on today's value) | Daily (weekdays) |
| Mid-term ←current | 20-day × 50-day / filtered by the 200-day line | RSI14 buy at or below 30 / sell at or above 70 (judged on average over last calendar week's trading days) | Every Monday |
| Long-term | 50-day × 200-day | RSI21 buy at or below 30 / sell at or above 70 (judged on average over last calendar month's trading days) | First Monday of the month (monthly) |
Short-term reacts faster but has more false signals; long-term fires less often. Going a while without a signal is normal in long-term mode.