Skip to main content

Stock Screener

The Stock Screener is a diverse tool for discovering comapanies. It is a great jumping point for narrowing the universe of stocks at the beginning of a research workflow. Get to the screener from the Stocks menu by typing scr, and then pressing enter. There are six categories of statistics to sort the defined criteria by.

  • Overview
  • Valuation
  • Financial
  • Ownership
  • Performance
  • Technical

Running a screen is as easy as entering one of the choices above.

Presets

The default preset upon entering the sub-menu is, top_gainers. This preset, like some of the others, contain no parameters other than a signal - the name of the preset - and has no corresponding file which can be edited. All signals are listed in the table below. Use the commands view and set to select a new one.

Preset and Signal NameDescription
top_gainersstocks with the highest % price gain today
top_losersstocks with the highest % price loss today
new_highstocks making 52-week high today
new_lowstocks making 52-week low today
most_volatilestocks with the highest widest high/low trading range today
most_activestocks with the highest trading volume today
unusual_volumestocks with unusually high volume today - the highest relative volume ratio
overboughtstock is becoming overvalued and may experience a pullback.
oversoldoversold stocks may represent a buying opportunity for investors
downgradesstocks downgraded by analysts today
upgradesstocks upgraded by analysts today
earnings_beforecompanies reporting earnings today, before market open
earnings_aftercompanies reporting earnings today, after market close
recent_insider_buyingstocks with recent insider buying activity
recent_insider_sellingstocks with recent insider selling activity
major_newsstocks with the highest news coverage today
horizontal_srhorizontal channel of price range between support and resistance trendlines
tl_resistanceonce a rising trendline is broken
tl_supportonce a falling trendline is broken
wedge_upupward trendline support and upward trendline resistance (reversal)
wedge_downdownward trendline support and downward trendline resistance (reversal)
wedgeupward trendline support, downward trendline resistance (contiunation)
triangle_ascendingupward trendline support and horizontal trendline resistance
triangle_descendinghorizontal trendline support and downward trendline resistance
channel_upboth support and resistance trendlines slope upward
channel_downboth support and resistance trendlines slope downward
channelboth support and resistance trendlines are horizontal
double_topstock with 'M' shape that indicates a bearish reversal in trend
double_bottomstock with 'W' shape that indicates a bullish reversal in trend
multiple_topsame as double_top hitting more highs
multiple_bottomsame as double_bottom hitting more lows
head_shoulderschart formation that predicts a bullish-to-bearish trend reversal
head_shoulders_inversechart formation that predicts a bearish-to-bullish trend reversal

These signals offer a good starting point, and results can be narrowed by creating a custom preset with defined parameters. Place new presets (which are text files saved as an .ini type) in the OpenBBUserData folder: ~/OpenBBUserData/presets/stocks/screener. Files saved here will populate as a choice the next time the Terminal is launched. Changes to an existing file (same filename) are reflected the next time that screener preset is run, a restart is not required once the preset has been recognized.

Refer to the template file here for all of the available parameters and accepted values.

Preset parameters are grouped into major categories:

  • [General]
  • [Descriptive]
  • [Fundamental]
  • [Technical]

The General category, for example, has two parameters: Order and Signal. The accepted values for both are listed below.

[General]
# Ticker, Company, Sector, Industry, Country, Market Cap., Price/Earnings, Forward Price/Earnings,
# PEG (Price/Earnings/Growth), Price/Sales, Price/Book, Price/Cash, Price/Free Cash Flow, Dividend Yield, Payout Ratio,
# EPS (ttm), EPS growth this year, EPS growth next year, EPS growth past 5 years, EPS growth next 5 years,
# Sales growth past 5 years, EPS growth qtr over qtr, Sales growth qtr over qtr, Shares Outstanding, Shares Float,
# Insider Ownership, Insider Transactions, Institutional Ownership, Institutional Transactions, Short Interest Share,
# Short Interest Ratio, Earnings Date, Return on Assets, Return on Equity, Return on Investment, Current Ratio,
# Quick Ratio, LT Debt/Equity, Total Debt/Equity, Gross Margin, Operating Margin, Net Profit Margin,
# Analyst Recommendation, Performance (Week), Performance (Month), Performance (Quarter), Performance (Half Year),
# Performance (Year), Performance (Year To Date), Beta, Average True Range, Volatility (Week), Volatility (Month),
# 20-Day SMA (Relative), 50-Day SMA (Relative), 200-Day SMA (Relative), 50-Day High (Relative), 50-Day Low (Relative),
# 52-Week High (Relative), 52-Week Low (Relative), Relative Strength Index (14), Average Volume (3 Month),
# Relative Volume, Change, Change from Open, Gap, Volume, Price, Target Price, IPO Date

