Methodology

How the signal is built

Six measurements, fixed weights, one score between −100 and +100. Nothing is fitted, nothing is hidden, and the limits are stated in full.

1. The idea in one paragraph

Every asset on this site is scored by the same procedure. Six measurements are taken from its own price history. Each is converted to a number between −1 and +1 — strongly bearish to strongly bullish — multiplied by a fixed weight, and added up. The total is clamped to a range of −100 to +100 and bucketed into a label. No factor is fitted, optimised, or trained on anything; the weights were chosen once, they are the same for every ticker, and they do not change based on what worked recently.

Nothing here is proprietary and nothing is hidden. Every input is a standard textbook measure computed from prices anyone can download. Opening “Why this signal” on any card shows each factor’s current value, the points it contributed, and a plain-English note about what that value means.

2. The six factors

FactorWeightCrypto and Solana desksETF desk
Trend25 24-hour moving average against the 72-hour 20-day moving average against the 50-day
RSI (14)20 on hourly closeson daily closes
Momentum25 7-day and 30-day change, blended 60/40 1-month and 3-month change, blended 60/40
Range position15 where price sits in its 7-day range where price sits in its 52-week range
Volatility10 realised volatility, penalty only annualised realised volatility, penalty only
Relative volume15 traded volume against market capitalisation volume against its own 50-day average

Why these six

3. How the score is assembled

Each factor is normalised against a threshold that represents “as extreme as this measure usefully gets”, then clamped so a single outlier cannot dominate. RSI, for example, is scored as (50 − RSI) / 25, clamped to ±1 and multiplied by 20 — so an RSI of 25 or below earns the full +20, an RSI of 75 or above the full −20, and 50 is worth nothing.

Four factors run in both directions. Volatility runs only downward. Relative volume produces a magnitude and borrows its sign from the latest move. The arithmetic consequence is worth stating: the most bullish score arithmetically reachable is exactly +100, while the most bearish is −110 before clamping. The floor is a little easier to reach than the ceiling, which is the correct bias for a risk measure.

4. From score to label

Strong bullishscore +40 and above
Bullish+18 to +40
Neutral−18 to +18
Bearish−18 to −40
Strong bearish−40 and below

The neutral band is deliberately wide. Most assets, most of the time, are not doing anything statistically interesting, and a system that produces a directional call for every ticker every day is producing noise. If a large share of the board reads neutral, that is the model working.

“Bullish” is a description, not an instruction. It means the six measures currently lean positive on that asset’s own recent history. It does not mean the asset is a good investment, fairly valued, appropriate for you, or likely to rise.

5. Conviction

Alongside the score, each asset carries a conviction of High, Medium, or Low. It measures agreement, not strength: of the factors currently making a meaningful contribution, what share point the same way as the total? Broad agreement plus a score clear of the neutral band earns High; a split verdict earns Low. A high volatility reading then knocks conviction down a step, because on a violent chart every factor is measuring something less stable.

A score of +45 at Low conviction and a score of +45 at High conviction are not the same statement. The first is one or two factors shouting over the others.

6. Three calibrations, one engine

The factors and weights are identical across all three signal desks. What differs is what counts as extreme, and the gaps are large enough that sharing thresholds would make two of the three useless:

ThresholdCryptoSolanaETF
Full trend score at4% MA separation8% MA separation2% MA separation
Full momentum score at25% blended change50% blended change12% blended change
Volatility penalty startsabove 6% realisedabove 12% realisedabove 18% annualised
Volatility penalty maxesat 16%at 32%at 43%
Volume counts as heavyabove 4% of market capabove 8% of market capabove 1.0× its 50-day average
History windowhourly bars, 24/7 marketdaily bars, 252 trading days

Crypto trades continuously, so its bars are hourly and its windows are measured in hours and days. Funds trade on an exchange calendar, so the ETF desk works in trading days and reads end-of-day closes.

The Solana desk is the crypto desk with its move-size thresholds roughly doubled. It has to be: run the crypto numbers over Solana tokens and almost every name clears the volatility ceiling and carries the full −10 penalty, while momentum saturates at ±25 so a token up 40% scores identically to one up 300%. The board stops discriminating and reads uniformly, misleadingly bearish. RSI and range position are untouched on all three desks — one is bounded 0–100 by construction and the other is a percentile within the asset's own week, so neither needs rescaling.

Scores are not comparable between desks. A +45 on the Solana desk and a +45 on the crypto desk are answers to different questions: the first says the token is strong relative to other Solana tokens, the second says the coin is strong relative to the broad crypto market. Each desk ranks its own board and nothing more. The thresholds themselves are a judgement about each asset class, not a fitted result — none of them has been backtested.

7. The short desk is not this engine

Everything above describes the crypto, Solana and ETF desks, which score assets here from price history because that is all they have. The short desk works the other way round: a model running on a separate machine produces a calibrated probability that a stock falls by a set amount within a set window, and the page publishes that number rather than computing one of its own. There is no six-factor score on that desk, and none of the thresholds in the table above apply to it.

Two consequences worth stating plainly:

8. What the score cannot see

The model receives price, volume, and time. Everything else is invisible to it, and for funds especially the invisible part usually matters more:

9. Known limitations

10. How often it updates

Crypto prices refresh on a cache of about 45 seconds and per-coin history every fifteen minutes. The ETF board refreshes every fifteen minutes and fund history every six hours, though the underlying closes only change once a day after the session ends. Headlines are re-fetched every ten minutes. Exact figures are on the data sources page.