Sector-Adjusted Momentum Tested on 14 Exchanges: Where Stripping the
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
- Method
- What We Found
- 7 outperform, 7 underperform
- Why the Split Follows a Clear Pattern
- The markets where it works: less efficient, more sector diversity
- The markets where it fails: efficient or sector-concentrated
- Down capture as the real differentiator
- The Signal
- By the Numbers
- Academic Basis
Seven of the 14 exchanges beat the S&P 500 benchmark. Seven didn't. The split isn't random: it tracks almost perfectly with market efficiency and sector diversity.
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: S&P 500 Total Return (SPY), 8.01% CAGR over this period
- 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
7 outperform, 7 underperform

| Exchange | CAGR | vs SPY | Sharpe | Max Drawdown | Down Capture |
|---|---|---|---|---|---|
| India (BSE+NSE) | 25.62% | +17.61% | 0.603 | -69.89% | 22.8% |
| South Africa (JNB) | 12.68% | +4.67% | 0.137 | -36.52% | 30.6% |
| Sweden (STO) | 11.15% | +3.14% | 0.429 | -57.61% | 92.8% |
| Germany (XETRA) | 10.29% | +2.27% | 0.433 | -47.29% | 77.4% |
| Canada (TSX) | 9.64% | +1.63% | 0.312 | -45.84% | 89.6% |
| UK (LSE) | 9.36% | +1.35% | 0.263 | -49.20% | 88.2% |
| Korea (KSC) | 8.79% | +0.78% | 0.248 | -45.10% | 52.4% |
| US (NYSE+NASDAQ+AMEX) | 6.20% | -1.81% | 0.144 | -62.89% | 154.7% |
| Switzerland (SIX) | 5.69% | -2.32% | 0.294 | -45.50% | 89.6% |
| Thailand (SET) | 5.12% | -2.90% | 0.112 | -46.55% | 62.1% |
| Taiwan (TAI) | 5.04% | -2.97% | 0.186 | -61.21% | 76.7% |
| Japan (JPX) | 3.94% | -4.07% | 0.184 | -61.64% | 95.4% |
| China (SHZ+SHH) | 3.08% | -4.93% | 0.016 | -74.45% | 70.2% |
| Hong Kong (HKSE) | 2.20% | -5.81% | -0.027 | -80.48% | 142.2% |
SPY benchmark: 8.01% CAGR, Sharpe 0.354

Why the Split Follows a Clear Pattern
The markets where it works: less efficient, more sector diversity
The seven outperforming exchanges share two traits. First, none of them are the most efficient large-cap markets. India, South Africa, Sweden, Germany, Canada, UK, and Korea all have meaningful pricing inefficiencies compared to the US. Momentum signals in general work better where inefficiencies exist. Second, all seven have sector diversity at rebalance dates, an average of 7 or more active sectors, which is the minimum the RS signal needs to function.
India is the most striking example. With 8.4 average active sectors and an index dominated by a mix of technology, financial services, materials, and consumer goods, the RS signal is picking out stocks that genuinely stand out within their sector context. The result is 25.62% CAGR over 25 years, 17.61 percentage points ahead of the S&P 500.
Germany (9.0 average sectors) and UK (8.9) also have strong sector diversity, and both outperform. The RS signal is doing what it's supposed to: finding stock-specific momentum rather than sector trends.
The markets where it fails: efficient or sector-concentrated
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 6.20% annually versus the market's 8.01%. The excess return is -1.81%.
The reason is the inverse of the India finding. In the US, sector momentum isn't noise to be removed. It's signal. 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.
Japan, China, and Hong Kong tell a different story. These markets have both sector diversity and significant pricing inefficiencies, but RS underperforms substantially (Japan -4.07%, China -4.93%, HK -5.81%). 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.
Down capture as the real differentiator
Beyond CAGR, the down capture numbers reveal something more useful for portfolio construction. India at 22.8% down capture means the portfolio absorbed less than a quarter of S&P 500 bear market losses. South Africa at 30.6%, Korea at 52.4%, Germany at 77.4%.
Compare that to the US at 154.7%: the relative strength portfolio captured more than one and a half times SPY's 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 implication for a global investor: if you're running sector-adjusted momentum across multiple markets, India and South Africa are the diversifying positions. They outperform and have low correlation to S&P 500 drawdown periods.
The Signal
The screen below runs on current data. It identifies stocks that are outperforming their own sector peers using the same 12M-1M lookback as the backtest.
WITH universe AS (
SELECT p.symbol, p.companyName, p.exchange, p.sector,
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 != ''
),
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 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 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
),
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: 7 (India, South Africa, Sweden, Germany, Canada, UK, Korea)
- Underperformers: 7 (US, Switzerland, Thailand, Taiwan, Japan, China, Hong Kong)
- Best result: India, +17.61% excess CAGR, 22.8% down capture
- Worst result: Hong Kong, -5.81% excess CAGR, 142.2% down capture
- Most defensive: India (22.8% down capture), South Africa (30.6%)
- Most aggressive in downturns: US (154.7% down capture), Hong Kong (142.2%)
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, HK), removing sector effects hurts more. In markets with stronger stock-specific momentum and weaker sector co-movement (India, Germany), it helps.
Data: Ceta Research (FMP financial data warehouse). Backtest period 2000–2025.