Equation Screeners


There are going to be instances where screening based on simple thresholds alone will not yield the results required for more sophisticated screening.

For example, we could simply screen based on Earnings Per Share (EPS) over the last year exceeding a certain percentage. But what if we wanted something a bit more complex, like screening for stocks that have reported consecutive years of EPS growth?

This is where equation screeners come into play.

Using equations in a screener lets you create highly specific filtering criteria that allow you to implement sophisticated screen matching criteria.

Note: Equation Screeners are available in Premium Plus only.

Equation Functions

The list of functions that can be embedded into equations can be found here. Note this list is the same list of functions that can be used in Custom Metrics, discussed in the next section.

In an equation, you can use numbers, arithmetic operators (+ – * /), comparison symbols (>, <, >=, <=, !=, =), Boolean operators (e.g. and, or), functions, and parenthesis for proper nesting.

Note that Boolean operators and functions must be specified in lower case.

Custom Metrics

The functions listed in the previous section can also be used when creating Custom Metrics. Custom Metrics can be used in screeners to help filter tickers and/or displayed as columns in the Table.

Note: There is a separate guide to help you learn more about using Custom Metrics in Equation Screeners. It is available in PDF and Word format.

Creating an Equation

To create a screener using equations, first open the screener manager and click ‘Add Freeform Equation’, highlighted by the box in the screenshot below.

Ranked screener

You will then see the following equation editor:

Ranked screener

To add a metric to the equation, simply begin typing the metric in the Quick Search box and pick the metric from the list of dynamic search results.

In the example below the metric:

“1-Month Return vs Industry”

was selected from the dynamic search results and a less than sign was also entered.

Ranked screener

Another option is to turn on Auto Search and then start typing directly into the equation editor and the Search box will populate with the list of dynamic search results.

In the example below the equation:

“1-Month Return vs Industry” < "1-Month Return vs S&P500"

is screening based on the arithmetic results between metrics.

Ranked screener

Historical Equations

You can use current and/or historical values in your screeners to screen for complex conditions.

Historical data is maintained going back 10-years.

The historical levels include:

  1. Quarterly data from the most recent quarter through 9 quarters ago.
  2. Trailing Twelve Month data from the most recent TTM through TTM 10 years ago.
  3. Calendar Year data from the most recent CY through 10 years ago.

To see all the metrics where history is maintained, select Metric Browser from the Start Menu and filter for “Yes” in the History column. This will return a list of all the metrics for which history is maintained. You can filter on additional columns to target a specific class of metrics of interest (i.e. list historical Balance sheet metrics).

Metric Browser

When you select a metric with historical data, the default is to show the current value. When you click on the metric in the box above the equation editor a new “Select Time Period” screen appears.

Ranked screener

Under “Type” select whether to evaluate based on Quarters, Trailing Twelve Months, or Calendar Years.

Under “Value” select the specific time period for that metric that you would like to evaluate in the equation.

Ranked screener

Please note if you have multiple historical metrics you will want to click into the metric to get the correct button to appear at the top of the equation editor.

From here, you can use arithmetic operators (+,-,*,/), the pow() and exp() functions for powers and exponents, comparison symbols (<, >, <=, >=, !=, =), parenthesis, and Boolean operators (“and”, “or”) to create an equation. A comparison symbol is necessary to make an equation valid.

You can enter numerical values into the equation, use any other metric, or use any supported historical data.

The equation below is screening for tickers where the current EPS is greater than the trailing twelve-month value from 1 year ago today.

Ranked screener

Once the equation is completed you can click ‘OK’. This will bring you back to the screener window.

Ranked screener

If your equation is not entered correctly, you will receive an error message saying that the equation is invalid. See the next section to learn how to test your equation to make sure that it is valid.

Testing and Saving Equations

You can test any equation to make sure it is valid simply by clicking the button that says ‘Test’ at the top of the equation editor.

Ranked screener

As called out in red above, you will see a message that tells you whether or not the equation is valid and, if it is valid, how many stocks pass the filter.

As seen in the screenshot below there is also the Sample Values box. Here you’ll see sample values for the metrics included in the equation (in the image above, the sample values shown are for IBM). You can change the sample ticker using the search form.

Ranked screener

If at any time you make edits that you want to reverse, you can click the ‘Undo’ button to reverse each change made, one by one. To go in the other direction and restore changes after using the ‘Undo’ button, click on the ‘Redo’ button as needed. Both buttons are highlighted below.

Ranked screener

Click ‘OK’ when you are finished editing an equation, and the equation will added be to the criteria box, with the number of passing stocks listed just below.

Ranked screener

Please note the following limitations of screener equations:

Currently screener equations are used strictly as filtering criteria and cannot be weighted using the ranking feature. However, you can use equations and ranking on non-equation criteria in the same screener.

Example Equations

Listed below are three examples of using equations in the Stock Rover Screener. Note that the tag inside the brackets indicates the time period to use for each metric in the expression. For example, Now refers to the most current trailing twelve-month period. TTM1 refers to the trailing twelve-month period one year ago, so 12 month prior to the Now period. Likewise TTM2 refers to the trailing twelve-month period two years ago. Y2, which is used in the second example refers to the calendar year two years ago.

Ensure ROIC Improvement

( “ROIC [Now] ” > “ROIC [TTM1] ” ) and ( “ROIC [TTM1] ” > “ROIC [TTM2] “)

Ensure Share Count Not Growing Too Fast

“Diluted Shares [Now] ” <= ( "Diluted Shares [Y2] " * 1.02)

Ensure Debt Reduction

( “Long Term Debt [Now] ” <= "Long Term Debt [TTM1] " ) and ( "Long Term Debt [TTM1] " < "Long Term Debt [TTM2] ")

To learn more about equation screeners, please visit our equations screener examples page.

Ranking a Screener Updating a Screener