Earnings Growth Consistency: Results Across 17 Global Exchanges

We ran a 3-year net income growth streak screen on 17 exchanges over 25 years, benchmarked vs local indices. Result: UK +10.42% vs FTSE, Canada +7.80% vs TSX, US +3.40% vs SPY. India underperforms Sensex (-1.99%). Japan beats Nikkei (+3.38%). Full data for all 17 exchanges.

Earnings Growth Consistency results across 17 global exchanges. Local benchmark comparison. UK, Canada, Switzerland lead; India underperforms Sensex.

We ran a single screen on 17 exchanges: buy companies that grew net income every year for three consecutive years. Quality filters: ROE above 8%, debt-to-equity below 2.0. Rank by ROE, hold the top 30, rebalance annually in July. Same signal, same rules, 17 markets, 25 years.

Contents

  1. Method
  2. The Geographic Split
  3. The strong outperformers: UK, Canada, Switzerland
  4. The solid outperformers: US, Germany, Japan
  5. The underperformers: India, Asia (ex-Japan), Southern Europe
  6. Why the Signal Works in Anglo-Saxon Markets
  7. Down Capture: The Protection Comparison
  8. Data Notes
  9. What We Tested
  10. Backtest Methodology
  11. Limitations
  12. Takeaway
  13. Dedicated Exchange Analyses

Execution updated: next-day close (MOC) for all exchanges. Each exchange now benchmarked against its local index (not SPY) where available: Sensex for India, FTSE 100 for UK, DAX for Germany, TSX Composite for Canada, and local indices for most other markets. SPY used for markets without local benchmarks in the dataset.

The results split along geography. Anglo-Saxon markets (US, Canada, UK) beat their local benchmarks clearly. Germany beats the DAX. India underperforms the Sensex despite strong absolute returns. Asia and Southern Europe show mixed to negative results vs local markets.

Exchange CAGR Benchmark Excess Sharpe Max DD Down Capture Cash% Avg Stocks
Canada (TSX) 11.75% TSX Comp (3.95%) +7.80% 0.677 -21.5% -35.8% 0% 23.0
UK (LSE) 11.65% FTSE 100 (1.23%) +10.42% 0.502 -18.9% -3.1% 0% 21.8
US 11.61% SPY (7.85%) +3.76% 0.578 -24.4% +59.9% 0% 27.0
India (NSE) 10.06% Sensex (12.06%) -1.99% 0.152 -18.4% +24.4% 28% 25.2
Germany (XETRA) 8.43% DAX (5.04%) +3.39% 0.374 -36.3% +27.1% 0% 20.6
Switzerland (SIX) 7.02% SMI (0.73%) +5.28% 0.375 -33.9% +26.9% 0% 14.0
Japan (JPX) 6.69% Nikkei (3.31%) +3.38% 0.325 -50.9% +47.3% 16% 26.7
Sweden (STO) 5.41% OMX30 (2.55%) +2.86% 0.166 -44.8% +29.6% 44% 24.3
Malaysia (KLS) 5.20% SPY (7.85%) -2.65% 0.227 -23.7% +26.3% 36% 15.6
Taiwan 4.80% TAIEX (4.08%) +0.72% 0.253 -25.8% +36.4% 36% 26.1
Italy (MIL) 2.54% SPY (7.85%) -5.31% -0.035 -35.4% +43.2% 60% 17.4
South Africa (JNB) 1.76% SPY (7.85%) -6.09% -0.587 -33.1% +13.6% 52% 14.7
Thailand (SET) 1.63% SET Index (-1.88%) -3.51% -0.044 -51.3% +126.2% 32% 26.2
Korea (KSC) 0.62% KOSPI (5.35%) -4.73% -0.221 -46.0% +45.5% 44% 23.2
Hong Kong (HKSE) 0.39% Hang Seng (1.64%) -1.25% -0.124 -64.8% +81.5% 0% 19.0
China (SHH) -0.43% SSE Comp (2.43%) -2.86% -0.087 -53.6% +112.2% 0% 20.4
Norway (OSL) 0.00% 100% 0

Note: Each exchange benchmarked against its local index where available (Sensex, FTSE 100, DAX, TSX Composite, Nikkei, etc.). For exchanges without local benchmarks in the dataset (Italy, Malaysia, South Africa), SPY used as fallback. Benchmark CAGR shown in parentheses. Cross-currency effects embedded in non-USD comparisons.

CAGR vs SPY by Exchange
CAGR vs SPY by Exchange

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


Method

Signal: Net income grew year-over-year in each of the last three fiscal years. Four data points required. All positive.

Quality filters: ROE > 8%, D/E < 2.0.

Portfolio: Top 30 by ROE descending, equal weight. Hold cash if fewer than 10 qualify.

Rebalancing: Annual, July. Matches fiscal year filing cadence with 45-day lag from December/March FY-end.

Point-in-time: Filing date used, not fiscal year end, with 45-day lag. FY filings older than 5 years are ignored.

