Guru Screener
General information only, not financial advice. Methods are inspired by published approaches and are not endorsed by the people they are named after. Read the disclaimer.

How we score

Universe

All current constituents of the S&P 500 index, from a public constituent list that is refreshed with each nightly build.

Fundamental data

Financial statement figures come from the SEC's EDGAR XBRL company facts API, which carries the tagged numbers companies file with their reports. We use annual figures from 10-K filings only. For each fiscal year we take the figure from the most recent 10-K that reports it, so restatements are picked up.

Price data

Daily split-adjusted closing prices from Marketstack end-of-day prices, about 420 calendar days of history per stock. Market value = latest close × the share count on the cover of the company's latest filing.

Scoring

Each test is pass, fail or n/a. "n/a" means a figure we need wasn't reported or there isn't enough history; it's left out of the score instead of being counted as a fail. A method's score is tests passed out of tests evaluated, and the page always shows how many weren't evaluated.

Updates

The site rebuilds every night after the US market close. Price-based tests can change daily; fundamental tests change when a company files a new 10-K. Every page shows the last update date and the date of the price used.

Errors

Everything here is computed automatically from data as filed. Unusual tagging in a filing can produce a wrong figure. If you find one, please tell us.