Analyst Upgrade Clusters Across 14 Markets: No Immediate Alpha, Delayed Signal at T+21

We tested analyst upgrade clusters across 9 exchanges. T+1 abnormal returns are statistically significant in 7 of 9. But 80-97% of non-US events come from one year (2022), limiting what we can conclude. The US, UK, and India signals are most credible. Japan shows the strongest T+1 reaction...

Horizontal bar chart showing T+21 cumulative abnormal returns across 14 exchanges for analyst upgrade cluster events, sorted by magnitude.

Upgrade clusters — events where 2+ analysts move bullish simultaneously — do not produce immediate abnormal returns. We tested 14 exchanges from 2019-2025 using next-day Market-on-Close execution and found that most T+1 results are either negative or statistically insignificant. Alpha emerges at T+21 (3 weeks) in select markets, primarily the US, UK, Canada, and Taiwan. The immediate-pop narrative was same-bar entry bias.

Contents

  1. The Setup
  2. The Global Results
  3. The Data Artifact That Shapes Everything
  4. Where Delayed Alpha Exists
  5. United States
  6. UK (LSE)
  7. Canada (TSX)
  8. Taiwan (TAI)
  9. The Interesting Cases
  10. China: Strongest T+21, But Data Quality Issues
  11. Japan: Zero Alpha at All Windows
  12. Sweden and Thailand: Borderline Signals
  13. Where the Signal Doesn't Hold
  14. What This Means for Multi-Market Trading
  15. Running the Live Screen
  16. Notes on Methodology

The Setup

An upgrade cluster fires when the aggregate bullish count (StrongBuy + Buy) in the grades_historical table increases by 2 or more between consecutive observations for the same symbol. We require observations to be 14–30 days apart, which filters spurious clusters from periods when the data provider recorded daily snapshots instead of monthly ones.

Exchanges tested: US (NYSE/NASDAQ/AMEX), India (NSE), Japan (JPX), UK (LSE), Germany (XETRA), Hong Kong (HKSE), Korea (KSC), China (SHH+SHZ), Canada (TSX), Australia (ASX), Sweden (STO), Taiwan (TAI), Thailand (SET), South Africa (JNB). 14 exchanges total.

Benchmarks: Local market indices. S&P 500 (US), Sensex (India), Nikkei 225 (Japan), FTSE 100 (UK), DAX (Germany), Hang Seng (Hong Kong), KOSPI (Korea), SSE Composite (China), TSX Composite (Canada), ASX 200 (Australia), OMX Stockholm 30 (Sweden), TAIEX (Taiwan), SET Index (Thailand). JNB uses S&P 500 due to data limitations.

Execution: Next-day Market-on-Close (MOC). Event observed on date D → execute at close of D+1. This eliminates same-bar entry bias.

Market cap floors: Exchange-specific in local currency, targeting roughly $200M–$1B equivalent depending on market depth.

Windows: T+1, T+5, T+21, T+63 trading days.

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


The Global Results

Exchange Benchmark Events T+1 CAR t(1) T+21 CAR t(21)
China (SHH+SHZ) SSE Composite 2,180 -0.223%** -3.82 +2.943%** 12.11
Taiwan (TAI) TAIEX 322 +0.162% 1.54 +1.354%** 2.75
UK (LSE) FTSE 100 532 +0.228%* 2.29 +1.368%** 3.58
Canada (TSX) TSX Composite 518 -0.460%** -3.29 +1.295%** 3.22
Sweden (STO) OMX Stockholm 30 128 +0.314% 1.75 +1.251% 1.62
US (NYSE/NASDAQ/AMEX) S&P 500 5,657 -0.312%** -8.78 +0.764%** 4.42
Thailand (SET) SET Index 43 +0.310% 0.90 +0.739% 0.59
India (NSE) Sensex 607 +0.005% 0.07 +0.577% 1.62
Australia (ASX) ASX 200 398 -0.316%** -3.15 -0.003% -0.01
Hong Kong (HKSE) Hang Seng 876 -0.139% -1.93 -0.161% -0.45
Germany (XETRA) DAX 160 +0.265% 1.21 -0.358% -0.44
Korea (KSC) KOSPI 419 +0.041% 0.41 -1.331%* -2.03
Japan (JPX) Nikkei 225 911 +0.018% 0.32 -1.646%** -6.65
South Africa (JNB) S&P 500 36 -0.393% -0.67 -2.681%* -2.44

** = p<0.01, * = p<0.05

Key changes from previous results: Local index benchmarks replace regional ETFs. Next-day MOC execution eliminates same-bar entry bias. India now uses NSE only (was BSE+NSE). China uses SHH+SHZ symbols (was old China symbols). Seven new exchanges added (ASX, STO, TAI, SET, JNB, plus updated China and India).


