Skip to content. | Skip to navigation

Personal tools
Sections
You are here: Home QuickStart Equihack Language Operators List

Operators List

There are four different kinds of operators: true/false, mathematical, time definers and conjunctions. They are instructions that tell the system how to select stocks by analyzing and processing the stock’s properties.

as_of

X as_of n days ago
The As Of operator allows you retrieve a value as of X trading days ago. So Net Income as of 251 trading days ago(1 year) would give you the previous year's net income.
Close as of 8.0 days ago < Close

at

X at mm/dd/yyyy
The At Operator returns the value of something on a desired date in the past such as a stock's yield. (Yield at 01/01/2010)
Close > (Close at Jan 01 2011)

/

x / y
The Divided By operator enables you to divide one condition by another. Use '/' to input".
Close ÷ (Close as of 2.0 days ago) > 1.02

round

x round to nearest multiple y
The Round Operator enables you to round properties or terms to the nearest X. An example would be (Market Cap Round to the nearest 10000).
(Market_Cap round to nearest multiple of 100000.0)

round-power

x round to nearest power of y
The Round Power operator will round any property or term you desire to the nearest power of X. So if you say Round Market Cap to the nearest power of 5 it will segment the market into market cap deciles of 5, 25, 125, 625, 3125, 15,625, 78,125, Etc..
(Market_Cap round to nearest power of 2.0)

*

x * y
The Multiply enables you multiply a value by another value.
Shares_1Q × Close > 1000.0

-

x - y
The Subtract operator subtracts a term or field from another.
Close - (Close as of 3.0 days ago) > 0.0

+

x + y
The Plus operator adds together multiple properties or terms together.
Net_Inc_1Q + Net_Inc_2Q > 0.0

abs

abs x
The Absolute Value Operator returns the absolute value of the term you put into it.
abs (change of Open over 1.0 days)

abs-ratio

absrat x
The Absolute Ratio Operator returns the absolute ratio of the term you enter into it. Since it is giving a ratio the value will always be over 1. For instance, if a stock lost 5% in a day than the Absolute Ratio of the Close/(Close as of 1 day ago) would be 1.05.
abs ratio (Close ÷ Open) > 1.02

sum-since

sum of X since mm/dd/yyyy
The Sum Since operator takes the sum of a property or term pertaining to a stock since a specified date meaning it adds the property for each day from the specified date up until the current date.
sum of Q_Surprise since Sun Jan 01 2012

sum-within

sum of X within last n days
The Sum Within operator takes the sum of a property or term pertaining to a stock within X days meaning it adds the property or term for each day within X trading days up until today. If the stock's closing price the past 3 days were 5, 6, and 7 then the sum of the closing price within 3 days = 18.
sum of (Close - Open) within 5.0 days > 0.0

change-over

change
The Change Over returns the % change of a value within X trading days such as Change of Closing price over 21 trading days.
change of Close over 10.0 days > (change of SPY:Close over 10.0 days)

if

if cond then A else B
The If returns either what is after the "then" or what is after the "else" depending on what you put after the "if". If the condition is after the "if" is true then it returns what you put after the "then"; if it is false then the operator returns what is after the "else".
if (EPS_1Q > 0.0) then (average Close within 25.0 days) else (average Close within 80.0 days) > (average Close within 100.0 days)

when-since

X when Y since mm/dd/yyyy
The When Since Operator returns the value of a property or formula while another condition is true. For instance Quarterly Surprise When Eps 1Q > 0.
change of Close over 10.0 days when (Q_Surprise > 0.0) since Tue Jan 01 2013

when-within

X when Y within last n days
The When Within Operator returns the value of a property or formula while another condition is true. For instance Quarterly Surprise When Eps 1Q > 0.
change of Close over 10.0 days when (Q_Surprise ������� (Q_Surprise as of 1.0 days ago)) within 251.0 days

ever-since

ever X since mm/dd/yyyy
The Ever Since tests if the condition you enter into the operator has ever been true since a date in the past. For instance, has a stock ever had a quarterly surprise greater than 20% since 2010.

