Sector-Adjusted Momentum Tested on 14 Global Exchanges: 11 of 14 Beat Their Local Benchmark

We backtested sector-adjusted momentum (12M-1M return minus sector average) on 14 exchanges from 2000 to 2025. Eleven beat their local benchmark. Only US, China, and Japan underperformed. The result maps to market efficiency and sector co-movement.

CAGR comparison of Sector-Adjusted Momentum vs local benchmarks across 14 exchanges (2000-2025). India leads at +7.82% excess, US trails at -2.24%.

We tested the Sector-Adjusted Momentum strategy on 14 stock exchanges worldwide from 2000 to 2025. The strategy buys stocks that outperform their own sector peers, not just the market. Moskowitz and Grinblatt (1999) showed that roughly half of momentum profits come from sector-level trends. Strip that out, and you're left with stock-specific momentum.

Contents

  1. Method
  2. What We Found
  3. 11 outperform, 3 underperform vs local benchmark
  4. Why the Pattern Is Clear
  5. Markets where it works: less efficient, higher sector diversity
  6. The US: a specific failure
  7. China and Japan: sector co-movement kills the signal
  8. Down capture as a portfolio construction tool
  9. The Signal
  10. By the Numbers
  11. Academic Basis

Tested against each market's local benchmark, sector-adjusted momentum generated positive alpha in 11 of 14 exchanges. Only the US (-2.24%), China (-1.99%), and Japan (barely, -0.44%) failed to beat their local index. The pattern follows market efficiency and sector co-movement.

Data: FMP financial data warehouse, 2000–2025. Updated March 2026.


Method

Data source: Ceta Research (FMP financial data warehouse) Period: 2000–2025 (25 years, 103 quarterly periods) Rebalancing: Quarterly (January, April, July, October), equal weight Benchmark: Local market index for each exchange (e.g., Sensex for India, DAX for Germany, FTSE 100 for UK). S&P 500 used for US and South Africa (no local index data available in FMP stock_eod). Transaction costs: Size-tiered model (0.1–0.5% one-way based on market cap) Cash rule: Hold cash if fewer than 10 stocks qualify at a rebalance date

Signal construction: 1. Compute each stock's 12-month return, skipping the most recent month (12M-1M lookback per Jegadeesh & Titman 1993) 2. Compute the equal-weighted average of that return across all qualifying stocks in the same GICS sector 3. Relative strength = stock return minus sector average return 4. Buy top 30 by relative strength

Universe: All stocks on each exchange with market cap above exchange-specific threshold (local currency) and known GICS sector from profile data. Minimum 5 stocks per sector to compute a sector average; stocks in under-represented sectors are excluded.

Three exchanges were excluded from this analysis: Norway (OSL), Italy (MIL), and Singapore (SES). All three had more than 5 consecutive years of zero qualifying stocks at the start of the backtest period combined with fewer than 5 average active sectors at rebalance dates. The RS signal relies on sector diversity to function; these markets didn't have it.


What We Found

11 outperform, 3 underperform vs local benchmark

CAGR comparison: Sector-Adjusted Momentum vs local benchmark across 14 exchanges (2000-2025)
CAGR comparison: Sector-Adjusted Momentum vs local benchmark across 14 exchanges (2000-2025)

Exchange CAGR Local Benchmark Bench CAGR Excess Sharpe Max Drawdown Down Capture
India (NSE) 18.94% Sensex 11.12% +7.82% 0.440 -68.84% 82.05%
Sweden (STO) 11.09% OMX Stockholm 30 3.17% +7.92% 0.423 -55.54% 67.2%
Germany (XETRA) 10.45% DAX 5.12% +5.33% 0.425 -43.79% 57.74%
S.Africa (JNB) 10.18% S&P 500* 8.01% +2.17% 0.056 -35.45% 38.46%
UK (LSE) 7.95% FTSE 100 1.35% +6.60% 0.203 -50.42% 79.69%
Korea (KSC) 8.82% KOSPI 4.81% +4.01% 0.254 -43.23% 54.01%
Canada (TSX) 8.26% TSX Composite 5.09% +3.17% 0.256 -45.60% 115.01%
Switzerland (SIX) 5.96% SMI 2.10% +3.86% 0.305 -43.92% 95.75%
Thailand (SET) 5.48% SET Index 3.76% +1.72% 0.133 -43.60% 67.29%
Taiwan (TAI) 5.21% TAIEX 4.37% +0.84% 0.191 -60.59% 66.86%
Hong Kong (HKSE) 2.14% Hang Seng 1.77% +0.37% -0.029 -79.90% 99.99%
Japan (JPX) 2.96% Nikkei 225 3.40% -0.44% 0.138 -65.31% 74.75%
China (SHZ+SHH) 2.20% SSE Composite 4.19% -1.99% -0.008 -74.76% 97.65%
US (NYSE+NASDAQ+AMEX) 5.78% S&P 500 8.02% -2.24% 0.128 -65.54% 160.50%

