Cross-Sectional Feature Standardisation
Cross-sectional standardisation rescales a feature relative to all other stocks on the same day, rather than relative to its own history, so a model compares like with like at every point in time.
Prerequisites: Cross-Sectional vs. Time-Series Strategies
A price-to-earnings ratio of 15 means something different in a tech bull market than during a recession, and it means something different for a bank than for a software company. Cross-sectional standardisation fixes this by rescaling each stock's feature value relative to every other stock in the universe on that same day, rather than relative to its own history over time.
Cross-sectional standardisation z-scores each feature against that day's universe of stocks, so a model always sees "cheap relative to today's market," not a number whose meaning drifts as the overall market environment changes.
The typical calculation subtracts that day's cross-sectional mean and divides by that day's cross-sectional standard deviation, for every feature and every date. This differs from time-series standardisation, which would compare a stock's P/E only to its own past P/E history — a comparison that says nothing about how it stacks up against peers today.
Worked example. On a given day, 500 stocks have P/E ratios averaging 18 with a standard deviation of 6. A stock trading at a P/E of 12 gets a cross-sectional z-score of , meaning it is one standard deviation cheaper than the market that day — a comparable number whether the market's average P/E that day happens to be 18 or 30.
Cross-sectional standardisation is the default choice for models that rank or select stocks against each other at each rebalance, since the prediction task itself is inherently relative.
Further reading
- Qian, Hua & Sorensen, Quantitative Equity Portfolio Management (ch. 4)