Skip to content
Screening workflows 2 min read

How to screen for low-volatility stocks

Build a reproducible screen for low-volatility stocks: choose a universe, define field units and thresholds, compare presets and inspect the matching daily charts.

Write and combine price, volume, and indicator rules in the CleverScan editor.

Write the selection question, read the exact rule and inspect both matching and excluded cases before saving the screen.

Step 01

Write a selection question

Choose whether you want small average true ranges or low variability of daily returns. Low-volatility and defensive-business research are separate questions. A quiet price series does not establish resilient earnings or protection from an event gap.

Step 02

Read field units and lookback periods

ATR percent divides ATR(14) by the close and multiplies by 100. ATR of 1.5 against close 100 gives 1.5%. The historical-volatility variant uses volM1Pct, the standard deviation of daily percentage returns over 21 sessions, without annualization. Its threshold of 1 means one percentage point, a different measure from ATR percent.

Step 03

Start from the canonical preset

Open the paired screen and choose the rule below. It includes the reference population as well as the selection conditions. Use the same expression in CleverScan so the learning example and the screen answer the same question.

securityType = "Stock" and indexMembership contains "SP500" and (atrPct14 < 2)
Step 04

Compare another question before combining rules

Start with the low-ATR preset, then compare the historical-volatility variant. High, low, rising and falling volatility rules name different selections. A narrow-range candle is only one daily observation, while ATR smooths several sessions.

securityType = "Stock" and indexMembership contains "SP500" and (volM1Pct <= 1)
Step 05

Inspect a match and a boundary exclusion

Check scheduled events, gaps and liquidity, then compare the dollar range as well as the percentage. A low average can precede a large move. Keep risk per share and position size separate from the screen threshold.

Change one condition at a time and compare a row just inside the threshold with one just outside it. A zero-match result means the selected population did not meet the whole rule for that session; it is not a reason to silently change the question.

Step 06

Save a reproducible research definition

Save the expression through the editor’s Library workflow. Record the selected session, population and sort so a later run can be compared meaningfully. A saved scan preserves rules, while a watchlist preserves symbols; their results can change independently.

Read the CleverScan syntax reference

Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.

Follow your curiosity

One good question leads to another.

All guides
Make room for better research

Put your curiosity to work.

Build a scan with filters or CleverScan rules. Explore the results. Find your next idea.

Write a CleverScan rule