Complex Terms

Describes how to create more complex Equihack terms

You have been encouraged to create your terms from the “middle out.” You do this by entering all the needed operators first. This creates a framework where you can fill in needed properties and constants. Hopefully, you are now comfortable with that. If so, let’s explore different ways to enter term lines.

Type the entire term in at once

Open a new Stock Screener page. It shows one empty box. Enter the formulas in the quotation marks directly into the box while carefully observing the use of capital letters and spaces: "PE<10 and mc>7b"—press return. Almost everything we spent the whole first lesson entering pops up on the screen. Wow, you say!

 

 

Note that there are no spaces in the conditions that go on a line, but there is a space surrounding the word “and” when entering the shortcut.

So let’s enter the second lesson’s screener: isp/iss>5 and clo*isp>40000. Press return and the whole second lesson pops up. Or does it? Look more closely, and you see that the “is” family brings up both “insiders” and “institutions.” The program picked the top choice: insiders. You can still be ahead of the game by quickly clicking on them and picking the correct choice.

This super shortcut is for more advanced players, obviously. Some short property names like PE get tangled up with operators like percentile—there aren’t enough letters for the program to pick correctly, but capital PE gives it no choice. Likewise, Close works if you type clo but gives you classify if you type "cl."

Have fun; play with the super shortcut when you know the shortcut names for the properties you are working with, and you will save a lot of time.

Constructing Terms in Stages

Next, say you are hell-bent on entering your term’s arguments from left to right. Or even more challenging, say you want to expand an existing argument with some calculation that needs boxes for properties and operators. You can, but let’s go through what you will see and the rules.

A firm grasp of the rules of Equihack grammar will keep you out of trouble. You already know all the basic players and rules, but now you will ask them to find their seats at the table differently. Think of it as constructing a building. Up to now, we have been working from an architect’s plan. What follows is like adding a room on the back of the building, redesigning rooms inside the building, and in some cases, replacing the foundation of the building. Do it with an understanding of the game's rules: no problem. Do it sloppily: the building may collapse.

The basics: Equihack consists of numbers and instructions. The numbers come from stock records or constants you enter. The instructions come from a list of 70 or so choices. The numbers, whether called a property, constant, variable, formula, or period of time, hover around the instructions that tell them what to do. We call the instructions “operators”—the wheeler-dealers that lay out the game's rules.

The 70 or so operators are all listed together in alphabetical order. Like a staff meeting in a hospital, some have long white coats on, others are dressed in multicolored jackets, others are in scrubs, and some have ties on. So it is with Equihack’s operators. Some are like labor, and some are like management. The labor takes action, like adding numbers together. The management defines strategy and tactics, such as sizing relative values and making decisions.

Let’s breakdown the operators into these groups:

  • Arithmetical: add, subtract, multiply, and divide. They are laid out on the screen as number-operator-number in most situations. When they are called to action, they produce a single number (named a variable or formula in some cases, as you shall see).
  • Boolean: greater than, less than, equal to, and not greater, less, or equal. They are at the heart of a term and are surrounded by simple numbers or complex calculations on each side of them.
  • Connectors: “and” and “or.” They define how multiple terms are resolved—everything must agree, or just one thing is needed. A master connector is usually in place for all arguments that follow, but they can also be scattered among the arguments.
  • Complex connectors: Like the “and” and “or” above, some operators can reside in the top tab and dictate the work done by all the terms below. “Count” and “Sum” are just two examples. More about this later…

 

There is no problem replacing an arithmetical operator with another arithmetical operator, a basic Boolean with another basic Boolean, or a connector with another connector. However, things need to be restructured when you try to cross-replace operators—you don’t replace a surgeon with a financial officer in a hospital. If you need a new space for the financial officer, you want to change the hospital's layout not to disrupt the operating room. So it is with Equihack’s layout.

This is pretty obvious if you are already a multi-lingual computer geek. If you are an expert using other stock screeners where the arguments must fit into an existing grid, this flexibility never came up. Because Equihack falls in the middle, you have to be careful when asking it to restructure an existing term that has already been approved. Learn to do it correctly, and you will have no problems. Let’s dive in.

As you have seen, there is no problem replacing most properties with other properties. This also applies to all the numerical values, whether they are called constants, variables, or formulas.

An exception to all this is made to let you add more fields to a term. You type over a numerical property with an operator. On the face of it, it is like putting a chainsaw in the chair reserved for a person. But Equihack accepts it and will call in the construction team to expand the layout of the argument to make everything work.

Here is one scenario from the second lesson’s basic screener: “purchased/sold > 5,” as you may remember. Enter the isp in the blank box on a new Stock Screener page and select the institution's choice. The program automatically gives you the Market Cap property, a > Boolean, and a new empty box. The > Boolean and empty boxes were gifts from Equihack to form a valid term—a complete sentence with a subject, verb, and object.

You are permitted to expand this simple term. The first change needed is to add a divide operator between the Institutions Shares Purchased property and the > Boolean >. You want to work on the numerical field, not the Boolean. You want to increase the length of the numerical property by adding a divide operator and the name of another property to be the divisor. This is easy to do, but the first time through may worry you.

Left-click the box showing Market Cap and enter a /. The property name will disappear. Not to worry. Press return for three new elements (Market_Cap / a blank box).

