The filter menu provides a set of filters where you can do a first level filtering on the data. You can:
- Search the entire data universe for a specific stock.
- Select a specific watchlist.
- Specify which markets, countries and industries should be included or excluded.
- Filter out stocks above and/or a below a specific market capitalization.
- Remove stocks with below a certain liquidity level.
- Filter out stocks for which the company didn't publish any results during the last x months.
- Specify in which currency you want the filters to work.
These filters - excluding the stock search and watchlist - will also define the stock universe used to calculate relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3).
Finally, you can set up 4 levels of hierarchical filters that allow you to start from a subset of the data, create a subset from this subset, and so on.
The filter menu is available as a slide-in panel. You can open it by clicking on the 'Filter Menu' button in the top menu bar. Once you have set these filters you can close the menu by clicking on the 'Filter Menu' option again.
The following section describes each filter individually:
The screener grid always displays the number of records selected based on the filters set in the filter menu or directly on the columns in the grid. The 'number of records displayed' and the 'total number of records are shown at the bottom right of the grid. To make this information available when you have the filter menu open, we added a 'Number of records' field at the top of the menu. This field automatically gets updated whenever the filters are updated.
You can easily search a specific company using the 'Company Search' field. When you have a value in this field, the screener will ignore all other filters. When you start typing the name of a company, a list of options will show up. You can select a company from the list
- by clicking on it, or
- by selecting it using the up & down arrows and pressing the 'tab' key
After selecting the company it will show up in the screener grid if the company has its primary listing in a country that is covered by your subscription. If this is not the case the screener grid will be empty.
Use this filter to show only the stocks belonging to a specific watchlist. When you select a watchlist here, all other filters are ignored except the 'Company Search' filter. You can remove this filter by selecting the first blank item in the list.
A common requirement is to be able to filter out companies listed on specific markets. Stocks listed on security exchanges such as the 'Pink sheets' and the 'OTC bulletin board' are often not suited to be included in value investing models. Since these markets are not regulated, the companies don't have to meet the same stringent financial reporting requirements and it's often quite difficult to get reliable financial information.
Excluding stocks that have a primary listing on these markets is very easy and can be done by unticking the specific market(s). You can see the changes reflected in the grid once you close the list (by clicking outside the list control). To see a summary of all selected markets, just hover over the filter field.
Please note that the filter will only show the markets covered by your subscription.
The next filter displays a list of countries covered by your subscription. By ticking one or more countries in this list, stocks that have their primary listing in a securities exchange based in those countries will display. The grid is refreshed after closing the list (by clicking outside of the list control).
There are 3 different options to select countries.
- Select countries one by one by clicking on the checkbox next to the specific country.
- Click on a subregion to select all countries belonging to that subregion.
- Click on 'Select All' to select all countries in the list.
For each of these options, clicking a second time will remove these countries from the screener. If you selected a lot of countries, just hovering over the picklist will display a list of the countries selected.
Please note that the filter will only show the markets covered by your subscription.
Most strategies have specific guidelines for excluding industries. The Greenblatt Magic formula for instance excludes financial companies and utilities. We don't remove any companies from our base set but specific industries can be removed very easily using this filter. There are 3 ways to do this:
- Tick the checkbox next to the specific industry.
- Click on the industry group to select all industries belonging to this group.
- Click on 'Select All' to select all industries.
The screener grid is refreshed after every closing of the list (by clicking outside of the list control).
The industries filter will also be used to define the stock universe on which relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3) are calculated.
We use the 2022 version of the North American Industry Classification System (NAICS). The NAICS structure consists of 20 sectors and 96 industries. For more information, visit this link.
You can very easily limit the size of the companies by using the market cap filter. If for instance you want to select only small cap stocks according to the US definition, set the minimum to $300m and the max to $2,000m. Updates are immediately reflected in the screener grid and you can see companies added or removed as you update these threshold values. (Click outside of the control for the changes to take effect)
The currency used in the market cap filter can be selected in the currency filter covered below.
The market cap filter will also be used to define the stock universe on which relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3) are calculated.
Increased demand for illiquid stock will almost immediately drive prices up, making it impossible to build a position at a fair price. It will also be very difficult to sell positions in illiquid stocks as sell orders will bring prices down. To remove these stocks, just set the minimum daily traded value filter. Setting it to 50k for instance will remove all stocks with an average daily trading value (close * volume) of less than 50k during the last month. The currency used for this filter is based on the currency filter explained below.
The minimum trading value filter will also be used to define the stock universe on which relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3) are calculated.
This filter allows you to remove companies that have not posted quarterly results recently. By setting this to 'Last 6 Months', you limit the stock selection to only contain companies that have posted quarterly results with an end date in the last 6 months. This helps keep the screening results fresh and removes companies that have been delisted or are no longer filing quarterly results.
The results age filter will also be used to define the stock universe on which relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3) are calculated.
The currency picklist allows you to specify in which currency you want the filters to be applied. If you select 'USD' for instance:
- The filters on market cap and value traded will be executed in dollars.
- The amounts displayed in the grid (Enterprise Value, EBIT, Net Debt, Excess Cash,..) will be converted to USD.
By converting the values, it becomes very easy to compare companies even if they report their quarterly results in different currencies. We always take the currency exchange rate of the prior day to calculate the amounts.
One of the most powerful screening innovations was introduced by James P. O'Shaughnessy in the 4th edition of 'What works on Wall Street'. O'Shaughnessy found that by combining momentum and value factors, performance significantly increased while at the same time reducing risk. He found that a model based on first selecting the stocks with strong momentum and then selecting the 25 stocks with the highest yield was one of the best performing strategies in his study. We found very similar results in our study. By for instance selecting the top 20% book-to-market companies and then taking the shares in the top 20% price increase, the return over the 12 year period of the study was 1029%.
Running multifactor analysis can be very laborious in excel as you need to set filters, select a subset, copy it to another sheet and set another filter... In our screener you can set these screens up in seconds and get results almost instantly. We provide 4 filters and for each of them you can select a base and top level, each between 0 and 100. 0-10 means good, 90-100 means bad. Depending on the ratio, 0-10 brings back the highest (e.g. EBITDA Yield) or the lowest (e.g. Price-to-Sales) values.
In the example model below, we:
- First select the top 20% stocks with the highest price increase during the last 6 months. This reduces the stocks in the screener from 32,052 stocks down to 6,314 stocks.
- Then, from this subset, we select the top 20% stocks ranked by shareholder yield. This leaves 1,263 stocks in our selection.
- We filter the 1,263 and only keep the 20% stocks with the highest EBITDA Yield. This brings back 253 stocks.
- Finally, we select the top 20% stocks ranked by Book-to-market. This keeps only 51 stocks in our selection.
These 51 stocks can be further filtered or ordered in the screener grid on the right. This might leave even less stocks in the grid. Please note that the above example is for demonstration purposes only. We don't have any studies showing that this particular model is beating the market.
Our powerful screener is able to update the results in real-time as you're changing the factors and the % ranges.
Ever since we started offering the stock screener, our objective has been to make it really intuitive, easy and available to all types investors. We want to provide everyone with the capabilities to run these models on the markets they can invest in and get instant results.
The easiest way to start using the stock screener is to start from a template. Open the templates by clicking on the 'Templates' menu item. This will display a list of templates created by the top gurus in the industry. Every screener has a short description and a hyperlink. Clicking on this link will reload the screener using this template.
Each template comes with preset filters in the filter menu and/or the screener grid. For some filter such as 'Countries', it will keep the countries you had selected before running the template.
Our more experienced users typically have a few screens they have taken great care to build. They run them on a regular basis to see what stocks come to the surface. It's extremely easy to save your favorites to our cloud, upon which they become available on all your devices.
To save your screen, click on the 'Add to favorites' button in the grid toolbar. A popup window opens with 2 panels:
- The top panel allows you to select an existing favorite and overwrite it with your current screen.
- In the bottom panel you can create a new favorite by specifying a name and an optional description. Click on the 'Create' button to create your favorite.
All your favorites are available in the 'Favorites' item in the top menu. Clicking on 'Favorites' shows a list of all your favorites and a description. It also shows a 'Delete' button which allows you to remove the favorite from your list. Clicking on the name will open the favorite.
It's also very easy to create your own watchlists of stocks you want to check on a regular basis. Instead of using the 'Search company' filter to look for each company individually, you can create your own lists. The watchlists then become available in the 'Watchlist' filter in the filter menu.
To create a new watchlist, hover over the watchlists menu item in the top menubar. The watchlist create/edit window will appear.
Enter a name and an optional description. After clicking on the 'Create' button, the watchlist will show up in the top part of the window. Click on the 'Edit' button to add stocks to the list.
All watchlists you create become available in the watchlist filter. Open the 'Filter Menu' and select your watchlist in the watchlist filter. The screener grid will be refreshed and only show the companies on the watchlist. Please note that if you add companies that are not covered by your subscription, these will not be displayed.
It should be noted that relative scores such as the Magic Formula, the ERP5 and the O'Shaughnessy Value Composites (VC1, VC2, VC3) will only be calculated if they're included in the selected stock universe. In the example below, the universe is restricted to the US and Canada, and as a result, these scores will only be calculated for the stocks that have their primary listing in these countries. Adding other countries or changing the market cap filters will recalculate and display the relative scores for all stocks belonging to the updated stock universe.
After setting up your base filters in the 'Filter Menu', you can add additional filters and sort on a specific column. As explained in the multifactor analysis section above, our screener implements multifactor analysis as described by James O'Shaughnessy in the 4th edition of 'What works on Wall Street'. Instead of applying all filters on the basic data set as most other screeners do, we provide the ability to apply filters in levels. The results set retrieved by applying the filters defined in the filter menu can be fine-tuned further by adding one or more column filters in the grid. The results can also be ordered on a specific column, allowing you to select the top x stocks.
Our screener table can also be customized to build the exact screener you want. You can show or hide the columns you want to include, reorder the columns and specify the number of records you wish to include. The table is extremely fast as it only loads the data displayed on the screen, but you can also export the full result set to excel.
The table automatically adjusts to the width of the screen and shows as many columns as can be fitted on your screen. You can fine-tune the width of individual columns to show more columns if needed.
Here's an overview of the main features of the grid:
In the next section we will discuss all features in detail:
Column filters can be added as part of your model (e.g. Piotroski F-score > 6) but they're also often used to filter out extreme or negative values (e.g. P/E < 0).
To add a column filter, click on the filter icon in the column header. A filter menu will show where you can specify up to 2 filters for this specific column. The filter menu will show different options for numbers, dates or text. After entering the filters, click on the 'Filter' button.
You can set filters on as many columns as you need. When a column is filtered, the filter icon in the column header will have a white background. Filters can be cleared in 2 ways:
- By clicking on the filter icon in the column header and pressing the 'Clear' button.
- By clicking on the 'Reset Table Filters' button in the table toolbar. This will remove all filters and sorts from the grid.
Most models rank the data set by a specific column. For the Greenblatt Magic Formula screener for instance, results are sorted ascending on the Magic Formula ranking.
Sorting the values in the screener table is very easy:
- Click on the column header once to sort ascending, i.e. from low to high.
- Click again to sort descending.
- Click again to remove the sort.
Sorting is only allowed on 1 column at a time, so other column sorting will be removed after you apply sorting to a specific column. The column header will show a small triangle if it is used to sort the table data.
When using a template, columns that are used to filter or sort the data will be shown on the left. You can very easily customize the order of the columns by using our drag and drop functionality:
- Click on the column header you want to move and keep the mouse button down.
- Move the column on top of the column where you want it to be moved. As you move the column you will see the header and a plus sign on the left.
- Release the mouse button. The column is added to the left of the column on which you dropped it.
When you move columns, the new order will be stored in the cloud. When you open the screen later on the same or another device, the same order will be displayed.
By default, each column has been preconfigured to have an optimal width depending on the header and content. You can also change the column width to for instance show more columns on your screen.
Position the mouse cursor on the line that divides 2 column headers. When the cursor transforms into the resize cursor, click the left mouse button and hold it down. Drag the cursor to the left or right and release the mouse button to set the new width.
If you want to remove the filters and custom sort in the table grid, just click the 'Reset Table Filter' button.
Most of the models advocate buying the top 20 or 30 stocks in the selection. To make this very easy, we added a 'Page Size' selector at the bottom of the grid that allows you to specify how many records should be shown per page. We also provide an easy navigator that takes you to the other pages.
This setting can also be used to tailor the screener to your screen height. By setting it to a matching height, you can avoid having to scroll up and down the list.
The data table contains quite a number of columns. Most of the columns might not be relevant so we offer an easy way to hide or show them:
- Click on the 'Select Columns' button in the menu at the top of the table.
- Open the relevant categories and check/uncheck the factors you wish to show/hide. The table will refresh as you're making the changes.
- Close the 'Add/remove columns' window.
The Show All button will show all columns.
The Hide All button will hide all columns in one click. This makes it quicker to select the specific columns you want to see.
Our screener is very versatile and offers a lot of features to slice and dice the data in all possible ways, but some of our more advanced users like to filter and sort the data in excel. Other users like to keep a record of their favorite screens at regular intervals. Our table has a 'Export to Excel' functionality, which creates a formatted spreadsheet in the local settings of the user.
- Click on the 'Export to Excel' button at the top of the table.
- The spreadsheet will show in the download section of your browser. (which is usually at the bottom left of the browser window.)
- Click on the spreadsheet to open it.
Please note that depending on the amount of data selected in the screener and the internet bandwidth, it can take a few seconds to download a workbook. During the download, there's no feedback that the process is running. Please be patient and wait until the download is completed.
Exporting works on all browsers and is not restricted. An export workbook contains 3 sheets:
- Results: this sheet contains the full dataset with only the columns visible in the screener. It also uses the same column order and sorts the data based on the column used to sort in the screener.
- Filters: this sheet provides a list of all filters used in the screener.
- Custom Factors: this sheet shows the type and the different factors used for the configured custom composite factors.
The companies listed for a specific screen will change over time. As a result of stock price updates or new results, a stock could fall outside the limits of a filter. And since our screener works up to 6 levels of filtering, it might be difficult to find out exactly why the company no longer shows up in the list.
There are different categories of filters:
- Template filters: some templates like the Enhanced Dividend Yield screen sets additional filters in the background. These filters cannot be altered.
- Menu Filters: this - in combination with the template filters - defines the initial stock universe against which all calculations will be performed. Find more info here.
- Multifactor analysis filters: this allows you to create filters in layers. Find more info here
- Table Filters: this allows additional filters to be created for all columns in the screener. Find more info here.
The filters are applied in different levels:
- Template and menu filters define the first level of filtering. Within the menu filters, when security filter is filled in, all other filters will be ignored. Watchlists is the second most important filter and if this is filled in, all other filters will be ignored. Then the other template and menu filters will be applied.
- Mulitfactor analysis filters will be applied on the stock universe created by the filters above. First factor 1 is applied. This set is used as the basis for factor 2, etc... This step allows users to add up to 4 levels of filtering based on a ratio and percentile ranges.
- Table filters are based on the set created by applying the 2 groups of filters explained above.
To see a list of all filters, just click on the 'Where is my company' button. This brings up a window listing all different filters. To find out why a certain company is not listed in the screen, just start typing the company name in the provided textbox. While typing the name, a list of companies will show. Click on the specific company or click on tab to select it. This runs a batch of tests that will reveal why the company dropped out or why it's included.
The testing algorithm is performance optimised and will only perform tests if the previous layer of filtering doesn't already remove the stock. For example if a stock is not included in the countries filter, it's not worth checking the multifactor analysis as the stock would not be included in the base set used by the multifactor analysis. Similarily, it will not test any table filters if the stock was already filtered out based on template filters, menu filters or multifactor filters. The only exception to this rule is filters on name or watchlist. In this case it will still run the tests even if the stock doesn't appear in the watchlist or doesn't have the name set in the name filter.
For each line in the filters list, the following information will be displayed:
- Filter: the name and type of the filter.
- Value: the value of the filter defined in the template or set by the user.
- Test: the results of the test. 'Pass' means that the company meets the filter criteria. 'Fail' means that the company does not meet the filter criteria. 'Not Tested' indicates that the test was not necessary since the company was already excluded by an upstream filter.
- Security value: this shows the value for a specific company. For menu filters or table filters, this is the value for this specific company. For factors, this will show the percentile in the subset to which the company belongs.
Our stock screener comes with a set of popular composite factors out of the box such as the Greenblatt Magic Formula, ERP5, and the O'Shaughnessy Value Composite. By ranking on a combined score based on multiple factors, one can easily find stocks that rank relatively well on both factors. The Greenblatt Magic formula for instance ranks companies based on ROC and Earnings yield and then sums up the 2 ranks. It then ranks companies on the combined score. Companies with a bad ROC or Earnings Yield tend to drop to the bottom of the screener, so you're left with companies that score quite well on the 2 different ratios. As opposed to multifactor analysis, all factors get equal weight in the overall result.
But what if you want to use a different set of factors or just build a customized version with for instance an extra factor like price index 6M? This is now possible by using custom factors.
Click on the Custom Factors button to open the custom factors window. Click inside the factor 1 textbox and select a factor from the list. You can repeat this process and add as many factors as required. After selecting the factor, you can pick the calculation method. We support 2 calculation methods:
- Value: each factor will be ranked individually first. In a second step, the sum of the rakings is ranked again. Companies where one of the ratios is missing automatically get a bad score. Examples of factors that use this calculation method are the magic formula and ERP5.
- Percentile: Each factor will be used to create 100 buckets with the same number of stocks. (percentiles) Group 1 contains the best stocks, group 100 contains the worst. A company for which this ratio is missing will get be put in group 50. The sum of the percentiles of the different ratios is used to again create overall percentiles. Examples of factors that use this calculation method are O'Shaugnessy's VC1, VC2, and VC3.
We provide 2 custom factors that act just like any other column in the list. To display these custom factors, you use the display/hide column functionality. Custom factors can be used to sort the results in the grid, to set specific filters, to run multifactor analysis, etc...
The screener table contains a lot of columns and you can scroll through them using the horizontal scrollbar at the bottom of the table. To be sure that you're looking at the right row you can select the row by clicking on any cell. This will highlight the selected row.
Our screener table provides a wide range of ratios calculated by our engine, but we don't provide any raw data or detailed financials. To make it easy to get this data, we provide links to the company pages of some of the leading financial sites. Just click on the triangle next in the first column of the table to open up the 'Stock Information' sheet.
One of the most popular factors in our screen is the Piotroski F-Score which is a combination of 9 balance sheet-based health signals. To see how the company scores on each of the signals, you can open the Piotroski F-Score tab.
The company details slide-down pane provides stock information and quick links to websites that have more financial data. If however you want to dive a bit deeper into the stock and get a more graphic representation of the most important factors, you can click on the scorecard icon.