Methodology
Data pipeline
Every holding on this site is derived from a public SEC EDGAR Form 13F-HR filing. This page describes the full path that takes a raw 13F XML document and turns it into the numbers you see on manager pages, stock pages, and the combined portfolio. For plain-English definitions of the terms used across the site, see the terminology page.
1. What we collect
We track institutional investment managers — registered investment advisors and other entities required by Section 13(f) of the Securities Exchange Act to disclose their long-equity U.S. holdings each quarter. The set of tracked managers is a curated list of ~80 focused, high-conviction investors (Berkshire Hathaway, Scion Asset Management, Appaloosa, etc.) rather than every 13F filer.
For each tracked manager we ingest every Form 13F-HR filing going back as far as EDGAR retains them. Form 13F-HR/A amendments are ingested too and supersede the original filing’s holdings for the same reporting period.
2. How we fetch filings
A nightly job polls EDGAR for new filings by each tracked manager’s CIK. We identify ourselves with a fair-access User-Agent header carrying a contact address, as the SEC requires, and we respect EDGAR’s published request-rate limits.
Filings are stored with their accession number, the SEC’s unique identifier for the document. Every holding row on this site carries the accession number of the filing it came from, so any figure can be traced back to its source document.
3. Parsing
A 13F-HR filing contains an information table listing each reported position. For each row we extract the issuer name, CUSIP, reported market value, share or principal quantity, share type (shares vs. principal), investment discretion, and whether the row is an option (put/call) position.
Reporting date, not filing date. Holdings are assigned to the quarter of their reporting date, not their filing date. A filing submitted in mid-August reporting positions as of 30 June is assigned to Q2. This matters: 13F filings are due up to 45 days after quarter-end, so filing date and reporting period routinely fall in different quarters.
Amendments. Form 13F-HR/A amendments supersede the original filing’s holdings for the same reporting period, so a figure shown today can change if a manager later restates it. We keep the amendment history rather than silently overwriting.
Value units. Historically some filers reported the value column in thousands of dollars rather than whole dollars. We detect and normalise these so every value on the site is expressed in whole dollars and is comparable across managers.
4. Normalisation
CUSIP to ticker. 13F filings identify securities by CUSIP, not ticker. To show a tradeable symbol and fetch prices, we map each CUSIP to a ticker against an authoritative security-master source. The mapping is imperfect and we handle several known cases:
- Multiple share classes (BRK-A vs. BRK-B, GOOG vs. GOOGL) map to distinct CUSIPs and are kept distinct.
- Ticker changes, mergers, and delistings — a company keeps its CUSIP through a rebrand or corporate action; we resolve to the symbol appropriate for the reporting period.
- Unmappable CUSIPs are shown with the issuer name from the filing but without a linked price.
Issuer names. Filers spell the same issuer inconsistently (“APPLE INC”, “Apple Inc.”). We normalise to a canonical name per security so aggregates group correctly.
5. Pricing
Position values in a 13F are the manager’s reported market value as of the reporting date. To show current prices, 52-week ranges, and to compute the backtest, we use separate market data from a third-party provider. Prices are delayed and indicative, refresh daily, and are for reference only — not real-time quotes and not for trading decisions. Historical prices used in the backtest are adjusted for splits and dividends.
6. Derived views
From the normalised holdings we compute:
- Manager portfolios — the holdings for a manager at a reporting period, with position weights.
- Quarter-over-quarter activity — new positions, exits, adds, and trims, computed by diffing consecutive reporting periods for the same manager.
- The combined portfolio — aggregate holdings across all tracked managers, weighted by reported value.
- Stock pages — the inverse view: which tracked managers hold a given security, and at what aggregate value.
- The copy-investor backtest — see the backtest methodology for the full computation.
7. Data freshness
13F filings are disclosed with a lag of up to 45 days after quarter-end. This is a legal reporting requirement, not a limitation of this site. It means AlphaBaseline reflects what managers held at the reporting date, not live positions. For roughly the first 45 days of each quarter, the most recent available data is the previous quarter’s filing — a manager whose latest filing is the latest filing that exists is current, not stale, regardless of how long ago it was filed.
8. Known limitations
We publish these because a methodology you cannot criticise is not a methodology.
- 13F covers long U.S. equity only. It excludes cash, bonds, non-U.S. listings, short positions, most derivatives, and wholly-owned operating subsidiaries. A 13F portfolio is not a manager’s total assets under management.
- The 45-day lag is real. Positions may have been sold before you read about them.
- Amendments restate history. A figure shown today may change if the manager files a 13F-HR/A.
- Confidential treatment. Managers may request confidential treatment for positions, which are omitted from the public filing and therefore from this site.
- Parser and mapping edge cases. We pull directly from EDGAR but cannot guarantee every path catches every quirk. The source filing on EDGAR is the canonical record — if you spot an error, please tell us.
- The backtest is a model, not a track record. It is not the manager’s actual return. See the backtest methodology for what it does and does not represent.