Now, enter it in the new blank box and select Shares Sold to correctly state your desired calculation.

You can split and expand any numerical value this way to create a new calculated value in the screener line. Don’t worry when your work disappears momentarily while the new structure is being created.

You accomplished this by “typing over” the original number’s name with an operator. You could have taken the drop-down menu choice of “insert > insert operator,” which would have moved your focus and cursor to the Find by box on top of a list of all operators in the bottom half of your screen. This allows you to search for and double-click on the operator you want or drag it to the box in the term you are expanding. These results are the same as simply typing over the property with your desired operator.

Let’s do it again. Let’s multiply everything by 2. Click on the Purchased value you see. You can add an * and a 2 in the empty boxes provided. Equihack magically surrounds the equations with parentheses in exactly the correct place.

An option that may help is dragging a property from a full box to an empty box. This is helpful if the shown numerator should be the denominator or you want to expand a term to the left. Dragging may bounce back unless you place it carefully in the empty box.

While on the one hand, you may not feel you have gotten very far with all these lessons, be assured that you have. We are almost ready to give you the keys to the car (or perhaps the motor scooter). Before we finish, we trust you will be ready to fly away in the plane parked on your desk. The first lesson showed you how to create a basic two-line screener. The second lesson showed you how to analyze and change the results you are getting. Then you were shown how to create more complex terms. Next, we will battle with mixing ands and ors, another way to expand your terms.

 

Mixing Ands and Ors.

A “term” is normally another line of tests and values in your screener. “Arguments” are all the details in the “term”—the properties, operators, constants, and, most importantly, child terms. If you click the circled green plus icon to the right of the top tab called “Stock Screener,” you will add another “term.”  You saw all this in the first two lessons.

Most terms are connected together with either “and” or “or.” When connected with “ands” all the terms must be true for the screener to select a particular stock. If connected together with “ors,” stocks will be selected if any of the terms are true.

Click the purple “Match all the following” words at the top. Normally it will open a box with “and” in it. Should you want to connect your terms with an “or,” this is the place to type it. The description will change to “Match any of the following.”

 

Suppose you want to mix your “ands” and “ors”? You set the top value to one of the words and insert the other choice line-by-line as needed. This lesson will show you how. If you don’t follow the rules carefully, Equihack may get confused and treat your request harshly.

An aside: you may already know it, but if you don’t like what is created, enter Ctl+Z to undo your last step. You can undo multiple times working back in history. There are even deeper backup options standing by, ready to help you. We’ll go there a little later.

Another aside: You will see that it is possible to have several terms on one line of screener code, or the same thing can be accomplished if each term is on a separate line. Don’t worry, Equihack controls that housekeeping issue—your display may switch from one line to multiple lines for clarity, but the tests are the same.

Let’s get to work by entering a rather simple-minded two-line screener:

  Market_Cap > 30b

   PE > 75

Equihack will default to connecting these two tests together with “and,” shown at the top. Click GO to see the results. OK, that tells you something.

What if we want stocks with a very high PEG of 3 too? You could replace the first test with the PEG test, rerun it and combine the results with the PE test by hand. Don’t do that. Instead, add the PEG test following an “or”; the best of both worlds.

Left-click the > Boolean operator in PE > 75. Follow these choices in the pop-down boxes: insert … and … a or b. Click on the “a or b” choice.

 

 

Your original PE > 75 is now enclosed in parentheses, and a purple “or” has been inserted, followed by a blank box where you can build the PEG test: (PE_to_EPS_Growth > 3).

 

Let’s talk about “inserting” and “typing over.” We have been using the word “insert” to enter properties and commands into blank boxes and boxes with question marks and replace something already there. There is a difference between using “insert” to replace a number (properties and constants) in a box and the more powerful “insert” operator because operators add more boxes to the term.

 

To use “insert” an operator that will create more boxes on the line, do it by:

  • selecting the correct choice on the “insert” drop-down menu, or
  • clicking Editor … edit term … (+) add argument, or
  • entering Shift-Control-A, or
  • pressing the Insert key.

 

In this case, the word “argument” is used to add an “operator” in a line. The “argument” being added may result in a new line if your cursor is at the end of the line being worked on--adding a “condition.” The results are the same.

If you “type over” the existing comparison Boolean with an “and” or “or” Connector, you won’t get the right results.

Complex Term Reference

Type the entire term "it" at once

Our program allows you to type your entire term in at once and then enter it in.

In the Editor, we will type "close/open> 1"

Adding and Inserting Content

The "Add another condition" button

The small green icon will always add another condition to your already existing condition

becomes:


 

Adding Arguments

CONTROL + SHIFT + A - Adds another Operator

Variables and Tabs

The "New Tab" icon in the bottom right of the Editor will create an extra tab, and you will be asked to name it.

After you create a new tab, you can enter it into the main editor as a variable.

For instructions on creating formulas from variables, view this page.

 Cutting and Pasting

We support normal cut/paste operations using the normal keyboard shortcuts and menu items.

We also support cutting multiple terms in a row and then pasting them in a row.

OR

Cut a Tab and paste it into the main editor

 Takeaways

You can build up terms and varying features into the complexity you want through time, patience, and experimentation. It only takes a little noodling around. 

 

< Return Home