Work/Quant & Markets

Stock Universe (Equilibrium)

Survivorship-bias-free top-1000 US equity universe with 10 years of bars

Typeexperiment
Statusin-progress
Updated2026-09-18
Commits6
SourcePrivate

What it is

A data pipeline that builds a point-in-time top-1000 US equity universe, including delisted names, with ten years of daily OHLC and dividends on a single split-adjusted basis. It cross-checks market cap against traded volume and resumes interrupted downloads from cache. Later commits add a daily trend-slope dataset and an opposing-slope pair study that tests beta cancellation, with an HTML report.

The problem

Backtests on today's index members overstate returns because delisted companies silently drop out of the data.

How it works

  1. Reference data comes from SEC, Nasdaq and index-membership history; prices come from Yahoo (yfinance plus a direct client), with optional keyed-vendor backfill for delisted gaps.
  2. A staged CLI (reference, prices, backfill, assemble, slopes, pairs) caches every stage under data/raw and data/cache so reruns resume instead of restarting.
  3. validate.py cross-checks market cap and share counts, and prices and share counts are put on one split basis.
  4. pairs.py scores every stock pair on opposing-trend behaviour and exports datasets for analysis.

Stack

Python 3.12pandasDuckDBPyArrowyfinancecurl-cffilxmluvpytestruff

Disciplines

For your business

Clean, bias-checked market datasets and ETL pipelines that quant and research teams can trust.