How to Use a Stock Screener
To use a stock screener, decide what you are looking for and write it down first, then translate each requirement into one filter, run it, and check that the list is small enough to read and large enough to choose from. The order matters: filters chosen after seeing results are fitted to them.
A screener is a filter over a database, and it will return exactly what you asked for. The difficulty is entirely in knowing what to ask for, which is a decision made before the tool is opened.
Before you start
A screener you can save filters in, so the same screen runs twice. A screen you cannot reproduce next month is a one-off search rather than a process, and the whole value comes from repetition.
A written idea of what you are looking for, before any filter is set. One sentence. If it cannot be written in one sentence, the screen will not be a screen — it will be a search for something appealing.
Somewhere to record what the screen returned, so it can be checked later. A spreadsheet is enough. Without it you cannot tell whether the screen has ever produced anything.
The steps
1. Write the screen’s purpose in one sentence
“Profitable companies trading below their five-year average earnings multiple.” “Liquid stocks that have pulled back to a rising moving average.” One sentence, written before any filter exists.
2. Set the liquidity filter first
Minimum average volume and minimum price. Anything you cannot get in and out of is not a candidate regardless of how good it looks, so remove it before looking at anything else.
3. Translate each requirement into exactly one filter
Your sentence has two or three requirements. Set two or three filters. Every additional condition narrows the result and adds a place where the screen can be wrong.
4. Run it and count what comes back
Aim for something between 15 and 40 names. Under 5 means the filters are too tight; over 200 means they are too loose and the list will not be read.
5. Loosen or tighten one filter at a time
If the count is wrong, adjust a single threshold and re-run. Changing three at once means you never learn which one was doing the work.
6. Save the screen with a name and a date
Name it after the sentence from step one. A screen you cannot re-run next month cannot be evaluated, and evaluating it is the only way it improves.
7. Record the list before doing anything with it
Paste the names and the date into a file. In three months that record is the only evidence about whether the screen finds anything useful.
How to tell it worked
The list is between 15 and 40 names. Small enough to read every one, large enough that you are choosing rather than accepting.
Every filter traces back to your sentence. If a filter is on the screen and not in the sentence, it was added to make the list look better.
The same screen run 30 days later returns a mostly different list. A screen returning the identical names every month is measuring something static rather than a condition.
And you can state what the screen would have to return to be considered broken. If nothing would disprove it, it is not being tested.
What a screen cannot do
It finds candidates, not trades. Everything after the list — the entry, the stop, the size — is separate work, and a screen that produces a name says nothing about any of them.
On this site’s shared series a round trip measures about 2% of the median bar range of 0.493, and it exceeds 10 percent of the bar on 15 of 576 bars. A screen returning 40 names is not an instruction to take 40 positions.
The data is also as of some moment. Fundamental fields update on reporting schedules, so a screen run today can be filtering on figures several weeks old.
The original data
Of the 24,971 unique videos in research/search-study-corpus.jsonl, 10 have an instruction-shaped
title about screeners, at a median of 47,614 views across 8 channels. Screening more broadly appears
in 46 videos at 10,417 and one named screener in 52 at 4,363. The counts come from
site/rank_howto.py, which deduplicates by video id.
10 videos at a 47,614 median against 46 at 10,417 for the general subject. The specific procedure carries nearly five times the audience per video of the general discussion, which is the pattern across every operational subject measured on this site.
The answer to the question on that chart is that an empty list is a result. It means the condition you described is not present in the market at the moment, which is information. Loosening filters until something appears converts the screen into a search for anything at all — and the names it then returns satisfy a condition you never actually chose.
When it fails
The failure is a screen that grows filters until its output looks appealing, and it never feels like a mistake while it is happening. Each addition is defensible on its own, the list improves visibly with every one, and the finished screen is fitted to the data it was built on rather than describing anything general. It will keep returning attractive lists and it will have stopped being a test of anything, because there is no longer a condition it could fail to find.
The second failure is skipping the liquidity filter. An unfillable name is not a candidate.
A third is running a screen without recording the output. It cannot be evaluated later.
A fourth is treating the list as a set of trades. It is a set of candidates.
A fifth is changing several filters at once. You learn nothing about which one mattered.
And a sixth is trusting stale fundamental fields. They update on reporting schedules, not daily.
Related
Backtesting software is what turns a saved screen into something testable. Backtesting is how you find out whether the screen’s output was ever worth acting on. And the trading plan is where the surviving names have to fit before any of them becomes a position.
The habit that changed my results was writing the screen’s purpose in one sentence before opening the tool, and refusing to add a filter that was not in that sentence. Every screen I have ever regretted was one where I kept adding conditions until the list looked appealing, which is fitting the filter to the answer.
— Michael Whitman
This page is educational, not financial advice. Test every idea on your own charts before risking money.