Stock Clusters
97 of the largest PSE-listed companies fall into 5 behavior groups, clustered by how they actually trade (volatility, beta, momentum and correlation to the market) rather than by industry, using closes through 2026-09-09. The biggest group is "Middle-of-the-market", with 27 stocks.
Sectors tell you what a company does; this groups stocks by how they actually trade. A k-means model clusters the largest PSE names on four standardized features (volatility, beta, 1-year momentum, and correlation to the market), surfacing which stocks move alike regardless of industry. Unsupervised and descriptive, not a recommendation.
Each stock becomes a point in 4-dimensional space (volatility, beta, momentum, correlation). Features are z-scored so none dominates by scale, then k-means partitions them into 5groups by minimizing within-group distance. Each cluster is auto-labeled from its centroid's most extreme traits.
The model is seeded deterministically, so the same closing prices always yield the same clusters. Closes through .
Point size ∝ market cap; the dashed line marks beta = 1 (moves with the market).
Computed over the largest ~100 PSE stocks with sufficient history. Delayed / end-of-day data, recomputed by PSEye. Descriptive statistics and unsupervised grouping only.
Good to know
What the clustering does, how it differs from the exchange's sector labels, and what it is useful for.
K-means is an unsupervised algorithm that sorts items into groups by similarity, without being told in advance what the groups should be. Applied to stocks it groups companies by how their prices have actually behaved, using volatility, beta, momentum and correlation to the market, rather than by what industry they are labelled with.
A sector is an administrative label based on what a company sells. A cluster is derived purely from price behaviour, so two banks can land in different clusters while a bank and a utility land in the same one. Where the two disagree is usually the interesting part, because it means the market is not treating a company the way its label implies. Browse by sector instead →
Each point is one company placed by its beta against the market horizontally and its annualised volatility vertically, sized by market cap and coloured by cluster. Those are two of the measures the clustering used, so points sitting close together have generally moved alike regardless of what the businesses do.
As one input, yes. Holdings spread across clusters have historically behaved less alike than holdings spread across sector labels, since the clustering is built from co-movement in the first place. It is descriptive of a past window, though, and groupings do shift as market conditions change. Check your own holdings →
The largest roughly 100 PSE companies that have enough price history for the measures to be computed. Thinly traded names are left out rather than clustered on sparse data, since a stock that goes days without a fill would look artificially calm.