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
| Factor | Weight | Crypto and Solana desks | ETF desk |
|---|---|---|---|
| Trend | 25 | 24-hour moving average against the 72-hour | 20-day moving average against the 50-day |
| RSI (14) | 20 | on hourly closes | on daily closes |
| Momentum | 25 | 7-day and 30-day change, blended 60/40 | 1-month and 3-month change, blended 60/40 |
| Range position | 15 | where price sits in its 7-day range | where price sits in its 52-week range |
| Volatility | 10 | realised volatility, penalty only | annualised realised volatility, penalty only |
| Relative volume | 15 | traded volume against market capitalisation | volume against its own 50-day average |
Why these six
- Trend asks whether the recent average is above or below the longer one. It is the slowest factor and the largest single weight, because a moving-average relationship that has already turned is the least noisy thing on the list.
- RSI is a mean-reversion counterweight. It scores negatively when a price is overbought and positively when it is oversold, which is what stops the whole score from simply agreeing with itself — a name that has run hard gets marked up by momentum and marked down by RSI, and the net is the interesting part.
- Momentum blends a short and a medium window so that one violent week cannot carry the reading on its own.
- Range position penalises buying the top of the range. Sitting at the ceiling of a 52-week range is scored as stretched, not as strength.
- Volatility is a one-sided penalty: it can subtract points, never add them. A violent chart makes every other reading less trustworthy, and the score says so.
- Relative volume asks whether anyone showed up. Unusual volume takes the sign of the day’s move — heavy volume behind an up day adds, heavy volume behind a down day subtracts — and ordinary turnover contributes nothing either way.
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
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:
| Threshold | Crypto | Solana | ETF |
|---|---|---|---|
| Full trend score at | 4% MA separation | 8% MA separation | 2% MA separation |
| Full momentum score at | 25% blended change | 50% blended change | 12% blended change |
| Volatility penalty starts | above 6% realised | above 12% realised | above 18% annualised |
| Volatility penalty maxes | at 16% | at 32% | at 43% |
| Volume counts as heavy | above 4% of market cap | above 8% of market cap | above 1.0× its 50-day average |
| History window | hourly bars, 24/7 market | daily 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:
- Its numbers are not comparable with the other desks'. A signal score is a bounded −100…+100 reading of recent price behaviour. A probability is a claim about how often something happens. They are different kinds of quantity.
- It is the only desk that publishes its own hit rate. Because that model records outcomes, the page can show what actually happened to every resolved prediction, bucketed by what was claimed. Read that panel first: a probability is worth exactly as much as its track record, and the other three desks have no equivalent because nothing on them has been backtested at all.
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:
- What a fund actually holds, how concentrated it is, and whether two funds on the board are the same bet under different tickers.
- Expense ratio, spread, and tax treatment — costs that compound quietly and do not appear in a price series.
- Distributions. Prices are not total return. A dividend or capital-gains distribution shows up as a price drop the model reads as weakness.
- Fundamentals and valuation of any kind. Nothing here knows what anything is worth.
- News, filings, regulation, unlocks, hacks, halvings, or governance. The headlines on the front page sit next to the scores; they are no part of them.
- Tokenomics — supply schedules, unlock cliffs, how much of the float is real, whether reported volume is genuine.
- You. Position size, entry price, horizon, income, liabilities, tax situation, and how much loss you can absorb without changing your mind.
9. Known limitations
- It has never been backtested. No claim is made, or should be inferred, that following these scores produces returns. It is a readable summary of standard indicators, not a validated strategy.
- Momentum measures persistence, not turning points. By construction the score is most bullish shortly before a trend ends and most bearish near capitulation. That is inherent to trend-following measures and cannot be engineered away.
- Thin names produce loud scores. A coin or fund with little volume can post extreme readings on trades that would not move a liquid market at all. This is worst on the Solana desk, where a long tail of very small tokens can move double digits on trades worth a few thousand dollars, and where reported volume is easiest to fake.
- Survivorship. Both universes list what trades today. Assets that failed have left, so eyeballing the board flatters the asset class.
- Fund data is end-of-day. Intraday moves are invisible until the close is published. Prices are also not adjusted for distributions.
- Crypto data is cached. A price shown here can be up to 45 seconds behind the exchange, and history up to fifteen minutes behind.
- Providers disagree. Different sources compute crypto volume and market capitalisation differently. Two sites can both be right and still show different numbers.
- Missing history degrades quietly. A newly listed asset without enough bars scores those factors at zero rather than guessing, which pulls its total toward neutral.
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.