What is a 13F filing?

A Form 13F is the quarterly disclosure that institutional investment managers with at least $100 million in qualifying assets file with the SEC, listing their long equity positions as of the end of each quarter.

The short answer

13F filings are how the public sees what hedge funds, mutual funds, pension funds, and other large institutional investors are holding. They're filed quarterly, within 45 days of quarter-end, and they cover long positions in U.S.-listed equities and certain options.

What 13Fs don't show: short positions, cash, fixed income, foreign-listed equities, or any position taken on after the quarter-end snapshot date.

Who has to file a 13F

Any "institutional investment manager" that exercises investment discretion over at least $100 million in 13F-reportable securities at any point during the year. Once they cross the threshold, they file for the next four quarters minimum.

This includes:

  • Hedge funds (Berkshire Hathaway, Pershing Square, Bridgewater, Renaissance, etc.)
  • Mutual fund advisors
  • Bank trust departments
  • Pension funds
  • Insurance company investment arms
  • Family offices large enough to qualify

What's in a 13F

Each 13F-HR (the standard form) contains:

  • Cover page — the filer's name, address, CIK, and a summary count of holdings.
  • Information Table — the actual line items. Each row has:
  • - Issuer name — e.g. "APPLE INC" - CUSIP — the security identifier - Class of security — usually "COM" for common stock, but can be call/put options - Value (in thousands) — market value of the position at quarter-end - Shares or principal amount - Investment discretion (sole, shared, etc.) - Voting authority breakdown

A single 13F can have anywhere from a handful of positions (concentrated funds) to tens of thousands (index funds and large asset managers).

When 13Fs are filed

13F filings are due 45 days after the end of each calendar quarter:

| Quarter ends | 13F deadline | |---|---| | March 31 | May 15 | | June 30 | August 14 | | September 30 | November 14 | | December 31 | February 14 |

The 45-day lag is the biggest weakness of 13F data as a trading signal. By the time a 13F shows up, the holdings information is between 1 and 75 days stale, and the manager may have already changed positions.

Some funds also file Form 13F-NT (a "notice" filing) when their holdings are already reported by another manager, and 13F-CTR (confidential treatment request) when they want to delay disclosure of certain positions.

Why 13Fs matter

Three big use cases:

  1. Track what specific managers are doing. Berkshire's 13F is one of the most-read documents in finance. Same for Pershing Square, Third Point, Greenlight, etc.
  2. Quantify crowding. If 200 hedge funds all own the same name, the position is crowded, and exits can cascade. 13F data is the cleanest way to measure this.
  3. Find new ideas. Some retail and professional investors clone the best holdings from the funds they respect.

13F data also feeds index construction (smart-beta products that tilt toward hedge-fund consensus), academic research on institutional behavior, and risk models.

How to get 13F data programmatically

The SEC publishes every 13F as XML on EDGAR. The full set is huge — over 5,000 filers per quarter, sometimes with tens of thousands of holdings each. Direct parsing is doable but has friction:

  • The XML schema changed in 2013 and again in 2022. Older filings need a separate parser.
  • CUSIPs in the filings have to be mapped to tickers (the SEC doesn't include them).
  • Filings often arrive in a burst between days 35-45 of the quarter, so your ingest pipeline needs to handle volume.

EdgarKit normalizes all of this. Holdings are returned with ticker, CUSIP, value, shares, and a stable manager CIK so you can query across quarters:

curl "https://api.edgarkit.com/v1/filings?form_type=13F-HR&manager_cik=0001067983&limit=1" \
  -H "Authorization: Bearer YOUR_API_KEY"

Returns Berkshire Hathaway's most recent 13F as JSON, with positions ranked by value.

Strengths and limits of 13F data

Strengths:

  • Cheap source of institutional positioning, free at the SEC, fully auditable.
  • Long history (filings go back decades).
  • Required by law, so coverage is comprehensive within scope.

Limits:

  • 45-day lag makes it nearly useless for short-term trading.
  • No shorts, no fixed income, no cash, no foreign equities.
  • Confidential treatment requests can delay disclosure of building positions.
  • Snapshot, not flow — you see what's there at quarter-end, not how it got there.

Pairing 13F with other filings

The strongest signals come from combining 13F data with:

  • Form 4 (insider buying) — when both insiders and institutions are accumulating, that's confluence.
  • 13D/G (activist positions) — see 13D vs 13G. A 13D filer's holdings are also disclosed in their 13F but with different intent.
  • 8-K material events — large institutional buyers often disclose in 13F right after a positive 8-K.

FAQ

How often are 13Fs filed?

Quarterly. The filing deadline is 45 days after the end of each calendar quarter, regardless of the fund's fiscal year.

Are short positions on a 13F?

No. 13Fs only cover long positions in 13F-reportable securities (mostly U.S.-listed equities and certain options). Short positions are not disclosed publicly through this form.

Why is there a 45-day delay?

Congressional balance between transparency and giving managers time to finish building positions. There have been many proposals to shorten the lag (some down to 10 or 15 days), but as of 2026 the 45-day window still applies.

What's the difference between 13F and 13D/G?

A 13F is a quarterly disclosure of an institution's long book. A 13D or 13G is filed within 10 days of crossing 5% ownership in a single issuer and includes intent (activist or passive). They cover different things and are filed on different schedules.

Can I trust 13F data for backtesting?

You can backtest using 13F data, but you have to be careful about point-in-time correctness. Use the *filing date* as the data-availability date in your backtest, not the *as-of date* on the filing itself. Otherwise you're using information that wasn't actually public yet.