ever-within

ever X within last n days
The Ever Within operator tests if the condition you enter into the operator has ever been true within X number of trading days. For instance, has a stock ever had a quarterly surprise greater than 20% within 251 trading days.

always-since

always X since mm/dd/yyyy
The Always Since operator tests if a condition is always true since a date in the past. For instance one could check if a company's sales growth was always positive since 2004.
always (EPS_1Q > 0.0) since Thu Jan 01 2004

always-within

always X within last n days
The Always Within operator tests if a condition is always true within X trading days. For instance, one could check if a company's sales growth was always positive within 251 trading days.
always (Close > Open) within 3.0 days

then-since

X then Y until Z since mm/dd/yyyy
The Then Since operator enables you to test whether a condition was true after another condition was true until another condition is true since a date in the past.
Close > (Close as of 2.0 days ago) then (Close > (Close as of 2.0 days ago)) until (Close < (Close as of 2.0 days ago)) since Jan 01 2008

then-within

X then Y until Z within last n days
The Then Within operator enables you to test whether a condition was true after another condition was true until another condition is true within X Trading Days.

<

x < y
The Less than and Greater than allows you to test whether one term is less than or greater than another term.
Close > (Close as of 3.0 days ago)

<=

x ≤ y
The Greater Than or Equal To operator allows you to test whether one term is greater than or equal to another term.
Shares_1Q ������� Shares_2Q

>>

x > y
Greater than allows you to test whether one term is greater than other.

=>>=

x ≥ y
Less Than or Equal allows you to test whether one term is less than or equal to another term.

and

a and b
The And operator will be used when you want to add more conditions to your stock screener or trading model. You can also click the green + symbol to perform the same operation.
Match all of the following Net_Inc_T12M > Net_Inc_1Y and Close > (Close as of 5.0 days ago)

or

a or b
The Or operator enables you to require that a stock passes at least one of X conditions you specify.
Match any of the following Close > (Close as of 5.0 days ago) or PE > (PE as of 5.0 days ago)

equals

x equals y
The Equals and Not Equals will be used to determine whether two conditions equal or not equal each other.
PE > (PE as of 5.0 days ago) = (Market_Cap > (Market_Cap as of 5.0 days ago))

not_equals

x not equal to y
The Equals and Not Equals will be used to determine whether two conditions equal or not equal each other.
PE > (PE as of 5.0 days ago) = (Market_Cap > (Market_Cap as of 5.0 days ago))

not

not x
The Not operator enables you to require that a condition is not true such as not classify as technology.
not classify Transportation

rank

rank of w in (x,y,z...)
The Rank operator returns the rank (0-100) of the property or term pertaining to a stock compared to other properties or terms pertaining to a stock. For instance, you could find stock's whose current close ranks the highest out of a number of its moving averages.
rank of Close in (average Close within 5.0 days) (average Close within 12.0 days) =100.0

rank-within

rank of X within last n days
The Rank Within operator sorts out all values within N days from least to greatest and puts them in a ranking from 0 to 100. It then allows you to specify where the current value ranks in that order. For instance, you could specify that the stock's closing price currently ranks in the highest decile compared to its closing prices within 251 trading days.
rank Close within 26.0 days > 80.0

rank-since

rank of X since mm/dd/yyyy
The Rank Since operator sorts out all values since XX/YY/ZZZZ from least to greatest and puts them in a ranking from 0 to 100. It then allows you to specify where the current value ranks in that order. For instance, you could specify that the stock's closing price currently ranks in the highest decile since 01/01/2014.
rank Close since Fri Jan 01 2010 > 85.0

percentile-within

percentile X within n days
The Percentile Within operator returns the value of a term or property at the Nth percentile within X days. For instance, closing price at the 75th percent within 251 trading days.
High at the 50.0 percentile within 100.0 days

percentile-since

percentile X since mm/dd/yyyy
The Percentile Since operator returns the value of a term or property at the Nth percentile since a date in the past. For instance, closing price at the 75th percent since 01/01/2014.
Close at the 75.0 percentile since Fri Jan 01 2010

