Methodology
POKECA PSA INDEX is a market-cap weighted Jevons (geometric mean) price index for PSA 10 graded Pokemon cards. SNKRDUNK to primary data source, eBay and Mercari for price enrichment. Inspired by S&P 500 and CPI methodology.
3 Sectors
The index is divided into 3 sectors based on card release era. Each sector is tracked as an independent sub-index, plus a TOTAL index computed across all cards.
| Sector | Era | Set Codes |
|---|---|---|
| VINTAGE | 1996 - 2016 | Base Set, Neo, e-Series, PCG, DP, BW, XY, L |
| MODERN | 2016 - 2023 | SM, S series (including S-P promos) |
| CURRENT | 2023 - | SV, M series |
Index Formula
Chain-linked Jevons Index with market-cap weighting. The index is updated daily by applying the weighted geometric mean of day-over-day price changes to the previous index value.
INDEX(t) = INDEX(t-1) * exp( Σ Wi * ln(Pi(t) / Pi(t-1)) / Σ Wi ) where: Pi(t) = unified price of card i at time t (JPY) Pi(t-1) = unified price of card i at time t-1 (JPY) Wi = market-cap weight of card i exp/ln = chain-linked geometric mean of returns
The geometric mean handles multiplicative price changes naturally and reduces the impact of outliers compared to arithmetic mean.
Market-Cap Weighting
Each card's weight is proportional to its market capitalization (price x trading volume), with a per-card cap of 3% to prevent concentration.
raw_weight_i = price_i * volume_i W_i = raw_weight_i / Σ raw_weight_j Cap: max 3% per card (iterative redistribution)
Excess weight above 3% is redistributed proportionally to uncapped cards. This iterative capping runs up to 10 rounds until convergence.
Selection Criteria
Cards are selected from SNKRDUNK's PSA 10 market data. Selection thresholds vary by sector to account for differing liquidity levels:
| Sector | Min Sales | Min PSA10 Median | Floor |
|---|---|---|---|
| VINTAGE | 1 | 3,000 JPY | 80 cards |
| MODERN | 3 | 5,000 JPY | 80 cards |
| CURRENT | 3 | 5,000 JPY | 80 cards |
Target: 500 constituents. Each sector gets at least 80 cards (floor). Remaining slots are allocated proportionally to each sector's total trading volume. Within each sector, cards are ranked by liquidity score = sqrt(sales x price).
Unified Price
Each card's price is a volume-weighted average across available sources, converted to JPY:
unified_price = Σ (price_source * volume_source) / Σ volume_source Sources (in priority order): 1. SNKRDUNK — PSA 10 median price (JPY, primary) 2. eBay — PSA 10 market price (USD * exchange rate) 3. Mercari — PSA 10 sold price (JPY)
Cards with data from multiple sources get a blended price. The more liquid the source, the more it contributes to the unified price.
Divisor Adjustment
When constituents change (cards added or removed), the divisor is adjusted to maintain index continuity. This prevents artificial jumps in the index value.
D_new = D_old * (basket_new / basket_old) basket = Σ Wi * Pi (weighted basket value) This ensures: INDEX(before rebalance) = INDEX(after rebalance)
Data Sources
| Source | Data | Role |
|---|---|---|
| SNKRDUNK | PSA 10 sales, median price, trading volume | Primary (card selection + pricing) |
| eBay | PSA 10 market prices (USD) | Price enrichment |
| Mercari | PSA 10 sold prices (JPY) | Price enrichment |
Prior Art
- S&P 500 — Market-cap weighting with divisor adjustment for constituent changes. Our weighting and divisor mechanism follow the same principle.
- CPI (Consumer Price Index) — Uses the Jevons formula (geometric mean) at the elementary aggregate level. Our mathematical foundation.
- Liv-ex Fine Wine Index — Weighted index for collectible assets with limited liquidity. Closest analogue in the alternative asset space.