The Data Artifact That Shapes Everything

Before interpreting these numbers, the most important fact: FMP recorded analyst rating data at daily or near-daily frequency for many symbols during 2022, versus monthly in other years. This creates a 10–100x spike in detected upgrade clusters that year.

Our 14-day minimum gap filter eliminates most of these. But the filter can't undo the fundamental problem: if a symbol's ratings were only observed monthly in 2019–2021 but daily in 2022, the cluster detection window is structurally different across years. Any market where most events come from 2022 is effectively giving you a one-year snapshot, not a multi-year study.

The 2022 concentration is severe in most non-US exchanges — 80–97% of events. For these markets, the results represent how analyst upgrade clusters behaved in one specific year with one specific market regime, not a structural property of the signal.

US (56% from 2022) is the only exchange with meaningful multi-year distribution. 2019: 57 events. 2020: 1,309. 2021: 488. Even with 2022 concentration, there's enough history before and after to validate the pattern. The other exchanges don't have this.


Where Delayed Alpha Exists

United States

N=5,657, T+1=-0.312%, T+21=+0.764%. No immediate alpha — T+1 is significantly negative. Alpha emerges at T+21 with a t-stat of 4.42. Seven years of data across multiple market regimes. The medium cluster result (+1.251% T+21, t=4.22**) is the most robust signal in the dataset. See the US-specific analysis for full breakdown by cluster size.

UK (LSE)

N=532, T+1=+0.228%, T+21=+1.368%*. The strongest T+21 persistence after China. T+21 t-stat of 3.58 with 532 events is statistically robust. UK markets appear to price analyst consensus shifts gradually rather than immediately. Lower HFT penetration and less algorithmic monitoring of analyst changes compared to US markets may explain the delayed response.

Canada (TSX)

N=518, T+1=-0.460%, T+21=+1.295%. Negative T+1 drift followed by significant positive T+21 alpha (t=3.22**). This is the clearest example of delayed price discovery. Canadian markets have lower liquidity than US exchanges, which may slow the incorporation of consensus shift information into prices.

Taiwan (TAI)

N=322, T+1=+0.162%, T+21=+1.354%. No significant T+1 reaction, but T+21 alpha is statistically robust (t=2.75). Taiwan's analyst ecosystem is less algorithmic than Japan or Hong Kong, creating opportunity for delayed alpha as institutions gradually position.


The Interesting Cases

China: Strongest T+21, But Data Quality Issues

China shows +2.943% T+21 CAR (t=12.11**) — the highest in the dataset. But 97% of the 2,180 events come from 2022. Chinese A-shares had significant policy-driven sector rotations in 2022 (tech crackdowns, real estate interventions, zero-COVID impacts). The T+21 return likely captures 2022 market conditions more than the analyst signal itself.

T+1 is significantly negative (-0.223%, t=-3.82**), consistent with the delayed alpha pattern seen in other markets. But the extreme T+21 magnitude is unlikely to persist out-of-sample. Treat with caution.

Japan: Zero Alpha at All Windows

Japan shows T+1=+0.018% (not significant) and T+21=-1.646%** (significantly negative). With honest next-day execution, there is no upgrade cluster alpha in Japanese markets at any horizon tested. This is a complete reversal from the old result (+1.813% T+1 with same-bar entry).

The previous "strongest pop" finding was entirely same-bar entry bias. Japanese markets are highly algorithmic — upgrade information gets priced immediately when it becomes available to the market, not when the FMP observation fires. By the time the cluster is detected in the data, the move has already happened and reversed.

Sweden and Thailand: Borderline Signals

Sweden (STO): N=128, T+1=+0.314%, T+21=+1.251% (t=1.62, not quite significant at p<0.05). Small sample, but the T+21 magnitude is material.

Thailand (SET): N=43, T+1=+0.310%, T+21=+0.739% (t=0.59, not significant). Only 43 events — too thin to draw conclusions.


Where the Signal Doesn't Hold

Japan (JPX): T+1=+0.018%, T+21=-1.646%**. Significantly negative T+21 alpha. No tradeable signal at any window. See above for discussion of why the old "+1.813% T+1" result was same-bar entry bias.

Korea (KSC): T+1=+0.041%, T+21=-1.331%*. Significantly negative T+21. Korean markets price analyst consensus shifts quickly and completely — no delayed alpha opportunity.

India (NSE): T+1=+0.005%, T+21=+0.577%. Neither result is statistically significant. This is a major change from the old BSE+NSE result (+0.236% T+1, +1.605% T+21*). Switching from dual-exchange + INDA ETF benchmark to NSE-only + Sensex eliminated the apparent alpha. The old result was likely benchmark mismatch, not real signal.