Each exchange uses a locally adjusted market cap threshold. The Japan threshold is ¥10B, Canada is CAD 700M, India is ₹5B. Not a flat $1B USD globally.


The Geographic Split

Max Drawdown by Exchange
Max Drawdown by Exchange

Five exchanges show strong positive alpha vs their local benchmarks: UK (+10.42% vs FTSE 100), Canada (+7.80% vs TSX), Switzerland (+5.28% vs SMI), US (+3.76% vs SPY), and Germany (+3.39% vs DAX). Japan also beats the Nikkei (+3.38%). India underperforms the Sensex (-1.99%) despite strong absolute returns.

The strong outperformers: UK, Canada, Switzerland

UK leads on excess vs local benchmark: +10.42% per year vs FTSE 100 (1.23% CAGR). Win rate of 88%. Caveat: FTSE 100 is a price index (no dividends); vs total-return FTSE, the excess would be 6-7%. Still strong. Max drawdown of -18.9% is the best globally.

Canada delivers +7.80% excess vs TSX Composite (3.95% CAGR). Sharpe of 0.677 — the highest of all 17 exchanges. Down capture of -35.8% is negative: when the TSX fell, Canadian consistent earners gained on average. Win rate: 76%. The TSX is commodity-heavy; the filter selects defensive financials and utilities that move against the commodity cycle.

Switzerland shows +5.28% vs SMI (0.73% CAGR). Modest 14 stocks on average but 0% cash and clean outperformance. The SMI's weak performance over the period makes the alpha look stronger, but the signal clearly works.

The solid outperformers: US, Germany, Japan

US: 11.61% CAGR, +3.76% excess vs SPY (7.85%). 72% win rate, 27.0 average stocks, 0 cash periods. The broadest market in the study delivers consistent, diversified outperformance.

Germany: +3.39% excess vs DAX (5.04%). Win rate 72%. The signal works clearly in Germany when benchmarked against the local market (vs old +0.77% vs SPY). 2024 showed the risk: -32.9% miss when the DAX surged.

Japan: +3.38% excess vs Nikkei (3.31%). This is new — vs SPY, Japan underperformed. Vs the local Nikkei, it works. 16% cash but positive alpha when invested.

The underperformers: India, Asia (ex-Japan), Southern Europe

India is the surprise: 10.06% CAGR vs Sensex 12.06% (-1.99% underperformance). Strong absolute returns but doesn't beat the local market. India's secular bull over 2007-2024 (the invested period) outpaced a quality filter. The 2009 (+48.9% excess) and 2014 (+47.4%) years show the filter can work in India, but overall it trails the Sensex.

Korea: -4.73% vs KOSPI (5.35% CAGR). 44% cash. The chaebol structure means large Korean companies carry leverage by design. The earnings consistency filter eliminates most of them, leaving a thin and inconsistent investable universe. Even vs the local KOSPI, the filter underperforms.

Thailand: -3.51% vs SET Index (-1.88% CAGR). The SET Index itself returned negative. The portfolio also underperformed in absolute terms (1.63% CAGR). Tourism-cyclical Thailand doesn't have a deep pool of consistent earners.

Malaysia: -2.65% vs SPY (no local benchmark available). 36% cash. Commodity-linked Malaysia produces thin qualifying universes.

China: -2.86% vs SSE Composite (2.43% CAGR). State-owned enterprise dominance, opaque reporting. The 2006 return of +115% reflects the genuine A-share bubble. Overall, consistent earners don't outperform in China.

Hong Kong: -1.25% vs Hang Seng (1.64% CAGR). 0% cash, -64.8% max drawdown — the worst drawdown in the study. The screen found qualifying companies, but they didn't outperform the local market.

Taiwan, Sweden, Italy, South Africa: Mixed results. Taiwan edges out TAIEX slightly (+0.72%). Sweden beats OMX30 (+2.86%). Italy and South Africa have high cash periods and negative results.


Why the Signal Works in Anglo-Saxon Markets

The pattern has a structural explanation.

Earnings consistency as a signal requires three things to generate alpha:

  1. Transparent reporting. Financial statements must accurately reflect earnings. In markets with weak audit or enforcement, "consistent earnings" may not be real.
  2. Market pricing of fundamentals. Markets must price durable earnings power. Momentum-dominated markets can misprice quality.
  3. Defensive company composition. The signal needs a pool of defensive, quality businesses. Markets dominated by state enterprises, commodity exporters, or cyclicals have fewer companies whose earnings compound steadily.

Anglo-Saxon markets (US, UK, Canada) score high on all three. Germany and Switzerland also show the signal working. Japan works vs the Nikkei. India's failure vs the Sensex reflects a different issue: India's broad market was so strong (Sensex 12.06% CAGR) that even a quality filter producing 10.06% underperformed.

Asian markets (China, Korea, Hong Kong) face challenges: audit quality in China, chaebol leverage in Korea, state enterprise exposure in Hong Kong.


Down Capture: The Protection Comparison

