VINTAGE CHASE TRACKERThe only market that matters
Home › Methodology

Methodology and sources

How every number on Vintage Chase Tracker is produced — the index mathematics, the card-path construction, the grade hygiene rules and where each price comes from. Reproduced from the terminal's methodology page.

Methodology & Sources

MATHEMATICS FIRST · THEN CONSTRUCTION, DATA, CAVEATS

MATHEMATICS. Every number on this terminal is reproducible from the definitions below. Notation: I(t) index level, P(t) PSA 10 price, rₘ monthly return, n months since base, POP(g) PSA population at grade g.

Index levelI(t) = 1000 × Σᵢ wᵢ · Pᵢ(t) / Pᵢ(t₀)fixed PGX weights wᵢ, Σwᵢ = 1, base t₀ = Oct 2022 · composites nest the same form over leg indexes: .AGG = 0.60·VPI + 0.25·GLDSTR + 0.15·PONCHO (as level relatives)
Observed market factorF(t) = exp( Στ≤t [ n/(n+4) ] · medians clip(Δln Ps(τ), ±0.25) )chained cross-sectional median of month-on-month log moves across every harvested sales series s (16,837 dated sold listings: each card × grade PSA 7 / 8 / 9 / 10, plus sealed-box series); each move is winsorised at ±25% so one eBay outlier cannot swing a month, and the month's median is shrunk toward zero by n/(n+4) when only n series are observed (thin 2023 months move less than dense 2026 months); a series contributes only when it sold in consecutive months (gaps ≤ 3 spread evenly); months with fewer than two observations carry flat — nothing is hand-drawn
Card pathP(t) = P̂(t) × G(t) / Ĝ(t)P̂ is the log-linear path between this card's PSA 10 anchors (its PSA 10 sales, Card Ladder / auction marks); G is the card's OWN chained median of PSA 7 / 8 / 9 monthly moves, blended with F by observation count (n own series → weight n/(n+1); fewer than two own series → F); Ĝ is G's log-linear path between the same anchors — anchors are hit exactly, the shape between them is the card's own observed trading
Mark (R1)M = mean{ Pi : ti ∈ [tlast − 7 d, tlast] }  ·  = Plast when no other print falls in that week  ·  stale if tlast > 180 d ago (R1c)the last sale is the latest market price: a card × grade mark is its newest clean print, averaged with any other clean prints of the 7 days before it — sales within a week of each other are one price, a lone sale is the price; nothing older enters. Clean = not a best-offer sale (R4) and not held unconfirmed (R3). A grade whose newest clean print is older than 180 days has no current level: the last print is shown as a record (STALE), sets no mark, and the PSA 10 path is carried from the last documented anchor by the card's own graded moves and the market factor — the card says so. Effective 8 Sep 2026 (replacing the 30-day / 90-day medians used from v80: a May print pulled the Aquapolis Ampharos PSA 10 mark to $17,600 while its last sale was $23,000).
Mark confidence (R2)A: n ≥ 3, age ≤ 30 d, MAD/median ≤ 15%  ·  B: n ≥ 2 or age ≤ 90 d  ·  C: otherwisen = prints in the 7-day cluster behind the mark, age = days since the newest print, dispersion = median absolute deviation ÷ median; shown as a letter next to every mark, never hidden in a colour
Print outliers (R3)held if P > 3 × ref or P < ref / 3, or across a neighbouring grade's level (< 0.9 × grade below, > 1.1 × grade above)ref = median of the grade's other clean prints within 180 days (at least three), else within a year (at least two), else the card's current mark for a print under 90 days old — wide enough that two or three mislabelled listings cannot become their own reference; a held print stays visible with a ? badge, counts as volume, never sets a mark, and is released only when a print the rules accepted on its own sits within 40% of it within 120 days (two held prints never clear each other); released prints are screened again every run
Lone prints (R8)held if P < Pprev / 3 and P < Pnext / 3  ·  Pprev, Pnext = the nearest clean prints either side, each × F(t) / F(ti)for a print R3 has no reference for — no other clean print of its grade within a year and no current mark to test it against — the clean print before it and the clean print after it (each within four years) are moved to the print's month by the market factor; a print under a third of BOTH is held as unconfirmed. A V that deep is a mislabelled listing, not a market: the $6,000 "PSA 10" Lugia 1st Edition of Jan 2025, between $50,000 and $146,400, anchored the card's path and showed +1,048% for the year; a $760 PSA-graded booster pack sat in the Base Set 2 Pidgeot row. A first or newest print, or one with a neighbour on one side only, is never held by R8 — a card that outran the market keeps its early prints. Effective 8 Sep 2026 (v101), released the same way as R3
Path anchors (R7)A(m) = median{ Pi : ti ∈ m, Pi clean } for a closed month with prints on file  ·  else the sales archive's own median for m  ·  A(open month) = Mthe desk's verdict outranks the archive's memory (8 Sep): a sales-archive point that matches a print the desk now holds (R3) or records as best-offer (R4) is withdrawn from the record; a closed month in which the card has clean PSA 10 prints on file anchors on those prints — the receipts on the page — and the archive's own points stand in only for months with nothing on file; an anchor carried over from an earlier run stands, inside the last 24 months, only in a month with a documented PSA 10 sale (a typed estimate carries nothing). Before this a print the rules had since held could go on shaping the path it was withdrawn from. R7b (v101): inside the window a PriceCharting page covers for a grade the book is complete by construction, so an archive point in that window that is neither in the book nor on the tape — a mark once written as a sale, a listing since rejected — is withdrawn: the desk cannot vouch for it. The archive's own junk filter judges a print against the prints either side of it (under 35% or over 4× of the pair, each moved to its month by F), not against the card's whole history — an all-time median threw away the newest sale of 45 fast-rising cards and 56 auction-house receipts
Best-offer sales (R4)Pbo ≤ list pricea fixed-price eBay listing sold with best offer enabled is recorded as "≤ list · best offer accepted": shown, counted, excluded from marks — PriceCharting counts these at list price, which is one of the biases the first-hand receipts correct
Private salesshown, never a marka sale an auction house announces privately — no listing, no hammer, no bidders — is filed by hand with the house's name, its announcement and the PSA cert, and held by the desk keeper: it appears on the card, the order book and the tape as PRIVATE SALE, and is kept out of marks, paths and the indexes; only a person can release it into the mark. Private-sale rows in PriceCharting's tables are not filed at all
Set legS(t) = 1000 × exp( Στ≤t medians∈set Δln Ps(τ) )chained median over the set's chase series on a PSA 10 basis — each chase's month-on-month PSA 10 move, its PSA 9 move standing in for a month with no PSA 10 move — and its sealed-box series, rebased to 1,000 at Oct 2022; blended with F by n/(n+1) over the n series observed that month; a month with none takes the market factor's move and is hatched on the heatmap. Until 8 Sep 2026 (v100) every graded tier entered and the PSA 7–9 crowd outvoted the gem moves (Neo Destiny PSA 10 +268% for the year against PSA 9 +73%); under R6 the change moves only the open month — closed months stand as published
Window returnr(h) = I(t) / I(t−h) − 11M, 3M, YTD (vs Dec '25), 1Y, since base
Paceweekly = (1 + r₁ₘ)^(1/4.33) − 1  ·  daily = (1 + r₁ₘ)^(1/30.4) − 1pro-rated from the monthly mark, not observed
CAGRCAGR = (I(T) / 1000)^(12/n) − 1annualised geometric growth since base
Volatilityσ = stdev( ln(1 + rₘ) ) × √12trailing-12 monthly log returns, annualised
RET / VOLRET/VOL = CAGR ÷ σSharpe-style, risk-free leg omitted
SortinoS = (12 · μ) ÷ ( √12 · √( Σ min(ln(1+rₘ), 0)² / n ) )penalises downside deviation only; ∞ when no losing month in the window
DrawdownD(t) = I(t) / max₍τ≤t₎ I(τ) − 1  ·  MAX DD = min Ddeepest peak-to-trough fall in index level
Ulcer indexU = √( Σ D(t)² / n )root-mean-square drawdown — depth × duration of pain, in %
Value at RiskVaR₉₅(1M) = exp( μ − 1.645·s ) − 1parametric, μ and s the mean and stdev of trailing-12 monthly log returns · the 1-in-20 bad month
Momentum z-scorez = ( ln(1+r_last) − μ₂₄ ) ÷ s₂₄latest monthly log return against its trailing-24 distribution · |z| > 2 = statistically unusual month
Mean reversionrₜ = φ · rₜ₋₁ + ε  ·  half-life = ln(0.5) / ln(φ)AR(1) on monthly log returns; φ near 1 = trending, φ near 0 = noise, φ < 0 = choppy · half-life in months where 0 < φ < 1
Correlationρ = cov(rₐ, r_b) ÷ (σₐ · σ_b)Pearson on trailing-12 monthly returns
Market capMCAP(g) = POP(g) × P(g)GEM = grade 10, MINT-9 = grade 9 · totals sum only names with sourced pops
Tiered grade model °P(g) = P(9) × [ m_g(lo) + ( m_g(hi) − m_g(lo) ) · τ ]  ·  τ = clamp( ln(P9/20K) / ln(45K/20K), 0, 1 )m₈: 0.78 → 0.44, m₇: 0.56 → 0.33, m≤₆: 0.35 → 0.30 · mid-value regime from PriceCharting ladders, grail regime from Card Ladder ladders (Rayquaza ★ 8/9 = 0.54, Charizard ★ 0.42, Base Charizard 1st 0.44) · sourced marks always override
Slab multiple · premiumP(10) / raw  ·  P(g) / P(h)grade premium g:h, e.g. 9:10 ratio
Price-to-PopP(10) / POP(10)dollars per existing gem — scarcity-adjusted price
Gem ratePOP(10) / Σ_g POP(g)share of all graded copies that gemmed
Grading EVGEV = Σ_g share(g) · P(g) − raw − fee  ·  share(g) = POP(g) / ΣPOPpopulation-implied expected value of grading one raw copy ($25 fee) · assumes today's raw pool grades like the historical pool — an upper bound
ConcentrationHHI = Σᵢ wᵢ²  ·  top-5 share = Σ₅ MCAPᵢ / Σ MCAPᵢHHI floor is 1/N for equal weights; higher = more concentrated
Gini of gem capsG = Σᵢ (2i − N − 1) · xᵢ ÷ ( N · Σ xᵢ )x sorted ascending · 0 = every card carries equal gem cap, 1 = one card is the whole market
FXI_GBP(t) = I_USD(t)level ratios cancel currency — hedged by construction; displayed prices convert at the latest daily spot

AUDIT. Every scheduled refresh writes an entry to the Data Log — which marks moved, how many sales and asks were added or removed, and which sources could not be reached — so the automation can be checked rather than trusted.

SOURCES OF EVERY NUMBER. Open any card (click a row) and the modal lists each dated sale behind its chart with the grade and price; the Set Desk box chart shows every box sale as a dot; the tape links every record to its source page. Nothing on the terminal is typed in from memory — if a number cannot be traced to a dated listing or a named auction result it is shown as '—' or flagged §.

VPI COMPOSITE. .VPI blends sixteen vintage legs with fixed weights: GLDSTR 16%, Base Set 14%, Skyridge 10%, Aquapolis 8%, Neo Genesis 7%, Gym Challenge / Team Rocket / Neo Destiny 6% each, Gym Heroes / Expedition 5% each, Legendary Collection / Neo Revelation 4% each, Jungle / Fossil 3% each, Neo Discovery 2%, Base Set 2 1% — the full WotC run plus the Gold Star era. The GLDSTR leg carries documented sale anchors; the six set legs are anchored at current PriceCharting chase marks with October 2022 levels estimated from the vintage-market narrative (flagged §) — treat .VPI history as indicative until per-chase sale anchors are sourced. PONCHO is a modern-promo satellite index and sits outside the composite.

CURRENCY. The CCY toggle converts displayed prices at the latest daily ECB reference rate (fetched once a day in your browser; the spot strip beside the toggle shows the rates and date in use — if the fetch is blocked it falls back to the build's rates, 1 USD = 0.7381 GBP · 0.8629 EUR · 159.76 JPY at 31 Aug 2026). Index levels are ratios of USD prices, so they are identical in every currency — the hedged view. An unhedged GBP/EUR/JPY index would also carry FX drift; spot-converting prices while keeping USD-based levels is equivalent to a fully hedged benchmark.

WHY .AGG SITS BETWEEN ITS LEGS. .AGG is a weighted average of level relatives — 0.60 × .VPI + 0.25 × .GLDSTR + 0.15 × .PONCHO — so it can never be above its strongest leg or below its weakest. With .GLDSTR at ~5× base, .PONCHO at ~4× and the 15-set WotC composite at ~2×, the 60% WotC weight pulls the aggregate to roughly 3×. That is arithmetic, not a data problem; the Gold Star and Poncho legs are the outperformers and the composite says so.

CONSTRUCTION. Each index is a weighted basket of PSA 10 price relatives, rebased to 1,000 at October 2022, using fixed PGX weights set September 2026 (shown in the WT column) and applied across the full history — a backtest-style construction, not a rebalanced index. PONCHO holds ten Poncho-Pikachu XY-P/SM-P promos — the poncho full arts (Rayquaza ×2, M Charizard X/Y, Alolan Vulpix), the Pretend pair (Gyarados/Magikarp), the Mario & Luigi full arts and Poncho-Wearing Eevee. GLDSTR holds the complete 27-card English Gold Star roster from the 2004–2007 EX era, led by Rayquaza, Torchic and Treecko.

ANALYTICS. CAGR is annualized from monthly marks since base. Volatility is the standard deviation of the trailing twelve monthly log returns, annualized (×√12). Max drawdown is the deepest peak-to-trough fall in index level. RET/VOL is CAGR divided by annualized volatility — a Sharpe-style ratio with the risk-free leg omitted. The relative-value line is the ratio of the two index levels; above 1.0 means Gold Stars have outperformed ponchos since October 2022. The market map sizes tiles by last PSA 10 price and colors by one-month change. MCAP (10) on the Grade Desk multiplies the last PSA 10 price by the PSA 10 population, valuing the gem-mint float only; populations are shown solely where a source states them (Card Ladder, SI.com) and are never estimated. The grade ladder plots sourced marks for raw and PSA 6–10 (Card Ladder full ladders for Rayquaza ★, Charizard ★ and Base Charizard 1st Ed; PriceCharting ladders otherwise), with modeled PSA 6 rungs hollow, and documented PSA 1–5 sales as diamonds.

DATA. PSA 10 marks for the flagship names are Card Ladder last sales (Sep 2 '26 pull: Rayquaza ★ $682.5K Jul 9, Charizard ★ $276K Aug 20, Base Charizard 1st Ed $462.5K Jun 26, Neo Genesis Lugia 1st Ed $205.8K Jun 4, Aquapolis Lugia $132K Aug 23), with PriceCharting guides used where Card Ladder has no page. This terminal is a research snapshot, refreshed on request — the artifact cannot poll auction houses on its own. Levels are marked monthly. Diamond markers on the chart are documented transactions or dated guide values gathered from eBay sold data via PriceCharting, Card Ladder, Goldin and Fanatics Collect auction results, and dated price-guide snapshots. Every monthly path is now built from observed trades: 16,837 dated sold listings harvested from PriceCharting's eBay sold data (every grade tier, 128 cards), 354 sealed-box sales (eBay, Heritage, Fanatics, Landry), and Card Ladder / auction-house marks. PSA 10 levels are anchored on PSA 10 sales; between anchors the path follows the card's own PSA 7–9 monthly moves, and where a card had no graded sale in a month it follows the observed market factor (MATHEMATICS). Coverage is thin in 2023 (0–8 series per month) and dense from mid-2025 (50–120 series per month) — the coverage strip under the index chart shows the observation count month by month. What is still a model: the monthly median itself (one number for a month that may hold several sales), and the assumption that a card's PSA 10 moves with its PSA 7–9 in months where no PSA 10 traded. Rows flagged § include estimated early-period anchors where no dated sale could be sourced; treat pre-2024 levels for those names as indicative, and interpolation smooths the computed volatility and drawdown figures.

WHEN AN ASK SELLS. Every listing on the Live Asks & Bids board is re-opened every eight hours. If a tracked listing has SOLD, the refresh records the sale (price, date, source) and the terminal treats it exactly like any other print: it becomes that grade's last sold in the card's order book, sets the PSA 10 / PSA 9 / lower-grade mark on every board, updates the card's monthly series and the last month of .GLDSTR / .PONCHO / .AGG, adds a box sale and re-marks the box (with the 1st Edition floor rule), posts to the tape flagged "sold from a tracked ask", and removes the listing. Set legs pick the sale up on the next daily rebuild.

ASKS. The Live Asks board on the tape lists active listings actually seen on the cited page (Loose Packs, DA Card World, eBay item pages, Fanatics Collect buy-now, TBC Games) with the price, the date seen and a link. Asks never set a mark. Sources that refuse automated reads — eBay search results, Fanatics and Goldin search, TCGplayer, Collectors Cache, Potomac — are simply absent rather than guessed. 1st Edition box marks apply a floor at the same set's Unlimited mark: PriceCharting's "1st Edition" pages carry resealed and mislabelled boxes at Unlimited-level prices, and a sealed 1st Edition box does not trade below its Unlimited twin, so sub-floor comps are treated as mislabelled.

CAVEATS. Thin markets: several constituents trade a handful of times per year, so single prints move the mark, and computed volatility understates true trade-to-trade dispersion. Japanese marketplace asks (e.g. ¥8.35M Mario 294 PSA 10) are listings, not sales, and are excluded. Outlier grades and lots (the $1.02M CGC Pristine 10 Rayquaza ★, BGS Black Label ponchos) appear on the tape but do not set constituent marks, which follow the PSA 10 population. Not investment advice.

Index construction notes

ONE ENTRY PER TICKER · GENERATED FROM THE REGISTRY · FORMULAS ARE ON EACH INDEX PAGE

Cite this pageVintage Chase Tracker, “How We Price Vintage Pokémon Cards Like a Hedge Fund”, vintagechasetracker.com/methodology/, data as of 3 Nov 2026. Free to quote with a link; documented PSA sales, not advice.

FREE · ONE EMAIL, NO PASSWORDEvery card, every set, the indexes · PokeSpace, the market as a galaxy you can fly · the last 12 months of every chart · a watchlist of 10PRO · THE WHOLE RECORD, FOR THE PRICE OF A SANDWICH A MONTHEvery month since Feb 2021 · every spread and every ask under the mark · the two-minute live desk — one mispriced buy costs more than a year of itDEALER · FOUNDING LISTA proposed dealer service: bulk comparisons, exports and alerts. Join the interest list; no launch date is confirmed