Fetching live prices…
Source: Yahoo Finance via same-origin cache (refreshed ~15m)

Convert

All four values track a single S&P 500 level. Change any one — the others recompute instantly.

SPX Index

S&P 500 Index level — the underlying that everything else references.

Live
SPY ETF

SPDR S&P 500 ETF — trades around SPX ÷ 10, minus a small dividend/expense drag.

Live
XSP Mini-SPX

CBOE Mini-SPX index options — cash-settled at exactly SPX ÷ 10. Section 1256 tax treatment.

Live
ES Futures

E-mini S&P 500 futures (CME) — tracks SPX 1:1 with a small basis. Nearly 24×5.

Live

How the math works

Ratios come from live prices (default) or from the theoretical 1:10 relationship. Toggle at the top.

SPX ↔ XSP

XSP = SPX ÷ 10 — exact by contract. CBOE Mini-SPX options settle on 1/10th of the S&P 500.

SPX ↔ SPY

SPY ≈ SPX ÷ 10 — SPY is an ETF with a small dividend drag and expense ratio, so the real ratio drifts slightly from 0.1.

SPX ↔ ES

ES ≈ SPX + basis — E-mini futures track the index with a small carry/discount that decays into settlement.

Live vs Theoretical

Live uses today's real ratios. Theoretical clamps SPY:SPX to 0.10 and ES basis to 0.

Live prices come from a same-origin snapshot (/prices.json) that a scheduled GitHub Action refreshes about every 15 minutes during US market days by fetching Yahoo Finance server-side — so this page never has to punch through CORS. Off-hours or if the cache is unreachable, the tool still works with sensible defaults. Not investment advice — just conversion math.