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.

SectorEraSet Codes
VINTAGE1996 - 2016Base Set, Neo, e-Series, PCG, DP, BW, XY, L
MODERN2016 - 2023SM, S series (including S-P promos)
CURRENT2023 -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:

SectorMin SalesMin PSA10 MedianFloor
VINTAGE13,000 JPY80 cards
MODERN35,000 JPY80 cards
CURRENT35,000 JPY80 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

SourceDataRole
SNKRDUNKPSA 10 sales, median price, trading volumePrimary (card selection + pricing)
eBayPSA 10 market prices (USD)Price enrichment
MercariPSA 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.