Skip to content
Algorithms & the Quant

How each algorithm votes

For every registered algorithm: what makes it say long, what flat and short mean, and when it stays silent.

Who it is for
Owners & operators
Reading time
7 min read
Updated

Every answers the same four-way question for one symbol as of its last completed daily bar: long, flat, short or none, with a score between −1 and +1. The words mean slightly different things per algorithm, and that matters when you read the PM's citations and when you decide how much weight to give one. This page is the short version; the full written spec of each one (exact formula, parameters and their bounds, evidence, known limitations) is the Spec section of its detail page: click View on its card on Algorithms.

The four answers

AnswerMeansIn the
longthe rule's condition for owning it holds todaycounts at the algorithm's weight with a positive score
flatthe rule has data and reads the symbol as not worth owning (a trend rule on a falling name)counts, usually with a score at or below zero
shortthe rule reads the symbol as against itcounts with a negative score; we never short, so read it as "hold none of it"
nonenot enough history, missing context (a partner series, the sector panel, volume), or an event rule with nothing in play (no bounce setup today)left out of the blend entirely, so it never drags the score toward zero

The blend only averages algorithms that gave a definite answer for that symbol, which is why a data gap in one algorithm, or a bounce rule with no setup today, does not dilute the others. Two more things keep the blend honest. Every algorithm's score is scaled to the same typical size (on our twenty-name reference history each blend member's score averages 0.5 in absolute value), so the weight you set, and only the weight, decides how hard it pulls. And xs_momentum is a rank: in the morning read its score says where the stock's twelve-month run sits among every name read that day (and the wider nightly universe when that is fresh), not how big the run was, so in a year when everything is up it still separates leaders from laggards. See The blend and the bench.

Algorithm by algorithm

AlgorithmSays long whenFlat / short / none
jim_av_pivot ()only on the day a long setup fires: weekly bias long, a pullback (three red days) has happened since the last setup, and three green days close above the last 3-High. Score 1 on that day; on other days the weekly lean shows as 0.25 (bias) or 0.5 (bias plus pullback seen), halved while price sits in last period's predicted rangeflat on every non-setup day; short on a short setup (never traded); none with almost no bars
xs_momentumthe stock's return from twelve months ago to one month ago is positive; the score is its rank among the names read that day (top of the list near +1, bottom near −1, middle 0)flat when the return is zero or negative (it can still rank mid-pack); never short; none under about a year of bars, which is today's answer in live sessions until the longer price history is wired in
ts_momentumthe trailing twelve-month return is positive; the score is the strength of that trend (the year's gain relative to how bumpy the year was)short when the twelve-month return is negative ("hold none"); none under a year of bars
rsi2_reversionabove the 200-day average and RSI(2) under 10: a one-to-ten-day bounce setup, deeper is strongernone on every other day: a bounce rule with no setup has no opinion, so it stays out of the blend (its "over 70, take the bounce" exit reading is shown on the , not voted); never short; none under 200 bars
compositeabove the 200-day average and its calm / recent-dip blend is positive (its old momentum third was the same number xs_momentum reports, so it is switched off by default)flat otherwise; below the 200-day average the score can only be zero or negative; never short; none under a year of bars
ibs_reversionclosed in the bottom fifth of its own day's range at a five-day closing low, above the 200-day average: a one-to-five-day bounce setupnone otherwise (no setup, no opinion; the exit reading is shown, not voted); never short; none under 200 bars
pead_driftinside a confirmed drift window after a gap-up of 4% or more on heavy activity that held into the close; score decays to zero over twenty sessionsshort inside a window after a gap-down that held (an avoid flag, not an edge); flat on the day a window ends; none when nothing is in play
sector_rotationthe ETF is one of the top three sectors by three-month strength versus SPY and SPY is above its ten-month average, but only when the whole sector panel is suppliedthrough the PM's single-symbol reading it is always none (it cannot rank one ETF alone), so it never affects the blend today
high_52w_momentumwithin 5% of its 52-week closing high and above a 10%-off-the-high stop line; score is the nearness itselfflat further from the high, with a mildly negative score; never short; none under a year of bars
pairs_ratioit is the cheap leg of a screened pair stretched two standard deviations, and only when the partner's bars are suppliedshort on the rich leg ("hold none"); through the single-symbol reading it is always none
gap_fade (off by default, intraday)this morning's open gapped down 1.55% in a name above its 200-day average on a non-earnings day; a same-day trade, out by the closenone on every other day (it has rather than a neutral one); never flat or short. The Lab and the next-open blend refuse it because they act a day later
trend_vol_target (off by default)latched long: price above the 200-day average with the 50-day above it, until two closes in a row below the 200-day lineflat while out; never short; none under 200 bars
low_vol_qualitycalmer, shallower-drawdown and steadier than a typical mega-cap over one to three yearsflat otherwise; never short; none under two years of bars, which is the answer at today's default lookbacks
turn_of_monthinside a turn-of-month, quarter-end or pre-holiday window whose own past windows on the bars given have paidflat inside a window whose history is negative; none outside every window (no seasonal view) or when a window is open but its history is too short to judge; never short
bollinger_squeeze (off by default)a close above the upper band on 1.5× volume out of a bandwidth squeeze with the 50-day average rising, and while that replayed trade is still openflat on the day the replayed trade exits; none while merely watching, without daily volume or under 150 bars; never short
An algorithm's detail page: what it measures, its parameters and bounds, the backtest evidence and how it did in your book.
An algorithm's detail page: what it measures, its parameters and bounds, the backtest evidence and how it did in your book.

Two things follow from the table. Weight is the only lever on the score, for every algorithm. Several algorithms answer none in live sessions today purely for want of history (the momentum family, low_vol_quality); their backtests and the Lab have the full history. And a long from a reversion algorithm is a days-long bounce plan with an exit rule, while a long from a momentum algorithm is a months-long view; the PM's instruction text tells it which is which, and its citation (get_signals with the algorithm and symbol) tells you which one it leaned on. Open a session on Agent to see them.

Jim's method is checked against Jim's words

Jim's method is the one contributed rule set, so its detail page carries two extra things: Questions for Jim (our reading of the rules he left loose, with what each alternative did in the backtest) and, in the Spec, a rule-by-rule cross-check of the code against his text. Every precise rule matches; three loose ones (which bar the entry compares against, which day's average-value line the stop uses, which period feeds the predicted range) are open readings awaiting his answer and are pinned by tests so they cannot change silently. When he answers, the change arrives as a versioned strategy edit you can see and revert, not as a quiet code change. See Jim's method.

Test one yourself

Every algorithm with a backtest strategy can be run from Lab › Backtests on the committed twenty-year dataset, alone or as a weighted blend, under the production or research limit profile. The detail page's Backtest section is the standing evidence; the Lab is where you ask "what if".