Order = Ticker

# None (all stocks), Top Gainers, Top Losers, New High, New Low, Most Volatile, Most Active, Unusual Volume, Overbought,
# Oversold, Downgrades, Upgrades, Earnings Before, Earnings After, Recent Insider Buying, Recent Insider Selling, Major News,
# Horizontal S/R, TL Resistance, TL Support, Wedge Up, Wedge Down, Triangle Ascending, Triangle Descending, Wedge, Channel Up,
# Channel Down, Channel, Double Top, Double Bottom, Multiple Top, Multiple Bottom, Head & Shoulders, Head & Shoulders Inverse

Signal = Top Gainers

A new preset file should contain all four categories, even if no parameters are added. The example below is a minimalist example of how it should be structured. This preset is called, djia_components.

# Author of preset: OpenBB
# Description: Filter for the Dow Jones Industrial Average components.

[General]

[Descriptive]

Index = DJIA

[Fundamental]

[Technical]

Set

To set the preset to be the example above, use the set command and press the spacebar. Use the up/down arrow keys to scroll through the presets.

set djia_components

With a preset selected, select the type of data to return by entering one of the six commands listed at the top of this guide. Each command returns a different set of columns which can be sorted by adding the optional -s argument, and selecting a choice populated by autocomplete. The results will display as a table.

Stocks Screener

The next examples will demonstrate the expected outputs, and provide some context for getting started.

View

See the specified parameters for a custom preset with the view function.

view -p bull_runs_over_10pct

- General -
Order : Ticker
Signal: Top Gainers


- Descriptive -


- Fundamental -


- Technical -
Performance: Today +10%
view -p buffett_like
 - General -


- Descriptive -
Market Cap. : +Mid (over $2bln)
Dividend Yield: Positive (>0%)


- Fundamental -
EPS growthnext 5 years : Positive (>0%)
Debt/Equity : Under 0.5
Price/Free Cash Flow : Under 50
Sales growthpast 5 years: Positive (>0%)
Return on Investment : Over +15%
P/B : Under 3


- Technical -

Some presets contain only a signal, therefore there are no parameters to view. Any stock crossing the threshold for the signal will be returned.

view -p channel_up
This preset contains no parameters other than the signal.

S&P 500 Sector Components

A series of presets are included that filter the S&P 500 constituents by sector. There are no parameters, so these presets simply return the components for comparison.

S&P 500

/stocks/scr/set -p sp500_financial_sector/performance

Columns can also be sorted, filtered, or rearranged from within the tables.

Screener Output

Changes made to an existing preset will be reflected immediately, restarting is only necessary when adding a new file. The preset Financial Sector preset can be modified to filter only those companies with a Price-to-Book ratio of under 1.


# Author of preset: OpenBB
# Description: Filter for the S&P 500 Financial Sector components.

[General]

[Descriptive]

Index = S&P 500
Sector = Financial

[Fundamental]

P/B = Under 1

[Technical]

Open presets in any simple text editor, add the desired parameters, save the file, then run the command again. At the time of publication, twelve results were narrowed down from sixty-eight. All available parameters and settings are listed in the text file here.

Financial Sector P/B Under 1

CA

The tickers from the results of the last screen are stored in memory and can be taken into the Comparison Analysis menu to undergo further scrutiny.

Screener Results

set -p buffett_like
performance
?
ca
hcorr

Correlation Matrix of Results