*South Africa benchmark: S&P 500 used as fallback (no local index data in FMP stock_eod for JSE All Share).

Max drawdown comparison: Sector-Adjusted Momentum vs local benchmark across 14 exchanges (2000-2025)
Max drawdown comparison: Sector-Adjusted Momentum vs local benchmark across 14 exchanges (2000-2025)


Why the Pattern Is Clear

Markets where it works: less efficient, higher sector diversity

Eleven exchanges outperform their local benchmark. The outperformers share a common trait: the local benchmark was a weak hurdle.

India's Sensex compounded at 11.12% from 2000 to 2025, a substantial return. The RS strategy added 7.82 percentage points on top of that. Sweden's OMX Stockholm 30 compounded at just 3.17% over the same period. The RS strategy added 7.92 points above that. In both cases, the sector adjustment isolates genuine company-specific momentum that persists because analyst coverage is thinner and information diffuses more slowly than in the US.

Germany (9.0 average active sectors) and the UK (8.9) have strong sector diversity, which gives the RS signal a meaningful peer group for every stock. The signal is doing what it's supposed to: finding winners within their sector context rather than chasing whatever sector happened to run.

The US: a specific failure

The US is the clearest counterexample. Eight and a half average active sectors, zero cash periods, 29.7 stocks per rebalance. The signal fires consistently. But it returns 5.78% annually versus the S&P 500's 8.02%.

The reason is the inverse of the outperforming markets. Moskowitz and Grinblatt showed that the industry component accounts for roughly half of raw momentum profits in the US market specifically. When you strip it out, you remove real alpha. What remains, pure company-specific momentum, is weaker in the world's most efficient equity market.

China and Japan: sector co-movement kills the signal

Japan (-0.44% vs Nikkei) and China (-1.99% vs SSE Composite) both have sector diversity, but RS still underperforms. The likely cause: Asian markets exhibit strong sector co-movement, where local sector trends are even more dominant than in the US. Removing the sector effect removes the strongest part of the momentum signal in these markets.

Down capture as a portfolio construction tool

The down capture numbers reveal how each strategy behaves during market downturns.

Exchange Down Capture What It Means
S.Africa 38.46% Largely uncorrelated to local market downturns
Korea 54.01% Absorbed about half of KOSPI's bear quarter losses
Germany 57.74% Absorbed 58 cents per euro of DAX loss
Sweden 67.2% Good protection in OMX Stockholm downturns
India 82.05% Fell 82% as much as Sensex in bear quarters
UK 79.69% Moderate protection in FTSE 100 downturns
Canada 115.01% Amplifies TSX downturns slightly
US 160.50% Worst bear market behavior in the dataset

The US at 160.5% down capture means the RS portfolio absorbed more than one and a half times S&P 500 bear market losses. During drawdowns, US stocks that had been outperforming their sectors tended to fall harder than the market. This is the momentum crash problem: winners get oversold in panics.


The Signal

The screen below runs on current data. It identifies stocks outperforming their own sector peers using the same 12M-1M lookback as the backtest.