skewness-since

skewness of X since mm/dd/yyyy
The skewness since date

skewness-within

skewness of X within last n days
The skewness within the last n days

kurtosis-since

kurtosis of X since mm/dd/yyyy
The kurtosis since date

kurtosis-within

kurtosis of X within last n days
The kurtosis within the last n days

cointegration-since

cointegration of X with Y since mm/dd/yyyy
The cointegration since date

cointegration-within

cointegration of x with Y within last n days
The cointegration within the last n days

correlation-since

correlation of X with Y since mm/dd/yyyy
The correlation since date

correlation-within

correlation of x with Y within last n days
The correlation within the last n days

choose-range

choose from x to y
The Choose Range operator enables you test a range of values in a trading model and use the value that gives the best return. For instance you could test what the best month of the year is to hold the S&P 500.
Buy When Month_of_Year = choose from 1.0 to 12.0

choose-set

choose one of x,y,z
The Choose Set operator enables you test a set of values in a trading model and use the value that gives the best return.
Close > (Close as of chooseSet days ago) choose-set of 10.0 20.0 28.0

classify-as

classify as
Classify As allows you to indicate the industry, sector, location, exchange, etc. of the stock. To add another field within the operator press control + Shift + A. Multiple fields act as ors meaning If the term said Classify as Technology, United States it would return Technology companies or American Companies.
Classified as one of Technology, United_States

ticker-is

ticker is
Specify the allowed stock tickers

position-across

position-across
The Position Across operator returns an integer from 1 to infinity that represents what position the stock is in based on whatever term or property you enter into the operator across any set of stocks such as industry or sector or mid caps. For instance, If you want the top 10 market cap companies in each Industry you will type. ( Position of Market Cap Across Industry where True < 11). After across in the operator you will specify which set of stocks are included, and after where in the operator you will define constraints that a stock must pass in order to be included.

rank-across

rank-across
The Rank Across operator returns the rank (0-100%) of the property or term across any set of stocks such as its industry or sector or mid caps. Take the following example:
rank of PE across Industry where MarketCap </font><font color="#5700b3">&gt;</font><font color="black"> 500m[+]
This will give you the stock's rank within its own industry, including only stocks with a Market Cap greater than 500m. So if a stock has a P/E in the 33rd percentile it would have a rank of 33.
See the Operator 101:Rank Across screener for an example

market-rank

market-rank
If the stock is in the top 10% of all stocks, market rank is 10

growth-yearly

growth of X yearly
The target's growth over X year(s).
growth of Market Cap over 2 years

average-yearly

average X yearly
The target's average over X year(s).
average of Market Cap over 2 years

decreasing-over

decreasing x over n days
Has the target's value descreased over the specified time

increasing-over

increasing x over n days
Has the target's value increased over the specified time

percentile-across

