Price weight vs cap weight across a stand-in basket
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-22, from Stock Splits and the Dow Divisor, Explained.
| symbol | share_price | price_weight_pct | cap_weight_pct |
|---|---|---|---|
| GS | 1001.95 | 20.85 | 2.37 |
| CAT | 815.39 | 16.97 | 3.05 |
| MSFT | 481.15 | 10.01 | 29.03 |
| AMGN | 433.73 | 9.03 | 1.91 |
| V | 365.73 | 7.61 | 5.55 |
| HD | 334.49 | 6.96 | 2.71 |
| AXP | 331.15 | 6.89 | 1.82 |
| AAPL | 311.3 | 6.48 | 36.91 |
| MCD | 269.13 | 5.6 | 1.55 |
| JNJ | 267.37 | 5.56 | 5.24 |
| WMT | 103.84 | 2.16 | 6.71 |
| KO | 90.5 | 1.88 | 3.16 |
- Rows × columns
- 12 × 4
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
symbol |
text | 12 distinct values (AAPL, AMGN, AXP…) | |
share_price |
number | 90.5 to 1,001.95 | US dollars |
price_weight_pct |
number | 1.88 to 20.85 | percent |
cap_weight_pct |
number | 1.55 to 36.91 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
WITH members AS
(
SELECT
ticker,
argMax(toFloat64(price), date) AS last_price,
argMax(toFloat64(market_cap), date) AS last_cap
FROM global_markets.stocks_ratios
WHERE ticker IN ('AAPL','AMGN','AXP','CAT','GS','HD','JNJ','KO','MCD','MSFT','V','WMT')
AND date >= today() - 45
AND price > 0
AND market_cap > 0
GROUP BY ticker
),
totals AS
(
SELECT
sum(last_price) AS price_sum,
sum(last_cap) AS cap_sum
FROM members
)
SELECT
m.ticker AS symbol,
round(m.last_price, 2) AS share_price,
round(100 * m.last_price / t.price_sum, 2) AS price_weight_pct,
round(100 * m.last_cap / t.cap_sum, 2) AS cap_weight_pct
FROM members AS m
CROSS JOIN totals AS t
ORDER BY price_weight_pct DESC
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisStock Splits and the Dow Divisor, Explained
Splits of 4-for-1 or larger since 2020, well-known names
ranking 17×4
→
Forward and reverse splits executed per year
ranking 11×3
→
$10,000 in the S&P 500 tracker: price only vs dividends reinvested, year-end 2006 to July 2026
ranking 20×4
→
S&P 500 tracker by calendar year: price return vs the points added by reinvested dividends
ranking 20×3
→
Recent reverse stock splits (shares consolidated), last 30 days
ranking 15×4
→
Recent forward stock splits (shares multiplied), last 60 days, ETFs excluded
ranking 15×4
→
See all 2,170 queries →