Skip to content
InScanPublic rankings

Transparency

How the rank is built

This page describes the exact formula the site runs. The numbers below are read from the same constants the ranking module uses, so this text cannot drift away from the implementation.

The score

ComponentWeightFromDefinition
Quality50%Stored feature AG_RANKThe cross-sectional quality rank stored by the pipeline. It combines the position of the short-term average above the long-term average, the distance of RSI 14 from its midpoint, relative volume and the share of positive days.
Trend25%Stored features SMA_20, SMA_50A three-state reading of the 20-day against the 50-day simple moving average: above scores 75, below scores 30, equal scores the neutral value.
Momentum15%Stored feature RSI_14A reading of RSI 14. Extended momentum (70 or above) and depressed momentum (30 or below) both score above the middle, because both are states worth watching.
Liquidity10%Stored feature RVOL_20Relative volume scaled to a 0–100 range and clamped, so a single spike cannot dominate the score.
Sector position20%Rank within the sectorApplied when ranking a whole market. Switched off inside a sector page, where the percentile would be the rank order itself.

What the site refuses to do

  • No invented values. A missing indicator renders as a dash. A pillar without input falls back to the neutral score of 50 instead of zero, so incomplete data is neither rewarded nor punished into an extreme.
  • No silent rounding into a claim. Sub-scores are rounded for display only; the rank itself is computed on the unrounded values.
  • No freshness theatre. The age of a dataset is measured against the newest bar it actually contains, not against the calendar, so a weekend does not make a fresh dataset look stale.
  • No orders. InScan analyses stored data. It does not place, route or execute trades, and nothing here is personalised advice.

Where the data comes from

Prices and indicator values are ingested on a schedule from free market data feeds, normalised, and stored with a source, a known-at timestamp and a quality state per row. The site reads that store and adds no values of its own.

The universe and its sector and industry classification are reference data, not market data. The United States lists are generated from public index tables, so they carry the real date each company joined. The European and Asian lists are curated by hand and checked symbol by symbol against the price feed, because no public table pairs a European or Asian ticker with a sector. Their entry date means “InScan knew this listing from this day on”, not an index date. Nothing here is classified by inference.

How it has behaved

This site has not measured its own ranking yet. It describes the method above and publishes the numbers it can check — the data, its date, its source, the quality of every row. How the ranking has actually behaved is a separate measurement, and it is run as a bounded job on a machine that is not answering visitors, because computing it beside a public site once took the site down.

Until that job has run, this page claims nothing about whether the score works. A number without its sample size, its period and its benchmark beside it would be a claim rather than a measurement, and saying so is more useful to a reader than a figure nobody can check.

The backdrop

A move is easier to read when you know what kind of day it was. These are the published values behind that reading, each with the date it belongs to. They come from a public statistical source and carry no value this site computed.

VIX
Expected volatility of the US market over the coming 30 days.
14.212026-09-22
US 10-year yield
The ten-year Treasury yield, the rate long assets are priced against.
5.18 %2026-09-24
US 2-year yield
The two-year Treasury yield, the rate the market expects policy to follow.
4.87 %2026-09-24
US policy rate
The federal funds rate, the overnight anchor of the whole curve.
3.88 %2026-09-24

Source: Federal Reserve Bank of St. Louis, fetched on a schedule. A day that source has no value for is left out rather than shown as a zero.

Instruments
1097
Daily bars
300378
Newest bar
2026-09-28
Pipeline run
2026-09-28 19:17 UTC

Known limitations

  • Fundamentals are not part of the score. Free market feeds do not provide a reliable fundamental history, so no valuation or profitability pillar is claimed. Adding one would be honest only with a data source that carries a point-in-time history.
  • A rank is a statement about a dataset. It says an instrument compares well against its peers on these four inputs on this date. It is not a forecast and not a recommendation.
  • Coverage is narrower than the market, and the three markets are not built the same way. The United States universe is generated from public index tables. Europe and Asia are curated by hand, because no public table pairs a ticker there with a sector, and each symbol was checked against the price feed before it was published. A company the free feed will not serve is left out entirely rather than shown without data, and an instrument outside a universe cannot appear here at all, however strong it is.
  • News coverage is uneven. The free news feed used here serves United States listings and returns nothing for European or Asian symbols. Where a page shows no news, the market page says how much of that market carries headlines, so the silence reads as coverage rather than as a claim about the market.
  • Sentiment is not a signal. Where a sentiment value is shown, it comes from the ingestion pipeline and is displayed as-is, without weighting it into any score.

Generated 2026-09-28 20:30 UTC. Questions about the method belong in the repository that builds this site, not in a comment field. Back to the rankings.