percentile across
Percentile Across gives the value of a term or property at the Nth percentile across any set of stocks including industry or the entire market. After across in the operator you will specify which set of stocks are included, and after where in the operator you will define constraints that a stock must pass in order to be included.
Net_Inc_Gwth_12M at 50.0 percentile across Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 1000.0) </font><font size="2" color="black">where</font><font color="black"> ((Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 1000.0)</font></td> </tr> </tbody> </table> </div> <h2 id="median-across">median-across</h2> <h5>median x across</h5> <div> The <b> Median Across </b>operator returns the median value of what you enter into the operator across a range of stocks inlcluding industry or the entire market. After <b>across</b> in the operator you will specify which set of stocks are included, and after <b>where</b> in the operator you will define constraints that a stock must pass in order to be included. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="#5700b3">median</font><font color="black"> </font><font size="2" color="black">of</font><font color="black"> Rel_Strength_MR_T1M </font><font size="2" color="black">across</font><font color="black"> Ind_3_Dig </font><font size="2" color="black">where</font><font color="black"> (Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 1000.0) </font></td> </tr> </tbody> </table> </div> <h2 id="min-across">min-across</h2> <h5>min-across</h5> <div> The <b>Min Across</b> takes the minimum value across any set of stocks including industry or sector. After <b>across</b> in the operator you will specify which set of stocks are included, and after <b>where</b> in the operator you will define constraints that a stock must pass in order to be included. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="black"> <font color="#5700b3">min</font> <font size="2">of</font> Rel_Strength_MR_T1M <font size="2">across</font> Ind_3_Dig <font size="2">where</font> (Market_Cap <font color="#5700b3">&gt;</font> 1000.0) </font></td> </tr> </tbody> </table> </div> <h2 id="max-across">max-across</h2> <h5>max-across</h5> <div> The <b>Max Across </b>Operator returns the maximum of whatever you enter into the operator across a set of stocks such as the entire market or an industry. After <b>across</b> in the operator you will specify which set of stocks are included, and after <b>where</b> in the operator you will define constraints that a stock must pass in order to be included. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="#5700b3">max</font><font color="black"> </font><font size="2" color="black">of</font><font color="black"> Rel_Strength_MR_T1M </font><font size="2" color="black">across</font><font color="black"> Industry </font><font size="2" color="black">where</font><font color="black"> (Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 1000.0) </font></td> </tr> </tbody> </table> </div> <h2 id="total-across">total-across</h2> <h5>total-across</h5> <div> The <b> Total Across</b> operator calculates and returns the sum a property or term across an entire set of stocks such as industry or market or etc. After <b>across</b> in the operator you will specify which set of stocks are included, and after <b>where</b> in the operator you will define constraints that a stock must pass in order to be included. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="#5700b3">total</font><font color="black"> </font><font size="2" color="black">of</font><font color="black"> (</font><font color="#5700b3">change</font><font color="black"> </font><font size="2" color="black">of</font><font color="black"> Close </font><font size="2" color="black">over</font><font color="black"> 1.0 </font><font size="2" color="black">days</font><font color="black">) </font><font size="2" color="black">across</font><font color="black"> (Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 10000.0) </font><font size="2" color="black">where</font><font color="black"> (Market_Cap </font><font color="#5700b3">&gt;</font><font color="black"> 10000.0) </font><font color="#5700b3">&gt;</font><font color="black"> 0.0 </font></td> </tr> </tbody> </table> </div> <h2 id="average-across">average-across</h2> <h5>average X across </h5> <div> <b>Average across</b> returns the average of a value across any set of stocks such as industry, sector, or the entire market. After <b>across </b>in the operator you will specify which set of stocks to have the average calculated on, and after <b>where </b>in the operator you will define constraints that a stock must pass in order to be included in the average. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="black"> (<font color="#5700b3">average</font> <font size="2">of</font> Rel_Strength_MR_T1M <font size="2">across</font> Industry <font size="2">where</font> (Market_Cap <font color="#5700b3">&gt;</font> 100.0[+]

count-across

count-across
The Count Across operator returns an integer that represents the number of stocks that pass the condition within the operator. After across in the operator you will specify which set of stocks are included, and after where in the operator you will define constraints that a stock must pass in order to be included.
count of (Close > (Close as of 1.0 days ago)) across (Market_Cap > 500.0) where (Market_Cap > 500.0)

odds-across

odds-across
The Odds Across operator returns the percentage odds that a stock within a specified range of stocks passes a condition that you enter into the operator. For example, odds that a stock in the technology sector has greater sales than it did 1Q ago. After across in the operator you will specify which set of stocks are included, and after where in the operator you will define constraints that a stock must pass in order to be included.
odds of <font color="#5700b3">average</font> Close <font size="2">within</font> 10.0 <font size="2">days</font>) <font color="#5700b3">&gt;</font> (<font color="#5700b3">average</font> Close <font size="2">within</font> 21.0 <font size="2">days</font>[+] across Market_Cap <font color="#5700b3">&gt;</font> 1000.0) <font size="2">where</font> ((Market_Cap <font color="#5700b3">&gt;</font> 1000.0) </font></td> </tr> </tbody> </table> </div> <h2 id="weighted-average-across">weighted-average-across</h2> <h5>weighted-average-across</h5> <div> The <b>Weighted Average Across</b> Operator returns an average of a specified value across any set of stocks stock as industry, large-caps, etc. weighted by a specified value. After <b>across</b> in the operator you will specify which set of stocks are included, and after <b>where</b> in the operator you will define constraints that a stock must pass in order to be included. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="black"><font color="#5700b3">weighted</font> <font size="2">average</font> <font size="2">of</font> Sales_Gwth_12M <font size="2">across</font> Industry <font color="#5700b3">weighted</font> <font size="2">by</font> Market_Cap <font size="2">where</font> true </font></td> </tr> </tbody> </table> </div> <h2 id="variance-across">variance-across</h2> <h5>variance X across </h5> <div> <b>Variance across</b> returns the variance of a value across any set of stocks such as industry, sector, or the entire market. After <b>across </b>in the operator you will specify which set of stocks to have the variance calculated on, and after <b>where </b>in the operator you will define constraints that a stock must pass in order to be included in the variance. </div> <div></div> <div> <table> <tbody> <tr> <td bgcolor="white"><font color="black"> (<font color="#5700b3">variance</font> <font size="2">of</font> Rel_Strength_MR_T1M <font size="2">across</font> Industry <font size="2">where</font> (Market_Cap <font color="#5700b3">&gt;</font> 100.0[+]

stddev-across

stddev X across
Stddev across returns the standard deviation of a value across any set of stocks such as industry, sector, or the entire market. After across in the operator you will specify which set of stocks to have the standard deviation calculated on, and after where in the operator you will define constraints that a stock must pass in order to be included in the standard deviation.
(stddev of Rel_Strength_MR_T1M across Industry where (Market_Cap > 100.0))

skewness-across

skewness X across
Skewness across returns the skewness of a value across any set of stocks such as industry, sector, or the entire market. After across in the operator you will specify which set of stocks to have the skewness calculated on, and after where in the operator you will define constraints that a stock must pass in order to be included in the skewness.
(skewness of Rel_Strength_MR_T1M across Industry where (Market_Cap > 100.0))

kurtosis-across

kurtosis X across
Kurtosis across returns the kurtosis of a value across any set of stocks such as industry, sector, or the entire market. After across in the operator you will specify which set of stocks to have the kurtosis calculated on, and after where in the operator you will define constraints that a stock must pass in order to be included in the kurtosis.
(kurtosis of Rel_Strength_MR_T1M across Industry where (Market_Cap > 100.0))

ema

ema of X over n days
Exponential Moving Averages reduces the lag of a simple Moving Average by applying more weight to recent prices. The weighting applied to the most recent price depends on the number of periods in the moving average.
ema of Close over 4.0 days

rank-top

rank X is in the top y%
Is the Market Rank of the target in the Top X%?

rank-bottom

rank X is in the bottom y%
Is the rank of a term in the bottom n%?
For example, the following example would be false for a stock with a P/E of 100 and true for stock with P/E of 1.
 rank P/E is in bottom 25% 
Keywords: rank-bottom quartile

backtest

backtest
The Backtest Operator will return a multiple that represents the backtest return since 2003 of whatever term you put in the operator. So Backtest of (Market Cap > 100,000) = 2 means that since 2003, the starting backtest value had doubled which represents a 100% back test return.
backtest of classify as Technology > (backtest of classify as Technology as of 5.0 days ago)

stddev

stddev x, y, ...
The Standard Deviation Operator returns the population standard deviation of the properties or values you enter into it. Press Control + Shift + A to add another box to add another property or value.
standard deviation of Close, Open, High, & Low > 0.1

stddev-within

stddev X within n days
The Standard Deviation within the last n days

stddev-since

stddev X since mm/dd/yyyy
The Standard Deviation since date

variance

variance x, y, ...
The Variance Operator returns the population variance of the properties or values you enter into it. Press Control + Shift + A to add another box to add another property or value.
variance of Close, Open, High, & Low > 0.05

variance-within

variance X within n days
The Variance within n days

variance-since

variance X since mm/dd/yyyy
The Variance since date

min

min x, y, ...
The Max and Min operators returns the maximum or minimum of a set of terms you enter into it. To add another box you simply press control + Shift + A.
maximum of Net_Inc_1Q Net_Inc_2Q Net_Inc_5Q = Net_Inc_1Q

min-within

min X within n days
The Min Within operator takes the minimum of value that you enter into the operator pertaining to a stock within X trading days such as the minimum closing price within 21 trading days.
min Close within 180.0 days

min-since

min X since mm/dd/yyyy
The Min Since operator takes the minimum of value that you enter into the operator pertaining to a stock since a date in the past such as the minimum closing price since 01/01/2014
Close ÷ (min Close since Tue Jan 01 EST 2008) > 2.0

average

average x, y, ...
The Average Operator returns the average of the values you input.
To add another value simply press Control + Shift + A.
average of Sales_Gwth_5Q_to_1Q, Sales_Gwth_6Q_to_2Q, Sales_Gwth_7Q_to_3Q, Sales_Gwth_8Q_to_4Q > 5.0

average-within

average X within n days
The Average Within operator returns the average of a value within X number of trading days such as the average closing price within 10 trading days.
average Close within 4.0 days > (average Close within 9.0 days)

average-since

average X since mm/dd/yyyy
Average Since take the average of a value pertaining to a stock since a date in the past such as yield. (Average yield since 01/01/2010)
Close > (average Close since Tue Jan 01 2008)

max

max x, y, ...
The Max and Min operators returns the maximum or minimum of a set of terms you enter into it. To add another box you simply press control + Shift + A.
maximum of Net_Inc_1Q Net_Inc_2Q Net_Inc_5Q = Net_Inc_1Q

max-within

max X within n days
The Max Within operator takes the maximum value that you enter into the operator pertaining to a stock within X trading days such as the maximum closing price within 21 trading days.
max Close within 10.0 days

max-since

max X since mm/dd/yyyy
The Max Since operator returns the maximum value of what you enter into the operator since a date in the past such as the max high since 01/01/2014.
max Close since Wed Jan 01 2003

odds

odds of x,y,z...
The Odds operator returns the percentage odds between 0 and 100% to which the values that you enter into the operator are true. If 2 out of the 5 values are true then the odds operator would return 40.
odds of (Sales_Gwth_12M > 0.0) (Net_Inc_Gwth_12M > 0.0) (Q_Surprise > 0.0) > 50

odds-within

odds of X within last n days
The Odds Within operator returns the odds (from 0 to 100) that the stock passes the condition that you enter into the operator within X days. For instance, a stock's 12 day moving average has been greater than its 24 day moving average 60% of the time within 60 trading days.
odds (Close > (Close as of 4.0 days ago)) within 28.0 days

odds-since

odds of X since mm/dd/yyyy
The Odds Since operator returns the odds (from 0 to 100) that the stock passes the condition that you enter into the operator since a date in the past. For instance, a stock's 12 day moving average has been greater than its 24 day moving average 60% of the time since 01/01/2014.
odds (Open > Close) since Fri Jan 01 2010

count

count of x,y,z...
The Count operator returns an integer that represents the amount of conditions that pass that you entered into the operator.
count of (Close > average Close within 20.0 days) (Net_Inc_1Q > Net_Inc_2Q) (Sales_1Q > Sales_5Q)

count-within

count of X within last n days
The Count Within operator returns an integer that represents the number times the condition that you enter into the operator has been within X number of days. For instance, the operator could tell you how many times a stock has increased over 4% in a day within 50 trading days.
count (Close > (Close as of 2.0 days ago)) within 10.0 days

count-since

count of X since mm/dd/yyyy
Count Since returns an integer that represents the number times the condition that you enter into the operator has been true since a date in the past. For instance, the operator could tell you how many times a stock has increased over 4% in a day since the start of 2014.
count (Net_Inc_1Q > (Net_Inc_1Q as of 1.0 days ago)) since Fri Jan 01 2010