Sector Mean Reversion on Hong Kong Stocks (HKSE): 6.36% CAGR, +4.75% vs Hang Seng

Sector mean reversion on HKSE large caps from 2000 to 2025: 6.51% CAGR vs 8.02% S&P 500. 2009 was +105.53%. 2023 was -15.66% vs SPY +26%. Extreme year-to-year variance with -1.51% average annual underperformance.

Growth of HKD 10,000 in Sector Mean Reversion Hong Kong (HKSE) vs Hang Seng from 2000 to 2025

Hong Kong's sector mean reversion result is a mixed picture. Over 26 years, the strategy returned 6.36% annualized in HKD, beating the Hang Seng Index's 1.61% by +4.75% per year. But the year-by-year story is anything but smooth. 2009 delivered +105.53%, the second-highest single-year return in the entire 14-exchange study. 2008 was -53.09%. 2023 was -15.66% while global markets rallied. HKSE produces dramatic individual years that average out to a positive edge over the local benchmark, but a lagging position relative to global alternatives.

Contents

  1. Method
  2. What is Sector Mean Reversion?
  3. Most Selected Sectors (of 97 invested quarters)
  4. The Screen
  5. What We Found
  6. 26 years. +4.75% annual excess vs the Hang Seng.
  7. Year-by-Year Returns
  8. Notable Periods
  9. 2003: SARS recovery, +73.88%
  10. 2007: Pre-GFC China boom, +42.59%
  11. 2008-2009: The crash and the recovery
  12. 2013-2014: Two years near zero
  13. 2021-2023: Three years of persistent underperformance
  14. 2025: Sharp reversal, +42.35%
  15. Backtest Methodology
  16. Limitations
  17. Takeaway
  18. Part of a Series
  19. References
  20. Run This Screen Yourself

Context on the benchmark: The Hang Seng has returned only 1.61% annually over 26 years as a price index. Beating it by +4.75% is a real edge, but a global investor benchmarking against SPY (8.02%) would note that Hong Kong's strategy at 6.36% CAGR still lags by -1.66%. Both comparisons matter.

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


Method

Data source: Ceta Research (FMP financial data warehouse) Universe: HKSE (Hong Kong Stock Exchange), market cap > HKD $3B (~USD $400M) Period: 2000-2025 (26 years, 104 quarterly periods) Rebalancing: Quarterly (January, April, July, October) Signal: Buy all stocks in the bottom 2 sectors by 12-month trailing equal-weighted return Portfolio construction: Equal weight all qualifying stocks in selected sectors Benchmark: Hang Seng Index (^HSI) Cash rule: Hold cash if fewer than 5 stocks qualify Currency note: Returns are in HKD (local currency). Benchmark is Hang Seng (HKD).

Historical financial data with 45-day lag to prevent look-ahead bias. Full methodology: backtests/METHODOLOGY.md


What is Sector Mean Reversion?

The strategy is simple. At each quarterly rebalance, we rank all sectors by their equal-weighted 12-month trailing return. We buy every qualifying stock in the bottom 2 sectors. Next quarter, we re-rank and rotate.

The academic basis comes from Moskowitz and Grinblatt (1999), who showed that industry-level momentum explains much of the stock momentum anomaly. The reverse holds too: sectors that have underperformed for a full year tend to carry suppressed valuations and depressed sentiment that eventually normalize.

Hong Kong is a structurally unusual market for this strategy. It's classified as a developed market, but a large portion of its listed companies are mainland Chinese firms (H-shares, Red Chips) that trade in Hong Kong but operate under PRC regulatory and economic conditions. The sector underperformance that drives the strategy's signal in HK often reflects policy risk, regulatory crackdowns, and real estate sector stress, not the sentiment-driven cycles that fuel reversion in Western markets. That structural difference shows up in the results.

With an average of 72.3 stocks per quarter across the two selected sectors, the portfolio is more concentrated than the US (603 stocks) but comparable to other Asian markets.

Most Selected Sectors (of 97 invested quarters)