Hong Kong (HKSE): T+1=-0.139%, T+21=-0.161%. Both negative, neither significant. Large sample (876 events) with no signal. The old result showed -1.603% T+1** (significantly negative), which has mostly disappeared with next-day execution.

Germany (XETRA): T+1=+0.265%, T+21=-0.358%. Neither significant. Only 160 events. Too thin to conclude either way.

Australia (ASX): T+1=-0.316%**, T+21=-0.003%. Significant negative T+1, zero T+21. No signal.

South Africa (JNB): T+1=-0.393%, T+21=-2.681%*. Only 36 events. Significantly negative T+21, but sample is too small for reliable inference.


What This Means for Multi-Market Trading

With next-day MOC execution, the upgrade cluster signal has credible T+21 alpha in four markets: US (multi-year, robust, +0.764%), UK (+1.368%), Canada (+1.295%), and Taiwan (+1.354%). China shows the strongest T+21 result (+2.943%**), but 97% of events come from 2022 — treat as preliminary.

No market shows significant positive T+1 alpha. The immediate-pop narrative from event studies that use same-day execution does not hold with honest next-day MOC execution. Alpha emerges gradually over 3 weeks as institutions position.

India lost its signal when we switched from BSE+NSE with INDA ETF benchmark to NSE-only with Sensex. The old "+1.605% T+21" result was benchmark mismatch, not real alpha.

Japan lost its signal entirely. The old "+1.813% T+1" result was pure same-bar entry bias. T+21 is now -1.646%** (significantly negative).

The data quality issue (2022 concentration) will resolve over time. As FMP accumulates more years of post-2022 data, the non-US results will become more reliable. For now: the signal is real in US, UK, Canada, and Taiwan. Everything else requires more history.


Running the Live Screen

The screen works across any exchange. Adjust the exchange filter and market cap threshold:

WITH lagged AS (
    SELECT
        symbol,
        CAST(date AS DATE) AS obs_date,
        CAST(analystRatingsStrongBuy AS INTEGER) + CAST(analystRatingsBuy AS INTEGER)
            AS bullish_count,
        CAST(analystRatingsSell AS INTEGER) + CAST(analystRatingsStrongSell AS INTEGER)
            AS bearish_count,
        LAG(CAST(analystRatingsStrongBuy AS INTEGER) + CAST(analystRatingsBuy AS INTEGER))
            OVER (PARTITION BY symbol ORDER BY date) AS prev_bullish,
        LAG(CAST(date AS DATE))
            OVER (PARTITION BY symbol ORDER BY date) AS prev_date
    FROM grades_historical
    WHERE CAST(date AS DATE) >= CURRENT_DATE - INTERVAL '30' DAY
),
clusters AS (
    SELECT symbol, obs_date, bullish_count, bearish_count,
        bullish_count - prev_bullish AS upgrade_delta
    FROM lagged
    WHERE prev_bullish IS NOT NULL
      AND (obs_date - prev_date) BETWEEN 14 AND 30
      AND bullish_count - prev_bullish >= 2
)
SELECT
    c.symbol, c.obs_date, c.upgrade_delta, c.bullish_count, c.bearish_count,
    ROUND(k.marketCap / 1e9, 1) AS mktcap_bn
FROM clusters c
JOIN profile p ON c.symbol = p.symbol
JOIN key_metrics k ON c.symbol = k.symbol AND k.period = 'FY'
WHERE p.exchange IN ('NYSE', 'NASDAQ', 'AMEX')  -- change for other markets
  AND k.marketCap > 1000000000
QUALIFY ROW_NUMBER() OVER (PARTITION BY c.symbol ORDER BY k.date DESC, c.obs_date DESC) = 1
ORDER BY c.upgrade_delta DESC, c.obs_date DESC
LIMIT 30

Notes on Methodology

UINT16 overflow: The analystRatings* columns are stored as unsigned 16-bit integers. Never compute deltas without CAST AS INTEGER first. On UINT16, 3 - 5 = 65,534, not -2.

14-day minimum gap: Non-negotiable. Without it, periods of daily FMP updates (2022) produce thousands of false cluster signals from consecutive-day observation pairs.

Benchmark selection: SPY for US. Regional ETFs for other markets. This matters most for high-growth markets where a local index captures the macro tailwind more accurately than a US benchmark.

Run the US upgrade cluster screen live →


Data: Ceta Research / FMP warehouse. grades_historical + stock_eod + key_metrics tables. Market cap floors applied per exchange. 2019–2025. Past performance does not guarantee future results. Research content, not investment advice.