Exchange Down Capture (vs local) Signal
Canada -35.8% Rises when TSX falls
UK -3.1% Nearly uncorrelated with FTSE 100 down moves
South Africa +13.6% Strong protection (thin universe, vs SPY)
India +24.4% Strong protection vs Sensex
Malaysia +26.3% Strong protection (vs SPY)
Germany +27.1% Strong protection vs DAX
Switzerland +26.9% Strong protection vs SMI
Sweden +29.6% Moderate protection vs OMX30
Taiwan +36.4% Moderate protection vs TAIEX
Italy +43.2% Moderate protection (vs SPY)
Korea +45.5% Moderate protection vs KOSPI
Japan +47.3% Some protection vs Nikkei
US +59.9% Some protection vs SPY
Hong Kong +81.5% Minimal protection vs Hang Seng
China +112.2% Negative (worse drawdowns than SSE Composite)
Thailand +126.2% Negative (worse than SET Index)

Markets with negative or very low down capture (Canada, UK) show the filter creating genuinely defensive portfolios. Markets with high down capture (China, Thailand) show the filter failing to provide crisis protection even when it finds companies with historical earnings growth.


Data Notes

Norway (OSL): 100% cash across all 25 periods. Norway's exchange is dominated by oil and gas companies — Equinor, Aker BP, and similar firms whose earnings move with commodity prices, not consistent growth trajectories. The earnings consistency filter eliminates almost the entire investable universe. Norway is included in the exchange count but excluded from all content recommendations.

China 2006: Annual return of +115.4% reflects the genuine Shanghai A-share bubble (Shanghai Composite +154% that year). This is a real market event, not a data artifact. It contributes meaningfully to China's CAGR but also to its volatility and max drawdown.

Italy (MIL) and South Africa (JNB): 60% and 52% cash respectively. Too few invested periods for reliable signal analysis. Both are excluded from dedicated blog coverage but included here for completeness.

India 2000-2006: Seven consecutive cash periods due to insufficient NSE coverage in the data provider. Results from 2007-2024 are clean. Note: This backtest uses NSE only (not BSE+NSE) to avoid dual-listing bias.


What We Tested

17 exchanges included: NYSE/NASDAQ/AMEX (US), NSE (India), LSE (UK), XETRA (Germany), TSX (Canada), SIX (Switzerland), STO (Sweden), JPX (Japan), SHH (China), KSC (Korea), HKSE (Hong Kong), TAI/TWO (Taiwan), SET (Thailand), JNB (South Africa), MIL (Italy), KLS (Malaysia), OSL (Norway).

Excluded exchanges: ASX (Australia) and SAO (Brazil) are excluded from all backtests due to adjusted price artifacts in the underlying data. They are not included in this comparison.


Backtest Methodology

Parameter Value
Signal 3-year net income growth streak (y1>y2>y3>y4>0), ROE > 8%, D/E < 2.0
Portfolio Top 30 by ROE, equal weight
Cash rule 100% cash if fewer than 10 qualify
Rebalance Annual, July
MCap Per-exchange local currency threshold
Benchmark Local index where available (Sensex, FTSE 100, DAX, TSX Composite, Nikkei, etc.); SPY for markets without local benchmarks
Execution Next-day close (MOC)
Data FMP financial statements + EOD price data
Period 2000-2025
Data lag Point-in-time, 45-day lag on financial statements

Limitations

Survivorship bias. Exchange membership uses current company profiles. Companies that delisted during the backtest period may not be fully captured, which likely causes some upward bias in reported returns.

Currency effects. Returns are computed in local currency and benchmarked against local indices where available. This eliminates cross-currency comparison issues for most exchanges. Italy, Malaysia, and South Africa still use SPY as fallback benchmarks and embed currency effects.

Data coverage variance. Early years (2000-2005) have thinner coverage for many non-US exchanges. Results from 2006 onward are more reliable for all exchanges in this study.

Equal weight: The strategy doesn't adjust position size for liquidity. In markets with thin trading (HKSE, some KLS stocks), equal weight creates implicit concentration risk. Transaction costs and market impact aren't modeled.


Takeaway

The earnings consistency screen works across Anglo-Saxon markets (US, Canada, UK) plus Germany, Switzerland, and Japan (vs local benchmarks). It shows modest positive alpha in Taiwan and Sweden. It fails in India (vs Sensex), Korea, Thailand, Malaysia, Hong Kong, China, Italy, and South Africa.

When you benchmark each market against its local index, the pattern is clear: defensive-sector markets (US, Canada, UK) and quality-focused European markets (Germany, Switzerland) reward earnings consistency. High-growth emerging markets (India, China) and chaebol/state-enterprise markets (Korea, Hong Kong) don't.

The signal isn't universal. It's market-dependent. Use it where market microstructure prices fundamental quality.


Dedicated Exchange Analyses

Backtest code: github.com/ceta-research/backtests

Data: Ceta Research, FMP financial data warehouse. Annual rebalance (July), equal weight (top 30 by ROE), 2000-2025. Execution: next-day close (MOC). Benchmarks: local indices where available.