The takeaway
GDS Holdings Ltd shows a pronounced seasonal pattern over 10 years of data — strongest in June (+16.5%) and softest in May (−5.1%).
Right now
In July, the stock has fallen 67% of years, averaging −1.5%, roughly 3.7 pts behind the S&P 500.
The full picture
GDS Holdings Ltd's most dependable month has been June, higher in 9 of 9 years; May has been its least reliable, up just 22% of the time.
| Year | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Win rate % | ||||||||||||
| Median return % | ||||||||||||
| 2025 | ||||||||||||
| 2024 | ||||||||||||
| 2023 | ||||||||||||
| 2022 | ||||||||||||
| 2021 | ||||||||||||
| 2020 | ||||||||||||
| 2019 | ||||||||||||
| 2018 | ||||||||||||
| 2017 | ||||||||||||
| 2016 | — | — | — | — | — | — | — | — | — | — |
Month by month
The stock's clearest edge over the S&P 500 lands in June (+16.3 pts); it has trailed the market most in October (−6.1 pts).
“vs S&P” is GDS Holdings Ltd’s average for a month minus the S&P 500’s average for that same month — isolating GDS Holdings Ltd’s own seasonal edge from broad market drift.
Reality check
Over the last 5 years, June has closed higher 100% of the time versus 100% across the last 10 years — the pattern is weakening.
Figures are the typical (median) June return and how often it rose — the last 5 years versus the last 10(the heatmap’s default window). This verdict stays anchored to that 10-year window even if you zoom the chart, so it never disagrees with the badges above.
In plain English
The seasonal story is really one month's story — June. It has closed higher in all 9 Junes, a concentration the rest of the calendar can't touch.
The strength looks broad-based rather than freakish: its average (+16.5%) and median (+19.9%) sit close together, so no single blow-out year is flattering the figure. No month is steadier: June's returns vary by just 9.5% year to year, and even its worst June in 10 years lost only 1.8% — the gentlest downside anywhere on its calendar. Better still, that strength is the stock's own and not just a buoyant market — June has outpaced the S&P 500 by +16.3 points on average. Few peers keep such company in June — the typical stock clears it just 52% of the time.
It doesn't stand entirely alone — July, November, and December have leaned firm as well, if less emphatically. The weaker half of the year is plainer: May has been the soft spot — the weakest of 5 months that average a loss (−5.1%), and the edge isn't year-round — the stock has trailed the S&P 500 in October, March, and May. Its roughest month on record was a −50.4% October in 2022 — a reminder of how hard even a seasonal name can fall.
June has now closed higher 9 years running. The pattern has softened of late, June's last five years slipping below its longer-run record.
For a stock this dependable in June, the sharper question is the rest of the year — outside its strong stretch, the calendar gives far less to lean on. With returns that swing hard year to year, the signal is best held loosely.
Short answers on the stock's best month (June), its worst (May), and whether it really trades seasonally.
Yes, to a pronounced degree. Since 2016 its best month (June, +16.5%) has run well ahead of its worst (May, −5.1%) — the heatmap above shows how steady that gap has been year to year.
June has been the strongest, averaging +16.5% and closing higher in all 9 years on record since 2016.
It's the weakest, averaging −5.1% — historically a soft spot, though it still varies from year to year.
Explore
These names have the strongest July track records on record — a starting point for comparison.
Before you trade