HOW THE SIGNAL IS DERIVED
Every stock gets a COMPOSITE score (0–100). It is a blend of five bucket scores — quality, value, health, growth, momentum — each computed as a percentile rank against the rest of today's universe, not a fixed formula. A metric is only ever "good" or "bad" relative to the other ~500 stocks screened today. The buckets are weighted, then the score maps to a signal:
| Composite | Signal | Meaning |
|---|---|---|
| ≥ 65 | BUY | Above-average tier on the blended score. |
| 50 – 64 | HOLD | Middle of the pack — no strong edge either way. |
| < 50 | SELL | Below-average tier on the blended score. |
| — | NO DATA | No usable annual statements from Yahoo for this ticker (common for recent IPOs/spinoffs). |
Bucket weights in the composite: quality 25% · value 25% · health 20% · growth 15% · momentum 15%.
HARD GATES — Z · M · F column
A hard gate is pass/fail, independent of the composite score, and does not override the BUY/HOLD/SELL rating above — a stock can show BUY on its composite while still failing a gate below. Always check the three gates here before acting on a high score: a statistically distressed, statistically manipulated, or low-quality-accounting balance sheet is worth knowing about even when valuation or momentum looks good.
| Gate | Pass threshold | Scale & interpretation |
|---|---|---|
| Altman Z bankruptcy / solvency risk |
Z ≥ 1.81 | Z < 1.81 "distress zone" · 1.81–2.99 "grey zone" · Z > 2.99 "safe zone". Blends working capital, retained earnings, EBIT, market cap and sales, all scaled by total assets. Skipped (shown as unknown) for Financial Services companies — the formula's working-capital assumptions don't fit banks/insurers. |
| Beneish M earnings manipulation risk |
M ≤ −1.78 | M above −1.78 flags an elevated statistical probability of earnings manipulation (aggressive revenue recognition, accrual games, etc.), per Beneish's original 8-variable model comparing this year's accruals, margins and asset quality to last year's. |
| Piotroski F accounting quality / fundamentals |
F ≥ 4 | 0–9 scale, 1 point each for: positive ROA, positive operating cash flow, ROA improving YoY, cash flow > net income, leverage falling, current ratio rising, no new shares issued, gross margin rising, asset turnover rising. 8–9 strong · 6–7 good · 4–5 medium · 0–3 weak. Open a stock's company page and see its PIOTROSKI F-SCORE card to see which of the 9 checks passed for that stock. |
VALUATION — value bucket
Cheaper (by these measures) ranks higher in the value bucket. Rule-of-thumb bands below are generic market intuition, not the exact screener cutoff — the screener always compares you to today's universe.
| Metric | Typical bands | Notes |
|---|---|---|
| PEG | < 1 cheap for its growth · ~1 fair · > 2 expensive | Peter Lynch's P/E ÷ earnings-growth-rate heuristic. Uses EPS growth when positive, else revenue growth. |
| P/E | < 15 cheap · 15–25 average · > 25 expensive | Price ÷ trailing EPS. |
| P/B | < 1 below book · 1–3 typical · > 5 rich | Price ÷ book value per share. |
| P/S | < 1 cheap · 1–4 typical · > 8 rich | Market cap ÷ trailing revenue. |
| EV/EBIT "acquirer's multiple" | < 8 cheap · 8–15 typical · > 20 rich | Enterprise value ÷ EBIT. Lower = a buyer recoups their cost faster from operating profit. |
| Earnings yield | > 8% cheap · 4–8% typical · < 4% rich | EBIT ÷ enterprise value, i.e. the inverse of EV/EBIT as a %. Higher is better (opposite direction from the multiple). |
| FCF yield | > 6% attractive · 2–6% typical · < 2% weak | Free cash flow ÷ market cap. Higher is better. |
| Graham upside | positive = trades below Graham number | Graham number = √(22.5 × EPS × book value/share); a defensive fair-value estimate. Upside % = how far price sits below it. |
FAIR VALUE — averaged intrinsic-value estimate
The FAIR VALUE / FAIR UP% columns are a simple average of up to 5 independent per-share fair-value estimates (needs at least 2 to report a number). FAIR UP% also feeds into the value bucket, alongside PEG/P-E/P-B/etc. This is not a price target — it's five different old-school value formulas averaged together, each with its own blind spots (see below).
| Method | Formula | Known bias |
|---|---|---|
| Graham Number | √(22.5 × EPS × book value/share) | Benjamin Graham's defensive-investor formula. Penalizes asset-light, brand-driven businesses (low book value relative to earnings) — routinely calls quality consumer/tech names "expensive." |
| Lynch / PEG fair value | EPS × growth rate (capped at 30) | Peter Lynch's "fair P/E equals growth rate" heuristic. Only computed when EPS and growth are both positive; overstates fair value for low-quality names with a one-off growth spike. |
| 2-stage DCF | FCF/share grown 5yr (fading to 2.5% terminal growth), discounted at 9%, plus a Gordon-growth terminal value | Textbook discounted cash flow, but simplified: treats reported free cash flow as if fully available to equity holders (skips a true cost-of-equity/WACC build), and is very sensitive to the growth and discount-rate assumptions. Needs positive FCF. |
| Acquirer's Multiple reversion | (EBIT × 8 − debt + cash) ÷ shares | Tobias Carlisle's "cheap" EV/EBIT benchmark (8×) applied as a fixed target, not a sector-specific one. Needs positive EBIT — usually unavailable for banks/insurers. |
| Sector-median P/E reversion | EPS × median P/E of same-sector peers in today's universe | Purely relative — if a whole sector is over- or under-priced, this reverts to that sector's own bias rather than an absolute anchor. Needs ≥5 peers with a sane P/E (0–100) in the sector. |
QUALITY & HEALTH — quality / health buckets
| Metric | Typical bands | Notes |
|---|---|---|
| ROE | > 20% strong · 10–20% okay · < 10% weak | Net income ÷ shareholder equity. |
| ROA | > 8% strong · 3–8% okay · < 3% weak | Net income ÷ total assets. |
| Gross / operating margin | higher = more pricing power | Compared within sector ideally — margins are structurally different across industries. |
| Debt / equity | < 1 conservative · 1–2 moderate · > 2 leveraged | Total debt ÷ shareholder equity. Lower ranks higher in the health bucket. |
| Current ratio | < 1 liquidity risk · 1.5–3 healthy · very high can mean idle cash | Current assets ÷ current liabilities. |
| Interest coverage | > 5× safe · 2–5× watch · < 2× risky | EBIT ÷ interest expense. |
GROWTH & MOMENTUM — growth / momentum buckets
| Metric | Typical bands | Notes |
|---|---|---|
| Revenue / EPS growth | higher ranks higher | YoY, from the latest annual statements. 2yr EPS CAGR adds a longer lens. |
| 6M / 12M return, vs 200DMA | higher ranks higher | Price momentum — trending stocks tend to keep trending, until they don't. |
| RSI-14 | sweet spot ≈ 50 · > 70 overbought · < 30 oversold | Unlike the others this is not "higher is better" — the momentum score peaks near neutral RSI and fades at both extremes. |
| 50/200 DMA trend | Golden (50>200) vs Death (50<200) cross | Shown on the company page, not separately scored. |
AI PRICE FORECAST — LSTM (company page, on demand)
| Metric | Typical bands | Notes |
|---|---|---|
| Model | n/a | A small recurrent neural net (LSTM), coded from scratch in NumPy — no TensorFlow/PyTorch — trained fresh per stock on that stock's own daily closes (up to the last 20 years) the first time you open its company page, then cached for a day. |
| What it predicts | n/a | Next-day price and a 20-trading-day (~1 month) forward path, by predicting daily log-returns and compounding them forward — not the raw price level, which would just track yesterday's close. |
| Backtest directional accuracy | ~50% is expected | Trains on the first 90% of this stock's sequences, then checks next-day direction on the held-out last 10% it never trained on. Daily stock returns are close to a random walk, so ~50% (a coin flip) is the honest baseline — this is a technical curiosity, not a trading signal. |
| Long-term BUY/SELL/HOLD (3/6/9/12 month) | ±5% / ±8% / ±12% / ±15% | Same trained model, rolled forward further (~21 trading days ≈ 1 month). BUY if the model's predicted change at that horizon clears the threshold, SELL if it's below the negative threshold, else HOLD. The threshold widens with horizon since a bigger cumulative move is unremarkable further out. |
| Long-horizon reliability | degrades with horizon | Each step feeds the model's own prediction back in as the next input, so errors compound — 9-12 month reads are mostly the model's own trend bias echoing forward, not a real forecast. Treat 3-month as a rough extrapolation and 9-12 month as directional color at best. |
INTERNATIONAL MARKETS — India (NIFTY 50) & UK (FTSE 100)
Everything above was built and tuned against the US screen first. Opening the same screener on another market's universe (the Market selector, top of the Screener page) carries real, disclosed gaps rather than a false sense of parity with the US data:
| Gap | What to expect | Why |
|---|---|---|
| Fundamentals coverage | more "NO DATA" / low Piotroski confidence than the US screen | Piotroski/Altman Z/Beneish M/DCF all read specific English-language line items (e.g. "Total Revenue", "Retained Earnings") out of Yahoo Finance's statements. Those field names were verified against US filers; non-US filers on Yahoo can use different statement taxonomies, so some ratios may come back empty even when the company itself reports healthy fundamentals. |
| Market hours | simple open/closed only — no pre-market/after-hours split | The US screen distinguishes pre-market/open/after-hours/closed; India (NSE) and UK (LSE) only ever show open or closed. Neither market's holiday calendar is modeled (same simplification the US screen already makes) — a handful of days a year, a market shown "open" may in fact be closed for a local holiday. |
| Sector taxonomy | not comparable across markets | The US uses GICS sectors, India's NSE listing uses its own generic sector labels, the UK's FTSE listing uses ICB sectors. Sector-relative scoring (sector-median P/E reversion, the sector filter) is only ever meaningful within one market's own screen — switching markets resets the comparison set, it never blends them. |
| Congress & insider activity | US-listed securities only | The Congress page and every company page's "Congress & Insider Activity" panel track US Senate/House/executive-branch stock disclosures — there is no equivalent dataset for India or UK trades, so that panel is intentionally empty outside the US screen rather than shown as an error. |