Quant Memo
Core

Rank Transforms and Uniformisation

Converting a signal to ranks doesn't just dodge outliers — it forces every stock's score into the same distribution shape, which is what makes signals from very different sources comparable and combinable.

Prerequisites: Ranking vs Z-Scoring a Signal

A value signal, a momentum signal and a sentiment signal live on completely different scales — one is a valuation ratio bounded near zero, one is a percentage return that can be negative, one is a bounded sentiment score from a text model. Averaging them directly is close to meaningless: whichever one happens to have the widest raw spread will dominate the blend, regardless of which is actually the best predictor. Uniformisation is the fix that makes signals from unrelated sources speak the same language before they're combined.

What "uniformising" means

Rank each stock within the cross-section, then rescale those ranks onto a fixed reference distribution — usually the uniform distribution on (0, 1), sometimes then pushed through an inverse-normal transform to get something Gaussian-shaped. Either way, every signal, no matter its native units or its raw shape, ends up with an identical, known distribution across the universe: the same spread, the same tails, the same everything except which stock got which value.

This is stronger than plain ranking (covered separately as "ranking vs z-scoring"). Ranking fixes the order problem. Uniformisation additionally fixes the shape problem: a raw signal that is heavily right-skewed, or one that is bimodal, gets flattened into the same shape as a signal that started out perfectly normal. Two signals that have been uniformised are now genuinely comparable observation by observation — the 90th-percentile stock on signal A and the 90th-percentile stock on signal B occupy the same relative position, even though nothing about their raw units matches.

Why this matters for combination

When several signals are being blended, giving each one equal weight only means something if "one unit of signal A" and "one unit of signal B" are the same kind of thing. Without uniformising first, equal-weighting silently gives more influence to whichever signal has fatter tails in its raw form. After uniformising, an equal-weighted average is actually equal — the combination reflects genuine agreement or disagreement between signals about rank, not an artefact of whose native scale happens to be wider.

StepWhat it removes
Rank within cross-sectionSensitivity to raw magnitude and outliers
Rescale ranks to (0,1)Different signals' differing raw ranges
Optional inverse-normal pushLeftover shape differences (skew, bimodality) between signals

A worked example

A universe of 1,000 stocks has a value signal that is heavily right-skewed (a handful of deeply distressed names show extreme ratios) and a sentiment signal that is roughly symmetric but bounded between −1 and +1. Averaged raw, the value signal's extreme tail dominates the blend for those few distressed names regardless of what sentiment says. Uniformised, both signals are ranked 1 to 1,000 and rescaled to (0,1): the most "valuable" stock by the ratio and the most "positive" stock by sentiment both land at 1.0, with no name able to swamp the average just because its raw units happened to run wider.

Uniformising trades raw magnitude for comparable position-in-distribution. It is the step that makes "combine five signals with equal weight" a statement that actually means something, rather than a statement about whichever signal has the widest native scale.

Uniformising is a one-way trip: once ranks are rescaled to (0,1), the original magnitude is gone for good. Keep a raw copy of every signal alongside its uniformised version — you will need the raw one again for diagnostics like checking whether a result is being driven by illiquid outliers.

Related concepts

Practice in interviews

Further reading

  • Chincarini & Kim, Quantitative Equity Portfolio Management
ShareTwitterLinkedIn