Equation Screeners

Equations let you create highly specific screening criteria using custom, freeform metric comparisons. In an equation, you can use numbers, arithmetic operators (+-*/), comparison symbols (>, <, >=, <=, =), parenthesis, Boolean operators (and, or), as well as some functions. All the custom metric functions work the same in the equation screener and can be used here as well. You can also screen on historical data (e.g., last year’s sales or EPS from 5 quarters ago). Note: Equation Screeners are only available in Premium Plus.

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

You can edit the equation in two modes:

Assisted Mode (default) eases the process of adding metrics to your equation by letting you pick metrics from pop-up search results as you type. To insert a metric, simply start typing a metric name into the equation editor and select from the list that appears.

Text Mode lets you edit the equation as plain text so that cut, copy, and paste are fully supported. To enter a metric, type the full metric name in double quotes (for example, “Cash Flow”) into the equation editor.

These modes are selectable by the radio buttons at the top of the equation editor, called out below.

Ranked screener

In either mode, you can always find and select a metric from the left panel to insert it into the equation. Any metric shown with a calendar icon has historical data available for screening.

Assisted Mode

Assisted mode is the default mode for using the equation editor. To add a metric to the equation, simply begin typing the metric name in the equation form to call up a list of dynamic search results, as shown below.

Ranked screener

If you select a metric, it will be added to the equation box. If you have selected a metric with historical data, it will default to the current value, but if you click the ‘Now’ box, it will reveal a menu where you can select from quarterly or yearly data, example shown below.

Ranked screenerRanked screener

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. Below, you can see that the equation is set up to screen for stocks whose sales are 15% greater than they were a year ago, or for stocks whose EPS this quarter is 10% or greater than its EPS last quarter.

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

Ranked screener
Text Mode

The advantage of text mode is that it supports copy and paste. So, for example, you could easily share equation criteria with others, or you could create multiple variations on the same basic equation easily by copying and pasting. However, because the equations in text mode are entered in plain text, you must be careful to enter the equation using the precise terms and conventions. All metric names must be entered in double quotes and fully spelled out (for example, use Price/Earnings instead of P/E). The following image shows a correctly-entered equation.

Ranked screener

Like in assisted mode, metrics entered in text mode will default to the current period (“Now”). For example if you enter “Cash Flow” in your equation, it will use current cash flow values. However, you can change the period by entering a different period in brackets following the metric name, for example [Y1] for 1 year ago or [Q1] for 1 quarter ago. The above image shows an equation comparing the return on asset values from 5 and 6 years ago.

If you’re 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 bottom 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

Close the Sample Values window and continue editing your screener.

When using either editor, 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.

Equation Screener Examples:

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.

Ranked Screener Update a Screener