Methodology
POKECA PSA INDEX is a daily Jevons-style price index for PSA 10 graded Pokemon cards. The current production index uses SNKRDUNK PSA 10 sales history, price-times-sales-proxy weighting, and quarterly constituent rebalances.
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
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) = SNKRDUNK rolling-median price of card i at time t (JPY) Pi(t-1) = SNKRDUNK rolling-median price of card i at time t-1 (JPY) Wi = capped price-times-sales-proxy 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
In production, each card's weight is based on current price times a fixed sales-count proxy captured when the constituent basket is selected, with a per-card cap of 3% to prevent concentration.
sales_proxy_i = selected PSA10 sales count for card i raw_weight_i = price_i * sales_proxy_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 PSA 10 sales volume. Within each sector, cards are ranked by liquidity score = sqrt(sales x price). The basket stays fixed between quarterly rebalance dates.
Daily Price Engine
The current production index derives daily prices from SNKRDUNK PSA 10 sales history only. Each card price is computed from a tiered rolling median:
Tier 1: median of sales in the last 14 days Tier 2: if empty, widen to 30 days Tier 3: if still empty, widen to 90 days Tier 4: if no recent sale exists, exclude the card for that day Outlier filter: keep only prices within [median / 3, median * 3] before final median
eBay and Mercari rows may still appear on individual card pages when historical records exist, but they are not used in the current daily index calculation.
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 history, rolling-median price, sales counts | Current production source for selection, pricing, and volume proxy |
| eBay | Historical PSA 10 reference prices (when stored) | Displayed on card detail pages only when archived rows exist |
| Mercari | Historical PSA 10 sold prices (when stored) | Displayed on card detail pages only when archived rows exist |
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.