Skip to content
Algorithms & the Quant

The blend and the bench

Fifteen registered signals, the weights that make your blend and the share that really counts, signals and screens, the act line, what "No view yet" means, the bench, the suggested weighting, and switching to blend v2.

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

An is a rule-based computed from one symbol's daily bars, with no opinion and no news. Each one returns a view on a name (for it, against it, or when it lacks data) and a score between −1 and +1. The PM (shown as on ) is shown these views to keep its honest: a momentum reading that says "down" is hard to argue with.

What is in the registry

Algorithms are code. Fifteen live in the registry today and every one appears on Algorithms with its own card:

IdWhat it measures
jim_av_pivot: average-value line, three-bar pivots, weekly bias
xs_momentum, ts_momentumA stock versus its peers; a stock versus its own past
rsi2_reversion, ibs_reversionShort, sharp dips that tend to bounce
compositeA low-volatility and recent-dip (its momentum leg is off by default: xs_momentum already carries it)
pead_driftDrift after an earnings gap
sector_rotation, high_52w_momentum, low_vol_qualityMonthly ranking systems
pairs_ratio, trend_vol_target, turn_of_month, bollinger_squeezePairs, asset-class trend, calendar windows, volatility breakouts
gap_fadeAn intraday opening-gap fade; the daily-bar backtest engine cannot express it, so it has no backtest card

Jim's method is the only contributed one; the rest are built in.

The blend, in one paragraph

For each name on your , every signal that is switched on says how it reads that name today, from strongly against to strongly for. The blend is those readings combined into one number between −1 and +1, each counting as much as the weight you gave it. A signal with nothing to say about a name is left out of that name's blend rather than counted as a zero. The PM reads the blend as a prior, not an order: it says when it goes against it, but it may. Nothing here places, sizes or times an order by itself.

The controls on each card

Three things on each signal's card shape the blend· Algorithms (Jim's method is not one of these cards; it sits in Setups & levels below the blend with an on/off switch only):

Algorithms: the blend bar, the act line for this book's posture, today's blend name by name, and the list with each signal's weight.
Algorithms: the blend bar, the act line for this book's posture, today's blend name by name, and the list with each signal's weight.
  • On or off: a signal that is off has no view and no effect; the PM does not see it. On with weight 0 is the : read, not counted. See On, on the bench, or off.
  • Weight: a slider from 0 to 100. Weights are normalised over the signals that are on, so the share shown next to the slider is what actually counts. Release the slider to save. Every algorithm's score is scaled to the same typical size before blending, so the weight, not one algorithm's habit of shouting louder, decides its pull. See How each algorithm votes.
  • : drag the handle, use the up and down arrows, or press the arrow keys on a focused handle. Order only changes how algorithms are listed. It does not affect scores or which trades happen. When more names qualify than the desk's pace allows, the PM prefers the stronger blend, then the name that overlaps least with what the book already holds, then the name more signals have a view on; never the position of a card in this list.

Signal, Screen, Setups

Each card carries one word for what the algorithm is. This is declared by the algorithm itself, not chosen per book; you only decide whether it is on and, for a signal, how much it weighs.

  • Signal: its view counts toward the blend score with the weight you set. All the momentum and reversal algorithms are signals.
  • Screen: it never moves the score. A screen could block a buy in a name that fails it and say why everywhere the name appears ("Blocked by Low-vol quality: its 20-day volatility is above the screen's ceiling"); sells are never blocked. No book has a screen today: the buy block was retired on September 11 after the evidence showed no blocking rule added value and two cost money, and the server refuses to give any algorithm that role until a later decision brings it back. The word stays in this list so the page can explain it the day it returns.
  • Setups: Jim's method finds entry setups and levels. It is shown beside the blend, never averaged into it; when its bias agrees with the blend it can nudge a position a little larger or smaller inside the 's limits, and it supplies the entry level and the stop. It has its own section on the page, Setups & levels, right under the blend: one switch (on or off), no weight, no place in the display order, and for every watched name what it reads today: which way the week points, whether a setup has fired or is armed, the buy-above trigger and the stop.
Setups & levels: Jim's method beside the score, with each watched name's weekly direction, setup state, trigger and stop.
Setups & levels: Jim's method beside the score, with each watched name's weekly direction, setup state, trigger and stop.

On a server that does not declare these words yet, no card says Signal or Screen and no screen exists; Jim's method is still named beside the score rather than in it, and nothing else on the page changes.

The weight you set and the share that counts

Next to each weight the card shows the share of the blend that weight buys. With (below) two things sit between the weight you set and the share that counts, and the card shows both numbers: "You set 30% →  22%", with a Why? beside it.