Sector Quarters Selected
Communication Services 31 (32%)
Technology 21 (22%)
Real Estate 23 (24%)
Healthcare 21 (22%)
Basic Materials 20 (21%)
Energy 18 (19%)

Communication Services leads at 32%. HK's telecom and media stocks were beaten down repeatedly through the study period. Tech and Real Estate reflect China-linked sector cycles. Real Estate's 24-quarter presence reflects the Evergrande-era stress that began in 2020 and accelerated through 2022-2023. The sector mix reflects a market where China-linked sectors cycle through regulatory and macro risk as much as sentiment.


The Screen

The screen below runs live. It ranks HKSE sectors by their current 12-month equal-weighted return. The bottom rows are what the backtest would buy today.

WITH prices AS (
    SELECT e.symbol, e.adjClose, CAST(e.date AS DATE) AS trade_date
    FROM stock_eod e
    JOIN profile p ON e.symbol = p.symbol
    WHERE p.sector IS NOT NULL AND p.sector != ''
      AND p.marketCap > 3000000000
      AND p.exchange IN ('HKSE')
      AND CAST(e.date AS DATE) >= CURRENT_DATE - INTERVAL '400' DAY
      AND e.adjClose IS NOT NULL AND e.adjClose > 0
),
recent AS (
    SELECT symbol, adjClose AS recent_price
    FROM prices
    QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
year_ago AS (
    SELECT symbol, adjClose AS old_price
    FROM prices
    WHERE trade_date <= CURRENT_DATE - INTERVAL '252' DAY
    QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
stock_returns AS (
    SELECT r.symbol, pr.sector,
        (r.recent_price / ya.old_price - 1) * 100 AS return_12m
    FROM recent r
    JOIN year_ago ya ON r.symbol = ya.symbol
    JOIN profile pr ON r.symbol = pr.symbol
    WHERE ya.old_price > 0 AND r.recent_price > 0
      AND (r.recent_price / ya.old_price - 1) BETWEEN -0.99 AND 5.0
)
SELECT pr.sector,
    ROUND(AVG(sr.return_12m), 2) AS avg_return_12m_pct,
    COUNT(DISTINCT sr.symbol) AS n_stocks,
    ROW_NUMBER() OVER (ORDER BY AVG(sr.return_12m) ASC) AS rank_worst
FROM stock_returns sr
JOIN profile pr ON sr.symbol = pr.symbol
GROUP BY pr.sector
HAVING COUNT(DISTINCT sr.symbol) >= 5
ORDER BY avg_return_12m_pct ASC

What We Found

The strategy produced volatile, dramatic years that compounded into a positive edge over the local Hang Seng Index. The down capture of 70.4% is a genuine positive: the strategy absorbs substantially less downside than the Hang Seng in bad years. Paired with 107.5% up capture, the asymmetry generates the +4.75% annual excess.

Growth of HKD 10,000 invested in Sector Mean Reversion (HKSE) vs Hang Seng from 2000 to 2025
Growth of HKD 10,000 invested in Sector Mean Reversion (HKSE) vs Hang Seng from 2000 to 2025

26 years. +4.75% annual excess vs the Hang Seng.

Metric Portfolio Hang Seng
CAGR 6.36% 1.61%
Excess CAGR +4.75%
Total Return 396.89%
Volatility 27.82%
Max Drawdown -51.13%
Sharpe Ratio 0.125
Sortino Ratio 0.212
Calmar Ratio 0.124
Win Rate vs Hang Seng 53.85%
Up Capture 107.5%
Down Capture 70.4%
Avg Stocks per Period 72.3
Cash Periods 7 of 104

The up capture of 107.5% and down capture of 70.4% explain the positive long-run edge. The strategy captures slightly more than the Hang Seng in up markets and substantially less in down markets. The Hang Seng's own 1.61% CAGR baseline is so low that even a modestly asymmetric strategy accumulates a large gap over 26 years.

The win rate of 53.85% means the strategy beats the Hang Seng in slightly more than half of all years. Seven cash periods versus 3 for the US reflects the thinner sector universe in Hong Kong.


Year-by-Year Returns

Sector Mean Reversion vs Hang Seng annual returns for HKSE from 2000 to 2025
Sector Mean Reversion vs Hang Seng annual returns for HKSE from 2000 to 2025

Year Portfolio Hang Seng Excess
2000 0.00% (cash) -10.50% +10.50%
2001 -1.16% -9.17% +8.01%
2002 -5.62% -19.92% +14.30%
2003 +73.88% +24.12% +49.76%
2004 -8.49% +10.24% -18.73%
2005 +4.74% +7.17% -2.43%
2006 +25.36% +13.65% +11.71%
2007 +42.59% +4.40% +38.19%
2008 -53.09% -34.31% -18.78%
2009 +105.53% +24.73% +80.80%
2010 +11.98% +14.31% -2.33%
2011 -20.66% +2.46% -23.12%
2012 +19.94% +17.09% +2.85%
2013 +0.90% +27.77% -26.87%
2014 +0.45% +14.50% -14.05%
2015 -8.92% -0.12% -8.80%
2016 +16.45% +14.45% +2.00%
2017 +16.38% +21.64% -5.26%
2018 -19.61% -5.15% -14.46%
2019 +24.16% +32.31% -8.15%
2020 +5.11% +15.64% -10.53%
2021 +2.07% +31.26% -29.19%
2022 +5.11% -18.99% +24.10%
2023 -15.66% +26.00% -41.66%
2024 +6.90% +25.28% -18.38%
2025 +42.35% +17.88% +24.47%

Notable Periods

2003: SARS recovery, +73.88%

SARS crushed Hong Kong in early 2003. Retail, travel, and hospitality-linked sectors were decimated. By mid-2003, the epidemic was contained and the China-driven economic boom resumed. Beaten-down sectors that the strategy had loaded up on (Communication Services and Technology among them) recovered hard. The +49.76% excess over the Hang Seng was the single best year for HK's strategy until 2009.

2007: Pre-GFC China boom, +42.59%

The run-up to the Global Financial Crisis was a period of exceptional performance for Chinese and HK-listed companies. Mainland Chinese companies were listing in Hong Kong, and capital was flowing into the China growth story. The strategy's selected sectors caught the tail end of that boom: +42.59% vs Hang Seng's +4.40%, a 38-point gap. In retrospect, the concentration of risk was building. 2008 would collect it.

2008-2009: The crash and the recovery

2008 was -53.09%, against the Hang Seng's -34.31%, an 18.78-point gap in the wrong direction. HK's heavy exposure to mainland Chinese financial and real estate companies amplified the GFC shock. Property stocks and banks that had surged in 2007 collapsed.

2009 then produced +105.53%, the second-highest single-year return in the entire 14-exchange study. Only China's 2007 result exceeded it. This is sector mean reversion working exactly as designed: the sectors most destroyed in 2008 recovered most violently in 2009. Communication Services, Technology, and Real Estate all contributed. The +80.80% excess over the Hang Seng in 2009 is remarkable in isolation.

The problem is sequencing. Losing 53% then gaining 106% gets you back to roughly where you started. The compounding math is unforgiving. The strategy needed the 2009 recovery just to recover 2008 losses, not to build on them.

2013-2014: Two years near zero

2013: +0.90%. 2014: +0.45%. Combined excess vs the Hang Seng: -40.92% over two years. HK's strategy was effectively in suspended animation while the Hang Seng rallied. The sectors selected (Real Estate and Communication Services) were facing structural headwinds: HK's real estate market was cooling under government cooling measures, and telecom competition was eroding margins. The sentiment signal didn't find tradeable undervaluation. It found genuine fundamental weakness.

2021-2023: Three years of persistent underperformance

This is the period that defines the modern HK experience. The Chinese regulatory crackdown on tech, education, and fintech companies (2021) hit HK-listed stocks directly. Evergrande's collapse and the subsequent Chinese real estate contagion (2021-2023) demolished Real Estate and related sectors. These weren't sentiment cycles. They were structural and regulatory shifts.

2021: +2.07% vs Hang Seng +31.26% (-29.19% excess) 2022: +5.11% vs Hang Seng -18.99% (+24.10% excess, one of the good years: the Hang Seng fell hard and the strategy held up) 2023: -15.66% vs Hang Seng +26.00% (-41.66% excess)

The -41.66% excess in 2023 is the largest single-year underperformance gap in the HK backtest. The sectors the strategy was buying (Real Estate, Communication Services) didn't recover. They kept falling as the China real estate crisis worsened and regulatory uncertainty persisted.

2025: Sharp reversal, +42.35%

2025 delivered +42.35% vs the Hang Seng's +17.88%, a +24.47% excess. Sectors beaten down through 2023-2024 finally reverted. Whether this marks a regime change or a temporary bounce remains to be seen.


Backtest Methodology

Parameter Value
Signal 12-month trailing equal-weighted sector return
Selection Bottom 2 sectors each quarter
Universe HKSE, market cap > HKD $3B
Portfolio Equal weight all qualifying stocks in selected sectors
Rebalancing Quarterly (Jan, Apr, Jul, Oct)
Cash rule Hold cash if < 5 qualifying stocks
Transaction costs Size-tiered model
Data lag 45 days (prevents look-ahead bias)
Period 2000-2025 (104 quarterly periods)
Benchmark Hang Seng Index (^HSI)

Limitations

Mainland China exposure creates non-cyclical risk. The biggest issue for sector mean reversion in Hong Kong is that a large portion of the HKSE universe is mainland Chinese companies (H-shares, Red Chips). Their underperformance often reflects regulatory decisions, political risk, and policy shifts, not the sentiment-driven cycles that this strategy is designed to exploit. The 2021-2023 period is the clearest example: Real Estate underperformance was driven by Evergrande and PRC policy, not temporary investor pessimism.

-51.13% max drawdown. HK's combination of GFC sensitivity (2008) and China regulatory risk (2021-2023) produced a deep drawdown profile. That's worse than the Hang Seng's own drawdown in some periods.

Low Sharpe of 0.125. The strategy generates positive alpha vs the local index but with 27.82% annualized volatility. That's a poor risk-adjusted outcome in absolute terms, even if the relative performance is positive.

The Hang Seng baseline is very low. The 1.61% CAGR for the Hang Seng over 26 years as a price index means beating it by +4.75% is a lower bar than it sounds. A global investor comparing Hong Kong strategy performance against SPY (8.02%) would see a -1.66% annual lag, not an advantage.

Currency. Returns are in HKD. The HKD is pegged to the USD within a narrow band (7.75-7.85), so currency risk is minimal for USD-based investors.

Thin universe relative to US. At 72.3 stocks per quarter, the portfolio is diversified but concentrated enough that a few bad sectors can have a large impact. The 7 cash periods (vs 3 for the US) show that the smaller universe occasionally hits the 5-stock minimum rule.

Survivorship bias. Exchange membership uses current profiles, not historical. Companies that were delisted, acquired, or privatized aren't tracked.


Takeaway

Sector mean reversion on HKSE beats its local benchmark. The +4.75% annual excess over the Hang Seng reflects a real edge: 107.5% up capture and 70.4% down capture generate compounding asymmetry over 26 years. The Hang Seng's own dismal 1.61% CAGR baseline makes this comparison easier to win than most.

The honest global picture is different. At 6.36% CAGR, the HK strategy lags SPY (8.02%) by -1.66% annually. A global investor with an alternative of holding US equities has not benefited from HK sector rotation over this period.

The headline numbers are dramatic: 2009 was +105.53%, 2003 was +73.88%, 2025 was +42.35%. Those standout years are matched by crashes (-53.09% in 2008) and multi-year stagnation (2013-2014, 2021-2023). The strategy generates extreme variance. The variance averages out to positive vs the local index, but not vs the world.


Part of a Series

This analysis is part of our Sector Mean Reversion global exchange comparison. We tested the same strategy across multiple exchanges: - Sector Mean Reversion on US Stocks (NYSE + NASDAQ + AMEX): 10.59% CAGR, +2.57% vs SPY - Sector Mean Reversion on Indian Stocks (BSE + NSE): 16.42% CAGR, +8.40% vs SPY - Sector Mean Reversion on Korean Stocks (KSC): 14.65% CAGR, best risk-adjusted of 14 exchanges - Sector Mean Reversion on Taiwanese Stocks (TAI + TWO): 14.61% CAGR - Sector Mean Reversion on Swedish Stocks (STO) - Sector Mean Reversion: Global Exchange Comparison


References

Moskowitz, T. J., & Grinblatt, M. (1999). Do industries explain momentum? Journal of Finance, 54(4), 1249-1290.


Run This Screen Yourself

Via web UI: Run the sector screen on Ceta Research Data Explorer. Paste the SQL above, set exchange to HKSE, and hit Run to see current sector rankings.

Via Python:

import requests, time

API_KEY = "your_api_key"  # get one at cetaresearch.com
BASE = "https://tradingstudio.finance/api/v1"

query = """
WITH prices AS (
    SELECT e.symbol, e.adjClose, CAST(e.date AS DATE) AS trade_date
    FROM stock_eod e
    JOIN profile p ON e.symbol = p.symbol
    WHERE p.sector IS NOT NULL AND p.sector != ''
      AND p.marketCap > 3000000000
      AND p.exchange IN ('HKSE')
      AND CAST(e.date AS DATE) >= CURRENT_DATE - INTERVAL '400' DAY
      AND e.adjClose IS NOT NULL AND e.adjClose > 0
),
recent AS (
    SELECT symbol, adjClose AS recent_price
    FROM prices
    QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
year_ago AS (
    SELECT symbol, adjClose AS old_price
    FROM prices
    WHERE trade_date <= CURRENT_DATE - INTERVAL '252' DAY
    QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
stock_returns AS (
    SELECT r.symbol, pr.sector,
        (r.recent_price / ya.old_price - 1) * 100 AS return_12m
    FROM recent r
    JOIN year_ago ya ON r.symbol = ya.symbol
    JOIN profile pr ON r.symbol = pr.symbol
    WHERE ya.old_price > 0 AND r.recent_price > 0
      AND (r.recent_price / ya.old_price - 1) BETWEEN -0.99 AND 5.0
)
SELECT pr.sector,
    ROUND(AVG(sr.return_12m), 2) AS avg_return_12m_pct,
    COUNT(DISTINCT sr.symbol) AS n_stocks,
    ROW_NUMBER() OVER (ORDER BY AVG(sr.return_12m) ASC) AS rank_worst
FROM stock_returns sr
JOIN profile pr ON sr.symbol = pr.symbol
GROUP BY pr.sector
HAVING COUNT(DISTINCT sr.symbol) >= 5
ORDER BY avg_return_12m_pct ASC
"""

resp = requests.post(f"{BASE}/data-explorer/execute", headers={
    "X-API-Key": API_KEY, "Content-Type": "application/json"
}, json={
    "query": query,
    "options": {"format": "json", "limit": 100},
    "resources": {"memoryMb": 16384, "threads": 6}
})
task_id = resp.json()["taskId"]

while True:
    result = requests.get(f"{BASE}/tasks/data-query/{task_id}",
                          headers={"X-API-Key": API_KEY}).json()
    if result["status"] in ("completed", "failed"):
        break
    time.sleep(2)

print("Sector rankings (worst to best, 12-month return):")
for r in result["result"]["rows"]:
    flag = " <-- BUY" if r["rank_worst"] <= 2 else ""
    print(f"#{r['rank_worst']} {r['sector']:30s} {r['avg_return_12m_pct']:+.1f}%  ({r['n_stocks']} stocks){flag}")

Get your API key at cetaresearch.com. The full backtest code (Python + DuckDB) is on GitHub.


Data: Ceta Research, FMP financial data warehouse. Universe: HKSE, market cap > HKD $3B. Quarterly rebalance, equal weight, 2000-2025. Returns in HKD. Benchmark: Hang Seng Index (^HSI). Past performance does not guarantee future results.