# LunarCrush — S&P 500 Point-in-Time Constituent Expansion

Expansion of the `lunarcrush_sp500_hourly_2020-2026` delivery (Jun 3) to **point-in-time index membership**, per Connie Deriziotis's request (Jul 8): all constituents as of the 2020-05-22 data start, plus every name that entered and left the index through 2026-05-21.

## What changed vs the original file

- Original: 502 symbols = current constituents as of 2026-05-21 (survivorship-biased for backtests)
- This delivery adds **106 removed constituents** — every company that was an S&P 500 member at any point in the window but is absent from the current list: acquisitions (ATVI, CERN, XLNX...), take-privates (TWTR), failures (SIVB, FRC), index demotions (GPS, LUMN...), and short-window members (EMBC, MBC)
- Combined point-in-time universe: **608 symbols, 29.8M hourly rows**

Why 106 and not ~150: the full S&P DJI change log for the window reconciles at 106 distinct removed members. The remaining names in a naive diff are **20 in-window ticker renames** (FB→META, ANTM→ELV, VIAC→PARA→PSKY...) whose companies never left the index — their history is already in the original file under the new symbol. The rename map is included in `constituent_membership.csv` context and below. 106 removals + 20 renames ≈ the ~126-150 a symbol-level diff suggests.

## Files

| File | Contents |
|---|---|
| `lunarcrush_sp500_pit_hourly_2020-2026.parquet` | **Drop-in replacement**: original 502 + the 106 removed constituents. 29.8M rows, identical schema. |
| `lunarcrush_sp500_pit_delta_hourly_2020-2026.parquet` | Just the 106 added symbols (4.69M rows) if you prefer to append. |
| `constituent_membership.csv` | Point-in-time membership for all 608 symbols: window start/end, removal date + reason, fate, successor symbol. **Join on this for point-in-time filtering.** |
| `coverage_audit.csv` | Per-added-symbol audit: rows delivered, first/last data date, coverage vs membership window, honesty notes. |

## Schema

Identical to the original delivery: `symbol, time (UTC hour), open, high, low, close, market_cap, market_dominance, interactions, contributors_active, contributors_created, posts_active, posts_created, sentiment, spam, alt_rank, galaxy_score, social_dominance`. Hourly buckets, 2020-05-22 → 2026-05-21.

## Coverage honesty (read before backtesting)

- **98 of 106 added symbols: FULL** hourly history across their membership window (±7 days).
- **5 PARTIAL**: DISCK (92%), VAR (95%), LUMN (88%), BBWI (74% — the BBWI symbol only exists from the Aug 2021 L Brands split; earlier index history traded as LB), FBIN (symbol dates from the Dec 2022 FBHS rename).
- **3 NO OVERLAP** — delivered for completeness but flagged: EMBC and MBC (membership windows of only days; our coverage begins later) and **ETFC (the series under this ticker begins in 2025, after E*Trade's 2020 delisting — likely ticker reuse; do not treat as E*Trade)**.
- Series may extend past a symbol's removal date (OTC/successor trading). **Apply the membership windows in `constituent_membership.csv` for point-in-time work** — that is what they are for.

## Methodology

Index change history reconstructed from the S&P DJI press-release record and cross-verified against two independent constituent datasets; every entry spot-verified for removal date, reason, and as-at-removal ticker spelling. Zero overlap with the original 502 (verified across share-class formatting variants). Data pulled from the same LunarCrush hourly time-series endpoint as the original delivery for schema consistency.

Questions → joe@lunarcrush.com · dan@lunarcrush.com
