Sector Mean Reversion on Thailand (SET): 8.82% CAGR, +0.80% vs S&P 500
Thailand's sector rotation strategy returned 8.82% annually from 2000 to 2025, in THB, against the S&P 500's 8.02%. The +0.80% annual excess is slim but real. More interesting is the 57.05% down capture: in years when the global market falls, this strategy absorbs just 57% of SPY's downside, on average. The trade-off is a small universe (27 average stocks), 9 cash periods out of 104, and three consecutive years of significant underperformance from 2023 to 2025.
Contents
- Method
- What Is Sector Mean Reversion?
- Run This Screen Yourself
- What We Found
- Most Selected Sectors (95 invested quarters)
- Notable Years
- Full Annual Returns
- Backtest Methodology
- Limitations
- Takeaway
- Part of a Series
- References
Method
- Data source: Ceta Research (FMP financial data warehouse)
- Universe: SET (Stock Exchange of Thailand), market cap > THB 5B (~USD $140M)
- 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: S&P 500 Total Return (SPY)
- Cash rule: Hold cash if fewer than 5 stocks qualify
- Currency note: Returns are in THB (local currency). Benchmark is SPY in USD.
Historical financial data with 45-day lag to prevent look-ahead bias. Full methodology: backtests/METHODOLOGY.md
What Is Sector Mean Reversion?
The strategy buys the two most out-of-favor sectors by trailing 12-month return at the start of each quarter. The thesis is that sector underperformance is partly cyclical, sectors that have fallen hardest often recover as sentiment normalizes, credit conditions ease, or earnings troughs pass.
Thailand adds a specific context to this. SET is an export-driven, commodity-influenced market. Energy, Materials, and Industrials cycle through extended droughts tied to global commodity prices, regional trade flows, and domestic political cycles. When those sectors fall out of favor, the oversell can be deep, and the recovery, when it comes, can be fast. The 2002-2003 and 2009-2010 runs in this data reflect exactly that pattern.
Run This Screen Yourself
The current sector rankings and stock screen are live on Ceta Research Data Explorer. Run the two queries below in sequence.
Step 1: Rank sectors by 12-month trailing return (SET universe)
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 > 5000000000
AND p.exchange IN ('SET')
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, trade_date AS recent_date
FROM prices
QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
year_ago AS (
SELECT symbol, adjClose AS old_price, trade_date AS old_date
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
AND r.recent_price >= 0.50
)
SELECT
sector,
ROUND(AVG(return_12m), 2) AS avg_return_12m_pct,
COUNT(DISTINCT symbol) AS n_stocks,
ROW_NUMBER() OVER (ORDER BY AVG(return_12m) ASC) AS rank_worst_to_best
FROM stock_returns
GROUP BY sector
HAVING COUNT(DISTINCT symbol) >= 3
ORDER BY avg_return_12m_pct ASC;
Note the two sectors with the lowest avg_return_12m_pct. Use those names in Step 2.
Step 2: Stocks to buy (replace sector names with Step 1 output)
-- Replace 'Energy' and 'Basic Materials' with your Step 1 results
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 > 5000000000
AND p.exchange IN ('SET')
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, trade_date AS recent_date
FROM prices
QUALIFY ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY trade_date DESC) = 1
),
year_ago AS (
SELECT symbol, adjClose AS old_price, trade_date AS old_date
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, pr.companyName, pr.exchange, pr.marketCap,
r.recent_price,
(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
AND r.recent_price >= 0.50
)
SELECT
symbol, companyName, sector,
ROUND(return_12m, 2) AS return_12m_pct,
ROUND(recent_price, 2) AS current_price,
ROUND(marketCap / 1e9, 2) AS market_cap_billions_thb
FROM stock_returns
WHERE sector IN ('Energy', 'Basic Materials')
ORDER BY sector ASC, return_12m_pct ASC;
What We Found
Thailand produces a slim positive excess return over 26 years. The headline numbers are modest by emerging market standards, but the down capture of 57.05% is genuinely attractive, better than most exchanges in the study.

| Metric | Portfolio | S&P 500 |
|---|---|---|
| CAGR | 8.82% | 8.02% |
| Excess CAGR | +0.80% | — |
| Max Drawdown | -58.44% | -45.53% |
| Annualized Volatility | 27.26% | — |
| Sharpe Ratio | 0.232 | 0.357 |
| Sortino Ratio | 0.419 | — |
| Calmar Ratio | 0.151 | — |
| Up Capture | 93.15% | — |
| Down Capture | 57.05% | — |
| Win Rate vs SPY | 45.19% | — |
| Avg Stocks per Period | 27.4 | — |
| Cash Periods | 9 of 104 | — |
The 57.05% down capture is the most useful number in this table. It means the strategy, on average, fell about half as much as SPY in negative market years. That's not a defensive design feature, there's no explicit hedge, but it reflects that Thai beaten-down sectors sometimes happen to be domestic and commodity-driven, not correlated with US equity drawdowns.
The Sharpe of 0.232 is below SPY's 0.357. With 27.26% annualized volatility and only +0.80% excess return, the risk-adjusted case is weak. The 45.19% win rate means the strategy beats SPY in fewer than half of individual calendar years. The alpha comes from the magnitude of wins in good years (2002, 2003, 2009, 2010, 2022), not their frequency.

Most Selected Sectors (95 invested quarters)
| Sector | Quarters Selected |
|---|---|
| Energy | 27 (28%) |
| Communication Services | 24 (25%) |
| Technology | 23 (24%) |
| Basic Materials | 23 (24%) |
| Industrials | 19 (20%) |
| Utilities | 18 (19%) |
Energy was selected in more than a quarter of all invested quarters. Thailand's oil and gas sector. PTT and its affiliates, cycles through extended periods of underperformance tied to global crude prices, refinery margins, and government pricing policy. Communication Services reflects Thailand's telecom oligopoly (ADVANC, TRUE), which has faced structural pressure from data pricing and consolidation. Technology and Basic Materials round out the picture with petrochemical and electronics companies sensitive to export demand.
Notable Years
2002-2003: +43.09% and +88.19%. The best consecutive run in the backtest. Thailand was recovering from the 1997 Asian financial crisis hangover, and beaten-down sectors snapped back hard as commodity prices recovered and regional trade flows normalized. The 2003 excess of +64.07% over SPY is the largest single-year margin in the study. Energy and Materials, which had been cheap for years, led the reversal.
2008-2009: -53.07% then +81.78%. The pattern that defines high-beta emerging markets. The strategy lost 53.07% in 2008, worse than SPY's -34.31%, then gained 81.78% in 2009, the strongest recovery year in the data. This is the down-capture figure in action: the 2008 loss was worse than SPY, but the 2009 rebound far exceeded it. If you stayed in through the 2008 loss, the 2009 gain was violent and fast.
2013: -10.18%, excess -37.95%. Thailand's worst excess return year. The country experienced prolonged political unrest through 2013, protests, government dissolution, and ultimately the 2014 coup. During domestic political crises, foreign investors pulled capital broadly, dragging down sectors regardless of their fundamental cycle. The beaten-down sectors the strategy owned kept falling. SPY returned +27.77%. The -37.95% excess gap is the widest underperformance margin in the 26-year period.
2022: +11.24%, excess +30.23%. The strategy's strongest recent year. When global tech sold off in 2022 and SPY fell -18.99%, Thailand's Energy and Materials sectors held up and gained. Commodity prices were elevated, Thai exports were recovering, and the sectors the strategy owned were largely domestic and commodity-driven rather than rate-sensitive. This is when the low down capture shows up in reverse: the strategy's sector mix just didn't share the same drivers as the US market in 2022.
2023-2025: -2.75%, -5.16%, -15.02% (excess: -28.75%, -30.44%, -32.90%). Three consecutive years of significant underperformance. Thailand's economy has faced real structural headwinds: weak tourism recovery post-COVID, sluggish manufacturing, political instability, and currency pressure. The strategy kept rotating into beaten-down Energy, Communication Services, and Technology sectors that continued to fall. SPY compounded at double-digit returns over the same period. Three years of -28% to -32% annual excess loss is a significant sequence and the primary reason the long-term excess return is only +0.80%.
Full Annual Returns
| Year | Portfolio | S&P 500 | Excess |
|---|---|---|---|
| 2000 | 0.00% (cash) | -10.50% | +10.50% |
| 2001 | +8.74% | -9.17% | +17.91% |
| 2002 | +43.09% | -19.92% | +63.01% |
| 2003 | +88.19% | +24.12% | +64.07% |
| 2004 | -8.77% | +10.24% | -19.01% |
| 2005 | +16.97% | +7.17% | +9.80% |
| 2006 | -10.46% | +13.65% | -24.11% |
| 2007 | +34.69% | +4.40% | +30.29% |
| 2008 | -53.07% | -34.31% | -18.76% |
| 2009 | +81.78% | +24.73% | +57.05% |
| 2010 | +39.23% | +14.31% | +24.92% |
| 2011 | +9.14% | +2.46% | +6.68% |
| 2012 | +20.37% | +17.09% | +3.28% |
| 2013 | -10.18% | +27.77% | -37.95% |
| 2014 | +20.70% | +14.50% | +6.20% |
| 2015 | +7.77% | -0.12% | +7.89% |
| 2016 | +18.47% | +14.45% | +4.02% |
| 2017 | +25.15% | +21.64% | +3.51% |
| 2018 | -28.46% | -5.15% | -23.31% |
| 2019 | +5.02% | +32.31% | -27.29% |
| 2020 | +16.92% | +15.64% | +1.28% |
| 2021 | +15.40% | +31.26% | -15.86% |
| 2022 | +11.24% | -18.99% | +30.23% |
| 2023 | -2.75% | +26.00% | -28.75% |
| 2024 | -5.16% | +25.28% | -30.44% |
| 2025 | -15.02% | +17.88% | -32.90% |
The 45.19% win rate is visible here: the strategy beats SPY in fewer than half of individual years. The excess return comes from years like 2002 (+63.01%), 2003 (+64.07%), 2009 (+57.05%), and 2022 (+30.23%), large, concentrated wins. The strategy loses to SPY in most other years by smaller amounts. The math holds over 26 years, but it requires tolerance for long stretches of relative underperformance.
Backtest Methodology
| Parameter | Value |
|---|---|
| Signal | 12-month trailing equal-weighted sector return |
| Selection | Bottom 2 sectors each quarter |
| Universe | SET (Stock Exchange of Thailand), market cap > THB 5B |
| 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 | S&P 500 Total Return (SPY) |
Limitations
Currency mismatch. All returns are in THB. The S&P 500 benchmark is in USD. THB has been reasonably stable against USD over the 26-year period, but the comparison isn't clean. For a USD-based investor, currency conversion would meaningfully alter the realized excess return in any given year and likely reduce the 26-year excess.
Small universe. With only 27 average stocks per period and 9 cash periods out of 104, this strategy is more concentrated than most exchanges in the study. Individual company outcomes matter more when you're holding 15-25 stocks. The 9 cash periods (versus 3 for the US) reflect times when the qualifying universe simply didn't reach the minimum stock count, typically in early years or during market dislocations.
Sector concentration. Energy and Communication Services together account for 51 of 95 invested quarters. This is effectively a two-sector bet cycling between PTT group stocks, Thai telecoms, and petrochemical companies. That's a narrow structural bet, not broad sector diversification.
Recent deterioration. The 2023-2025 run of -28.75%, -30.44%, -32.90% annual excess is the worst three-year stretch in the study. Thailand's post-COVID economic recovery has been slower than expected, and the sectors the strategy rotated into didn't revert. Three years of persistent underperformance can and does happen with mean reversion strategies, but it should be weighed against the slim +0.80% long-run excess.
Liquidity. SET large caps (above THB 5B) are reasonably liquid for institutional-scale positions, but bid-ask spreads and market depth are thinner than developed markets. Transaction costs in practice will be higher than the model's size-tiered estimates, especially at rebalance dates.
Takeaway
Thailand's sector mean reversion produced +0.80% annual excess over 26 years with a notably low down capture of 57.05%. The strategy absorbed just over half of SPY's downside in falling markets, on average. That's the genuine positive in this data.
The negatives are real too. The Sharpe of 0.232 is below SPY. The win rate of 45.19% means you're trailing the index in most individual years. The small universe of 27 average stocks creates concentration risk. And the 2023-2025 underperformance streak shows that the recent Thai market hasn't rewarded the beaten-down sector playbook.
The strategy's best decades were 2001-2010, when Thailand's commodity and export cycle drove large sector swings that reverted reliably. Whether that cycle resumes depends heavily on Thailand's economic trajectory, tourism recovery, manufacturing competitiveness, and regional trade dynamics, not on the signal's mechanics.
USD-based investors should discount both the returns and the comparison for currency.
Part of a Series
We tested this strategy across 14 exchanges. Other analyses in the series:
- US (NYSE + NASDAQ + AMEX) →. The benchmark: 9.04% CAGR, consistent across 104 quarters
- India (BSE + NSE) →. Highest raw return: 16.42% CAGR, +8.40% excess
- Korea (KSC) →. Best risk-adjusted: 0.466 Sharpe, 36.7% down capture
- Taiwan (TAI + TWO) →. Tech-driven: 10.22% CAGR, 45.8% down capture
- Sweden (STO) →. Highest win rate in the study: 57.7% of years beat SPY
- Global comparison →. All 14 exchanges ranked by Sharpe, CAGR, and down capture
References
Moskowitz, T. J., & Grinblatt, M. (1999). Do industries explain momentum? Journal of Finance, 54(4), 1249-1290.
Data: Ceta Research, FMP financial data warehouse. Universe: SET (Stock Exchange of Thailand). Market cap > THB 5B (~USD $140M). Quarterly rebalance, equal weight, 2000-2025. Returns in THB. Benchmark: SPY (USD). Full methodology: METHODOLOGY.md. Past performance doesn't guarantee future results.