Why CS2 skins underperformed equities (and when they shouldn't)
STI 30 returned +54.5% over 6 years. S&P 500 returned +154.4%. A 100-percentage-point gap. The lazy explanation is "skins are bad investments." The real explanation is structural friction — and it has three documented exceptions.
Six years of data. STI 30 returned +54.5%. S&P 500 returned +154.4%. A hundred-percentage-point gap.
The lazy explanation is that skins are bad investments. The real explanation is that they're a different kind of investment, with a fee structure built into the asset class itself. Once you account for it, the gap is exactly what theory predicts — and there are three documented cases where the gap inverts.
This post is the math, not the marketing.
The 6-year cross-asset numbers are covered in detail in the predecessor post (STI vs S&P 500 vs Bitcoin); this post is the structural follow-up. If you want the methodology behind STI computation, see /methodology.
The four costs S&P 500 buyers don't pay
Buying SPY (the S&P 500 ETF) and buying an equivalent dollar amount of CS2 skins are not the same trade, even if the underlying asset rallies the same percent. The skin trade carries four frictions that the SPY trade does not.
| Cost | SPY | CS2 skins (Steam Market) |
|---|---|---|
| Bid-ask spread | ~0.001% | 2-5% (10%+ for illiquid) |
| Transaction fee per side | $0 (commission-free) | 15% (Steam) or ~2% (CSFloat) |
| Time to execute | seconds | days/weeks for >$1k items |
| Tax basis (BR investor) | offshore wrapper / tax-deferred | 15% capital gains direct |
Bid-ask spread
SPY trades over 100 million shares per day. The penny spread on a $500 share is 0.0002%. You pay it without thinking about it.
A typical mid-tier skin trades 5 to 50 listings per day. The spread ranges 2 to 5% routinely, and 10%+ for illiquid items (Dragon Lore, Howl, Wild Lotus, ultra-rare floats). This is the cost you pay just to swap a position, before any market move. On a $10,000 position with 3% spread on each side, you're down ~$600 before opening day even closes.
Transaction fees
Steam Market: 15% total per sale (5% Steam + 10% game publisher fee). It applies to every liquidity event. Want to swap your AWP Asiimov for an AK Redline? That's a sell + a buy — 15% off the top, both sides.
Third-party marketplaces (CSFloat ~2%, Skinport ~12%) reduce friction but require leaving the Steam ecosystem, with its own counterparty and listing-time costs.
For comparison: US-based ETF brokers have been commission-free since 2019. Schwab, Fidelity, Robinhood, Vanguard all charge $0 for SPY trades. The difference compounds: 15% one-shot equals roughly 2.6%/yr drag on a 6-year hold if you trade once. Multiple trades multiply.
Time to execute
A SPY market order fills in approximately 50 milliseconds during trading hours. You don't even notice the latency.
List an AWP Dragon Lore for $5,000 on the Steam Market and the average sell time is 7 to 14 days for items above the $1,000 threshold. During that window, the price can move 5, 10, or 20%. Time-to-execute IS a cost when prices are volatile.
For an investor reacting to news (Genesis Terminal release, Major announcement, supply shock), the difference between "immediate" and "next week" is the difference between catching the move and watching it pass.
Tax basis
Brazilian retail investor: 15% capital gains tax on skin sales above R$ 35,000/month. No tax-advantaged wrapper exists for skin holdings.
The same investor in SPY through an offshore fund or Brazilian ETF wrapper (BOVA11) sees a different effective rate. US investors can hold SPY in a 401(k) or IRA at 0% on gains until withdrawal. The friction differential is enormous over a 6-year horizon.
Quantifying the drag — what break-even looks like
Concrete worked example. $10,000 position. 6-year hold. Sell at the end. Brazilian retail investor.
Path A — SPY:
- Start: $10,000 invested
- S&P 500 returns +154.4% gross over 6 years
- End value: $25,440
- Lifetime commissions: ~$0 (commission-free since 2019)
- Tax: depends on wrapper; 15% if direct (Brazilian) → $23,124 net; 0% in US retirement account → $25,440 net
- Net return to BR investor: ~+131%
Path B — STI 30 representative basket (broad market skins):
- Start: $10,000 invested
- STI 30 returns +54.5% gross over 6 years
- Gross end value: $15,450
- Steam fees: 15% on entry purchase + 15% on exit sale (assuming both legs through Steam) ≈ 30% total drag in some form
- Spread: ~3% each side ≈ 6% drag
- Brazilian capital gains tax: 15% × $5,450 gain ≈ $820
- Net return to BR investor: roughly +30 to +40% (depending on which marketplace handles the buy and sell legs)
STI 30's gross +54.5% collapses to roughly +30 to +40% net for a Brazilian investor using Steam Market. Compare to SPY's ~+131% net for the same investor.
For STI 30 to net the same as SPY, the gross return would need to be approximately +220 to +240%. STI 30 wasn't close.
This is the liquidity penalty. It's not hypothetical — it's what you pay every time you enter or exit a position. The longer you hold, the more it amortizes; the more often you trade, the more it bites.
Three counterexamples — when the math inverts
Skins as an asset class can't escape the friction. But specific subsets sometimes overcome it. Each shares one structural feature: supply contraction larger than the friction tax.
STI Cases (containers index)
Cases (containers) returned roughly +788% over the same 6-year window where STI 30 returned +54.5%. Almost 14× outperformance.
The structural reason: Valve removes cases from the active drop pool when competitive operations end. Existing cases continue to be opened (consumed via key purchases) but no new supply enters. Demand stable, supply shrinking, price compounds — at a rate large enough to swallow Steam's 15% friction tax and still deliver multi-bagger returns.
A Brazilian investor netting +788% gross at 30%+ friction still ends with roughly +600% — comfortably crushing SPY's ~+131% net.
Discontinued operations / contraband tier
A specific 9-skin curated collection from operations that ended (Phoenix, Bloodhound, Wildfire) returned approximately +377% over 6 years. The pattern is identical: new supply zero, existing supply gradually consumed by inventories, price appreciates faster than friction.
A subset, the Contraband tier (M4A4 Howl) and near-Contraband (Souvenir Dragon Lores from specific Majors), behaves like alternative-art collectibles: spreads tight, collector demand inelastic, total return estimates in the +200 to +400% range over the period — variable by floor and condition.
Specific blue chips (Dragon Lore, Lightning Strike)
The very top of the float-rare distribution. Items like the AWP Dragon Lore (Factory New) and AWP Lightning Strike (Factory New) trade like fine art rather than commodities. Spreads tighten because collector buyers price these in absolute units of scarcity, not relative to the broader market.
Returns vary heavily by specific float and Major provenance, but plausible 6-year nets land in the +200 to +400% range — substantially beating SPY for the holders who got in pre-2020.
The pattern
Every counterexample shares one structural feature: permanent supply lock. Valve closed the drop faucet (cases), retired the source operation (discontinued collections), or the item was never high-volume to begin with (contraband, Souvenir editions). When supply is structurally frozen, demand growth flows directly into price — at a rate faster than the friction tax.
The full STI 30 universe doesn't have this property. It's a broad-market index; supply for most constituents grows over time as new cases drop and inventories cycle. Broad-market skins inherit the friction without inheriting the supply constraint that would let them overcome it.
When the liquidity penalty matters most
The friction is constant. The pain it causes varies with the macro regime.
2020-2021 — cheap money era
Fed at 0%. Selic at 2%. Risk assets rallied together: skins, S&P 500, and Bitcoin moved in sync. The opportunity cost of holding illiquid was minimal — comparable returns existed everywhere, and staying in skins didn't cost much in lost alternatives.
2022-2024 — high-rate era
Fed 5.5%. Selic 13.75%. Brazilian investors holding cash earned 10%+ real return for free. This was the period when the liquidity penalty became maximally painful: capital locked in skins couldn't move to capture the high CDI yield without paying 30%+ exit friction first. STI 30 had its worst Sharpe period in this window — negative real returns after inflation and friction.
2024-2026 — reopening
Fed cuts, S&P 500 hits all-time highs, Bitcoin hits all-time highs. Skins partially recover but lag the speed of equities. Time-to-execute compounded the lag — by the time a skin holder could reposition, the equity rally had moved on.
The pattern: liquidity penalty is small in cheap-money eras, large in high-rate eras. Skin allocation works best when comparable yield doesn't exist anywhere else. When it does (as in 2022-2024), the math gets ugly fast.
Implications for portfolio sizing
Concrete framework. Not advice — math. Adjust to your own context.
| Skin allocation | Liquidity penalty as % of total portfolio | Defensible? |
|---|---|---|
| <5% (specialty bucket) | <0.5% drag | Yes — insurance / passion / optionality |
| 5-15% (significant alt) | 1-2% drag | Conditional — defensible if you have edge in the +788% subsets |
| 15-30% (core alt) | 3-5% drag | Hard to justify vs equity-bond mix |
| >30% (concentration) | 6%+ drag | Only if thesis is supply-constrained subset only |
The S&P 500 is liquid enough to be 90% of net worth. Skins cannot match that. Size accordingly.
How STI helps you measure the penalty
Without monthly indices, you have no way to actually measure the friction in your portfolio. You guess, anchored to your last successful trade. STI is the measurement layer:
- Each rebalance reflects realized illiquidity — slippage on entry/exit captured, not theoretical paper returns.
- Sharpe vs CDI quantifies the risk-adjusted underperformance period by period — useful for deciding when to rotate out.
- STI 30 vs STI Cases comparison tells you which sub-tier of the skin universe is actually beating the friction tax in the current regime.
You can't fix what you don't measure. STI is the measurement.
What this comparison can't tell you (and what it can)
Honest disclosure on the limits of this analysis. The 100-percentage-point gap is real, but the comparison itself sits inside a specific period window with its own characteristics — and those characteristics matter.
Period sensitivity
The 2020-2026 window is not neutral. It includes the post-COVID equity rally, the 2023-2024 AI bubble, and ended with the S&P 500 at all-time highs. A different 6-year window tells a different story: the 2000-2006 window returned roughly +10% gross for the S&P 500 (the post-dot-com flat decade); the 2007-2013 window straddled the Global Financial Crisis. CS2 skins didn't exist as a tradable asset class in either period, but the principle stands — comparing any asset to the S&P 500 in a window that favored equities will make the other asset look worse than it might in a different regime.
The structural friction (15% Steam fee, 2-5% spreads, 7-14 day settlement) is invariant to the macro regime. But the opportunity cost of staying in skins varies enormously: it's small when alternatives are also rallying (2020-2021), and it's large when alternatives are returning 10%+ risk-free (2022-2024 high-rate era). 2024-2026 fell into a third regime entirely.
What this comparison can show
- Within the 2020-2026 window, the 100pp gap is real and the structural friction explanation is sufficient (no need to invoke skin-quality arguments).
- Friction-adjusted, broad-market skins still trailed equities in this specific window.
- Supply-constrained subsets (STI Cases at +788%, discontinued collections, contraband tier) overcame the friction in the same window.
What it cannot show
- How CS2 skins would compare to the S&P 500 in a 6-year window that includes a 25%+ equity drawdown.
- How STI 30 will perform 2026-2032 — the future is not a backtest.
- Whether the +154% S&P 500 return is sustainable starting from current all-time-high valuations.
The honest take
If you assume the next 6 years repeat the last 6, broad-market skins will trail equities. If you assume mean-reversion in equity multiples, the gap narrows. If you assume a regime change (recession, structural shift in the CS2 economy, Valve policy pivot), all bets are off. The STI family isn't built to predict — it's built to measure, period by period, so an investor can decide when the math has actually changed instead of guessing from a single backtest.
Past performance is not a forecast. This post is a description of one specific 6-year window — useful as a baseline, dangerous as a forecast.
Bottom line
STI 30 lagging S&P 500 by 100 percentage points isn't an indictment of skins. It's a feature description. The market is asking you to be paid for liquidity, and the broad skin index hasn't paid enough to compensate over the past 6 years.
But "skins underperformed equities" doesn't mean "skins are bad investments." It means broad-market skin allocation underperformed broad-market equity allocation. Specific subsets — STI Cases, contraband-tier blue chips — outperformed by 4 to 7× even after friction. The investor's job is identifying which subset, and sizing appropriately.
The next 6-year window can look entirely different. Macro shifts, Valve mechanics, regulatory changes — any of these can flip the equation. STI gives you the tool to detect when.
Allocate honestly. Size for liquidity reality. Measure with the index family.
Cite this post
Research, journalism, or blog use is welcome with attribution. Pick a format below.
Fernandes, J. (2026). Why CS2 skins underperformed equities (and when they shouldn't). Skin Trackers. https://skintrackers.com/en/blog/cs2-skins-vs-equities-liquidity-penalty
Jorgin Fernandes, "Why CS2 skins underperformed equities (and when they shouldn't)," Skin Trackers, 2026, https://skintrackers.com/en/blog/cs2-skins-vs-equities-liquidity-penalty.
@misc{skintrackers_cs2-skins-vs-equities-liquidity-penalty,
author = {Jorgin Fernandes},
title = {Why CS2 skins underperformed equities (and when they shouldn't)},
year = {2026},
url = {https://skintrackers.com/en/blog/cs2-skins-vs-equities-liquidity-penalty},
publisher = {Skin Trackers}
}https://skintrackers.com/en/blog/cs2-skins-vs-equities-liquidity-penalty
Disclosure: The author maintains a personal position in CS2 skins, sized per the framework above (specialty-bucket allocation, supply-restricted subset bias). Details at /about. No conflict of interest with any marketplace. Analysis is editorial, not buy or sell recommendation.