WITH universe AS (
    SELECT p.symbol, p.companyName, MIN(p.exchange) AS exchange, p.sector,
           MAX(k.marketCap) / 1e9 AS market_cap_billions
    FROM profile p
    JOIN key_metrics_ttm k ON p.symbol = k.symbol
    WHERE k.marketCap > 1000000000
      AND p.isActivelyTrading = true
      AND p.sector IS NOT NULL AND p.sector != ''
    GROUP BY p.symbol, p.companyName, p.sector
),
price_1m_ago AS (
    SELECT symbol, adjClose AS price_1m,
           ROW_NUMBER() OVER (PARTITION BY symbol
               ORDER BY ABS(CAST(dateEpoch AS BIGINT) -
                   CAST(EXTRACT(EPOCH FROM (CURRENT_DATE - INTERVAL '30' DAY))::BIGINT AS BIGINT))
           ) AS rn
    FROM stock_eod
    WHERE CAST(date AS DATE) BETWEEN CURRENT_DATE - INTERVAL '45' DAY AND CURRENT_DATE - INTERVAL '15' DAY
      AND adjClose > 1.0
),
price_12m_ago AS (
    SELECT symbol, adjClose AS price_12m,
           ROW_NUMBER() OVER (PARTITION BY symbol
               ORDER BY ABS(CAST(dateEpoch AS BIGINT) -
                   CAST(EXTRACT(EPOCH FROM (CURRENT_DATE - INTERVAL '365' DAY))::BIGINT AS BIGINT))
           ) AS rn
    FROM stock_eod
    WHERE CAST(date AS DATE) BETWEEN CURRENT_DATE - INTERVAL '395' DAY AND CURRENT_DATE - INTERVAL '335' DAY
      AND adjClose > 1.0
),
raw_momentum AS (
    SELECT u.symbol, u.companyName, u.exchange, u.sector, u.market_cap_billions,
           ROUND((p1m.price_1m - p12.price_12m) / p12.price_12m * 100, 1) AS raw_mom_pct
    FROM universe u
    JOIN price_12m_ago p12 ON u.symbol = p12.symbol AND p12.rn = 1
    JOIN price_1m_ago p1m  ON u.symbol = p1m.symbol  AND p1m.rn = 1
    WHERE p12.price_12m > 1.0 AND p1m.price_1m > 1.0
      AND (p1m.price_1m - p12.price_12m) / p12.price_12m <= 5.0
),
sector_avg AS (
    SELECT sector, COUNT(*) AS sector_count, AVG(raw_mom_pct) AS sector_avg_mom
    FROM raw_momentum
    GROUP BY sector
    HAVING COUNT(*) >= 5
)
SELECT m.symbol, m.companyName, m.exchange, m.sector,
       ROUND(m.market_cap_billions, 2) AS market_cap_billions,
       m.raw_mom_pct,
       ROUND(s.sector_avg_mom, 1) AS sector_avg_pct,
       ROUND(m.raw_mom_pct - s.sector_avg_mom, 1) AS relative_strength_pct,
       s.sector_count
FROM raw_momentum m
JOIN sector_avg s ON m.sector = s.sector
ORDER BY relative_strength_pct DESC
LIMIT 30

Run it on the Ceta Research Data Explorer.


By the Numbers

Period: 2000–2025 (25 years, 103 quarterly rebalance periods) Exchanges tested: 14 (after excluding OSL, MIL, SES for insufficient sector diversity) Outperformers vs local benchmark: 11 (India, Sweden, Germany, UK, Korea, South Africa, Canada, Switzerland, Thailand, Taiwan, Hong Kong) Underperformers vs local benchmark: 3 (US, China, Japan)

Best result: India, +7.82% excess CAGR vs Sensex, 82.05% down capture Strongest alpha in developed markets: Sweden (+7.92% vs OMX), UK (+6.60% vs FTSE 100), Germany (+5.33% vs DAX) Worst result: US, -2.24% excess vs S&P 500, 160.5% down capture Most defensive: South Africa (38.46% down capture), Korea (54.01%), Germany (57.74%)


Academic Basis

The strategy is grounded in two papers:

Moskowitz, T. & Grinblatt, M. (1999). "Do Industries Explain Momentum?" Journal of Finance, 54(4), 1249-1290. Found that roughly half of momentum profits in the US come from industry-level momentum. Individual stock momentum, once sector effects are removed, is the cleaner signal.

Jegadeesh, N. & Titman, S. (1993). "Returns to Buying Winners and Selling Losers." Journal of Finance, 48(1), 65-91. The foundational momentum paper. Established the 12-month lookback with one-month skip to avoid short-term reversal contamination.

The cross-market variation we see here extends the Moskowitz-Grinblatt finding. In markets where sector momentum is stronger relative to stock-specific momentum (Japan, China, US), removing sector effects hurts more. In markets with stronger stock-specific momentum and weaker sector co-movement (India, Germany, UK), it helps.


Data: Ceta Research (FMP financial data warehouse). Backtest period 2000–2025. Each exchange benchmarked against its local market index. Past performance does not guarantee future results. This is educational content, not investment advice.