First, weights are pulled halfway toward equal shares across groups of signals that tend to agree with each other, so three look-alike momentum signals cannot crowd out the one reversal signal between them. Second, once eight or more signals are on, no single one may count for more than a fifth of the blend. What is left is renormalised over the signals that have a view on each name. Your weight still decides the direction of every difference; the two rules only stop the blend from quietly becoming one signal's opinion.

Reading the blend on one name

Wherever a name's blend appears (the table on Algorithms, the symbol sheet and page, cards, the rows on Portfolio) it reads the same way:

The desk's read on one name: the blend, its biggest pulls as labelled bars, and how many signals have a view.
The desk's read on one name: the blend, its biggest pulls as labelled bars, and how many signals have a view.
  • The number, signed: +0.31 leans for, −0.20 leans against.
  • The biggest pulls: up to three small labelled bars, "XS momentum +0.21 · Composite +0.08 · RSI(2) reversion −0.05". Each is that signal's share of the number: its weight times its reading. They are named as the cards name them, never by id.
  • Coverage: "7 of 9 signals have a view". A signal with no view on the name is missing, not a zero, so a thin blend says it is thin.
  • No view yet instead of a number when fewer than two signals have a view (today's blend shows a number from a single signal; blend v2 waits for two). The line under it says why: "Only one signal has a view on this name; the blend waits for at least two."
  • Blocked by a screen, with the screen's reason, instead of the name silently disappearing from a list (only on a book that has a screen; none does while the buy block is retired).

The act line and the buffer

When the desk acts: the act line for this book's posture as a number, with the no-trade buffer drawn around it.
When the desk acts: the act line for this book's posture as a number, with the no-trade buffer drawn around it.

The card under the blend bar says when a blend is strong enough to act on at this book's posture: "acts above 0.15; ignores 0.100.20 as noise". A blend at or above the line, with a confirmed trigger, is worth a trade; a blend inside the around the line is treated as noise, so a name hovering at the line does not flip the desk in and out, and the PM is never marked down for waiting there. The line follows Posture (a cautious posture asks for a stronger blend) and is shown here, not edited here. With blend v2 it is recalibrated monthly from how blends on your names have actually been distributed, and each recalibration arrives as a change card you can revert.

How the score is made

The card of the same name on Algorithms shows this with today's numbers. For one name, every signal that is on gives a score s between −1 (strongly against) and +1 (strongly for), and you gave each a weight w. Today's blend is their weighted average:

How the score is made: the small formula and a worked example from today's blend.
How the score is made: the small formula and a worked example from today's blend.

score = (w₁·s₁ + w₂·s₂ + …) ÷ (w₁ + w₂ + …)

counted only over the signals that actually have a view on that name today. A worked example: cross-sectional momentum (weight 0.30) says +0.60 and the composite (weight 0.10) says +0.20, while RSI(2) has no data for the name. The top is 0.30 × 0.60 + 0.10 × 0.20 = 0.20; the bottom is 0.30 + 0.10 = 0.40 (RSI sits out, so its weight is not counted); the score is 0.20 ÷ 0.40 = +0.50, which reads long. Open Worked example on the card to see the same sum for a real name from today's blend, next to the number the desk shows.

Three things never change the number: a screen only lets the refuse a buy and Jim's method only reads setups beside it; display order only changes how the cards are listed; a signal on the bench (weight 0) or with no view on the name is simply left out. So "why did the blend say long?" is always answerable from the weights and the readings alone, and the biggest-pulls bars show exactly that answer.

Blend v2, the preview, and cutting over

Blend v2 keeps the weighted average and fixes three things the plain average gets wrong: each signal is first put on a common scale (so a signal that only ever says −1 or +1 cannot drown out one that speaks softly), the weights are pulled toward equal and capped as described above, and the result is scaled back up so that adding more signals does not quietly shrink every blend toward zero and change what the act line means.

It arrives in three steps, and nothing changes what the desk trades until you say so:

  1. Preview. Blend v2 is computed beside today's blend. The Algorithms page shows a "Preview: blend v2" badge, and the table lists both numbers for every name: today's blend (the one the desk acts on) and the v2 preview.
  2. Evidence. A measurement over your book's names (for the house book, more than a decade of daily sessions) checks whether the strongest tenth of names by blend v2 earned at least as much over the next 21 sessions as the strongest tenth by today's blend, by equal weights, and by the best single signal on its own; whether stronger blends earned more than weaker ones; and what each signal adds when it is left out. The Evidence link on the card opens those results: one row per rung, a bar per rung for how well it sorts names, what each signal adds in points, and the list of bars with a tick or a cross. Until every bar is cleared the card says so and offers nothing to press; the same rule holds on the server, so nothing can switch a book early.
  3. Cutover. When the evidence passes, the card offers Switch to blend v2. It is the same kind of change card as a weight change: it lists what changes (the number every screen shows and the act line is measured against) and what does not (weights, display order, which algorithms are on), it needs the typed word CUTOVER and your code, and it is logged in Strategy › History. One press on the same card goes back to today's blend, also logged.
The cutover card: what changes, the evidence verdict in one sentence with a link to the results, and the way back.
The cutover card: what changes, the evidence verdict in one sentence with a link to the results, and the way back.

New books start on blend v2 once the house book has switched.

The bench

Registered is not the same as weighted. A signal that is on but has weight 0 is on the bench: the PM sees its view, the blend ignores it. New residents join the bench by default so a newcomer never dilutes the blend you chose; a few unproven ones (the gap fade, the vol-targeted trend follower and the squeeze breakout) start Off until you opt in with one click. The Your blend panel at the top counts them ("4 algorithms make the score, 7 on the bench, 1 reads setups beside it" with the defaults) and shows the score as a stacked bar: one labelled segment per signal in it, sized by the share that counts. Jim's method and any screen sit under the bar in words, because neither is part of the score.

How the PM sees signals

When the PM asks for a symbol's signals it gets every algorithm that is not Off with its view and score, the blend with its biggest pulls and coverage, any screen that blocks the name and why, Jim's setups and levels, and the act line with its buffer. It must name the pulls it leaned on when it proposes a trade, it may always pass or go smaller with a one-line reason, and it may only go in below the act line under a short list of named exceptions that the grades. Open a session on Agent to see which signals it read. The same weighting is written as one line at the top of the PM's next , so the PM always knows what you chose.

The suggested weighting

Under the blend panel, the Suggested weighting card shows what a deterministic advisor (no model) would set the weights to, next to your current weighting, with a plain-English reason and a "Why?" expander: three candidate methods (equal weight, risk parity, max-Sharpe with shrinkage) scored by walk-forward, per-algorithm statistics and a correlation matrix. It only weighs signals that are on and already weighted; benched ones are listed as excluded. Until 20 days exist its basis reads "backtest only" and its confidence is never high.

Apply suggestion opens a confirm dialog listing each weight change; confirming writes the weights in one audited action, leaves everything else alone, and needs no because weights re-balance an advisory prior and loosen nothing. You can edit any weight afterwards. The Quant may recommend weight changes too, under a stricter rule: a recommendation has to beat both your current weights and plain equal weights on held-out history after costs, may move any one weight by at most a quarter at a time, and says why it abstains when it cannot clear that bar.

The detail page

Click View on any card, for example Jim's method. Sections: the written Spec; the Backtest with a production and a research limit profile, the equity curve with an optional SPY overlay, by-year and by-regime tables, a sensitivity table and a "Read with care" list; Live signals for every symbol considered, with an amber "as of" label when the bars are more than one session old; In your book (proposals that cited it, fills, realized P&L); Parameters, bounded and not editable yet; and for Jim's method, Questions for Jim, our reading of his loose rules awaiting his answer.

The Plain English switch renames the statistics ("Grew per year", "Trades that won").

Strategies, their history and adherence

Where the strategy model is switched on, Strategy › Strategies shows what the desk actually runs, read-only: Jim's method as a rule machine (its entry, stop, exit and sizing rules spelled out, plus the handful of readings Jim has not yet confirmed, each limited to the alternatives already measured) and the founding blend of the other algorithms, with every member's weight and its share of the blend, listed in display order. The two shares (Jim 40%, blend 60% by default) are your algorithm weights seen as strategies; the only place to edit a weight or switch a signal on is still this screen. History is the change ledger: every weight change, every switch and the cutover as a card with who made it, when, the note they left, the engine run behind it when the advisor suggested it, and a before-and-after table of exactly the values that moved. A change of display order is recorded too, and its card says in words that scores did not change.

Strategy › History: every change to how the book trades as a diff card, with what changed, who changed it and when.
Strategy › History: every change to how the book trades as a diff card, with what changed, who changed it and when.

With strategy snapshots on, every PM session opens with a Candidates table the server computes from those strategies (the blend's strongest names first, Jim's armed and fired setups with their levels), and the PM must answer every row: propose, decline or defer, with a reason from a short list the system can check. After the session a deterministic job grades what happened (offered, acted, declined with a reason that held, declined without one, deferred, ignored, and whether it said which signal it sided with when they disagreed), and the Adherence block on Strategy › Strategies shows those counts per strategy next to the number of rows they are over, with "insufficient sample" until there are enough. The same five-line summary goes to the Critic. None of it is the PM's own account of itself, and the latest snapshot's time and data date sit in the block's header.

Who can change what, where

Weights, on/off and display order change only on Algorithms, and only for an owner or operator; a viewer sees everything and the API refuses their edits. Every change is audited; find it under Activity › Config changes. Strategy › Summary shows one read-only line ("5 algorithms are on; nothing here can block a trade. The score: …") that links back here. The Executor never reads the blend and never sees a weight; the only thing it asks of this page is whether a screen blocks the name.