Point-in-Time ETF Holdings · SEC Primary Source

The dataset that remembers
the ships that went down

"And I only am escaped alone to tell thee."— Moby-Dick, Epilogue

Survivorship-bias-free, point-in-time ETF holdings built directly from SEC N-PORT filings — delisted names included, identifiers repaired, schemas normalized. Free open-source MCP server. Full point-in-time history bundles coming soon.

Why point-in-time

Your backtest has a ghost fleet

Most holdings data quietly deletes the ships that sank. Every merger, delisting, and blow-up that once sat inside an ETF vanishes from the record — and your backtest inherits the bias.

Primary source

Built from SEC N-PORT filings — the monthly, audited disclosures every US ETF must file. Not scraped fund pages. Not a vendor's re-sale. The filing itself.

🕰️

As-of, not as-remembered

Every snapshot is what the fund actually reported for that period — holdings, weights, shares, market values — with the filing date preserved so you know exactly when the market knew it.

🪦

The dead stay aboard

Delisted, acquired, and renamed securities remain in the record with provenance-stamped identifier resolution. Survivorship bias is the product's reason to exist.

Free & Open Source

pequod-mcp — ETF holdings for AI agents

An MCP server that gives Claude, and any MCP-capable agent, the complete current holdings of any US-registered ETF plus a full identifier crosswalk. Apache-2.0. Runs locally.

# Install
pip install pequod-mcp

# Add to your MCP client config (e.g. Claude Desktop)
{
  "mcpServers": {
    "pequod": { "command": "pequod-mcp" }
  }
}

GitHub · PyPI · Docs

ToolWhat it does
get_etf_holdingsComplete N-PORT holdings for any US ETFfree
lookup_cikTicker → SEC CIK + entity metadatafree
resolve_tickerRaw ticker + exchange → normalized symbolfree
resolve_cusipCUSIP → ticker / FIGIfree
resolve_figiFIGI → ticker + venuefree
get_etf_holdings_historyFull point-in-time history — the Pequod database
The Pequod database

PIT history bundles

Per-ETF point-in-time holdings history for the N-PORT era (2019–present), refreshed quarterly. Parquet + CSV, versioned schema, provenance-stamped identifiers (ISIN · FIGI · ticker). No API required — download and join.

🧪

Free sample fund

A complete PIT history for one ETF, free — full schema, full history, so you can evaluate the data before buying anything.

Download sample →
Coming Soon

Full bundles

Single funds and fleet bundles, one-off or subscription. Survivorship-bias-free by construction, SEC-primary-source, schema-versioned so your pipelines never break silently.

Get launch pricing →

Be aboard when she sails

Launch announcements, sample data, and the story of how this dataset is built — on the AB Evergreen Analytics Substack. Subscribe free and you're on the waitlist.

Subscribe on Substack →

Or email info@ABAnalytics.dev