Market Data

How to Read a 13F Filing (Fields, Timing, and Gotchas)

What a 13F filing is, who has to file one, the 45-day reporting lag, and the fields and gotchas that trip people up when reading institutional holdings.

Updated July 2, 202611 min read
How to Read a 13F Filing (Fields, Timing, and Gotchas)

The short version

A Form 13F is the quarterly SEC filing where institutional managers with $100M or more in qualifying U.S. securities disclose their long positions: issuer, CUSIP, share count, dollar value, and option flags. It is due 45 days after quarter-end (2026 deadlines: Feb 17, May 15, Aug 14, Nov 16), so every filing is a lagged snapshot, never a live portfolio. It omits shorts, cash, bonds, and most non-U.S. holdings. The Q1 2026 cycle alone had 1,824 filers reporting 1.87M positions worth $53.7T. The signal lives in the quarter-over-quarter delta, measured in shares rather than dollars, with option legs kept out of the long book.

What is a 13F?

Form 13F is mandated by Section 13(f) of the Securities Exchange Act. Any institutional investment manager exercising discretion over $100 million or more in "13(f) securities" must file one every quarter, listing those positions. The covered universe comes from an official SEC list and is mostly U.S. exchange-listed equities, plus certain ETFs, convertibles, and listed options on those names.

Three details matter more than the definition:

  • It is filed by the manager, not the fund. One 13F can aggregate several funds and managed accounts under a single adviser. When you look at a famous stock picker's "portfolio," you are usually looking at the firm-level book, not a single strategy.
  • The filer set skews institutional. The $100M threshold means hedge funds, banks, insurers, pension advisers, and large RIAs. Crossing the threshold creates the obligation, so small managers fall in and out of the dataset over time, which matters when you build history.
  • The scale is real. The Q1 2026 cycle had 1,824 filers reporting 1.87M positions worth $53.7T. It is the closest thing that exists to a public census of institutional U.S. equity ownership.

Restrained editorial illustration of an analyst workstation with unreadable chart shapes: image for

The timing gotcha (read this first)

The 13F reporting lag. Read every filing with this delay in mind.

A 13F reflects holdings as of quarter-end, but managers have 45 days to file. When the 45th day lands on a weekend or holiday, the deadline rolls to the next business day, which is why the 2026 deadlines fall on February 17, May 15, August 14, and November 16.

Two practical consequences:

  • Filings cluster at the deadline. Managers who want to keep their positioning quiet for as long as legally possible file in the final hours. If you poll EDGAR for a given quarter, expect a trickle for weeks and then a flood on deadline day. Any "what did funds buy" analysis run before the deadline is sampling the early filers, who are not a representative set.
  • The snapshot can be stale before anyone sees it. A manager may have exited, doubled, or hedged a position between quarter-end and the filing date. If you need fresher ownership signals, faster forms exist: insiders report trades on Form 4 within 2 business days, and investors crossing activist thresholds file a 13D within 5 business days.

This lag is the single most important thing to internalise: a 13F tells you what someone held, not necessarily what they hold now.

The fields you'll actually read

Field What it means
Issuer / name of security the company held (free text, typed by each filer)
CUSIP the security's identifier (how you join to a ticker)
Value reported market value of the position at quarter-end
Shares (or principal) size of the holding, with a shares-vs-principal type flag
Put/call flag present when the row is an option leg, not common stock
Investment discretion sole vs. shared discretion (shared rows can be double counted across filers)

Here is what a single position looks like in the raw filing XML, simplified:

<infoTable>
  <nameOfIssuer>EXAMPLE CORP</nameOfIssuer>
  <cusip>12345A108</cusip>
  <value>50000000</value>
  <shrsOrPrnAmt>
    <sshPrnamt>1000000</sshPrnamt>
    <sshPrnamtType>SH</sshPrnamtType>
  </shrsOrPrnAmt>
  <putCall>Put</putCall>
  <investmentDiscretion>SOLE</investmentDiscretion>
</infoTable>

Read naively, this looks like a $50,000,000 long position in Example Corp. The putCall tag says otherwise: it is a put option reported as underlying-share equivalents, which is bearish exposure dressed up as the manager's holding. Skipping that one tag inverts the meaning of the row.

One more unit trap: older filings reported value in thousands of dollars, while modern filings report whole dollars. A historical join that ignores the unit change makes legacy books look off by a factor of a thousand. Any pipeline that compares value across years has to normalize this first.

The big gotchas

  1. No shorts. 13F is long-only disclosure. A fund can be net short a name that appears long in its filing, because the long leg of a pair trade or a hedge shows up while the short side never does. You cannot compute net exposure from a 13F alone.
  2. No cash, bonds, or most non-U.S. holdings. The 13F total is not AUM. Two managers with identical 13F books can be running very different portfolios once cash, credit, and overseas listings are counted.
  3. Options are reported as underlying share equivalents. Summed naively, a large put position can render as the manager's biggest "holding" and flip your read of their book from bearish to bullish. Keep option legs separate from the long book; the mechanics are in 13F options, puts, and calls explained.
  4. CUSIP-to-ticker mapping is on you. Identifiers change through corporate actions, share classes confuse joins, and issuer names are free text, so the same CUSIP arrives under many spellings across filers. You need a resolution layer, not a string match.
  5. Amendments come in two flavors. A 13F/A can be a restatement, which replaces the original filing, or a new-holdings amendment, which adds to it. Treat them identically and you either double count positions or collapse real ones. The supersession rules are in 13F amendments explained.
  6. Dollar deltas lie. Reported value is marked at quarter-end prices, so a position's value can move sharply with zero trading. Conviction changes live in share counts, not dollars.

Classifying the delta: a decision table

The raw snapshot is rarely the point. The point is what changed since last quarter, and classifying that change correctly has edge cases:

Last quarter This quarter Label The caveat
Absent Shares > 0 New If this is the manager's first filing you can see, everything looks "new." A first-tracked quarter is not a buying spree.
Shares > 0 More shares Added Rule out splits and other corporate actions before calling it a buy.
Shares > 0 Fewer shares Trimmed Could be a partial exit, a distribution, or rebalancing. Size the trim before reading intent.
Shares > 0 Absent Exited 13Fs never list what was sold to zero. Every "exits" feed is derived by diffing quarters, so its quality depends entirely on the differ.
Same shares Same shares Held Any value change here is price drift, not a decision.

The exited row is the trap most people fall into. Because the form only lists current holdings, an exit is an inference, and the inference breaks when an amendment restates the prior quarter or when a manager's filing is late. If a tool hands you exits without explaining how it derived them, ask.

How to pull 13F data programmatically

Reading one filing by hand is fine. Tracking hundreds of managers across quarters, mapping CUSIPs, separating option legs, and computing changes is not. This is what an API is for. Arkolith ingests SEC EDGAR 13F-HR filings, resolves identifiers, applies amendment supersession, and computes quarter-over-quarter changes, each datapoint sourced back to the original filing. Browse the 13F data layer, inspect the funds directory, or query it via the API and MCP server.

Example REST flow, resolve the manager, then pull holdings with computed deltas:

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://arkolith.com/api/v1/search?q=berkshire"

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://arkolith.com/api/v1/funds/<cik>/holdings"

For agent workflows, use the MCP quickstart and let the assistant fetch holdings directly. The rule should be strict: every stated position, value, and filing date must come from a tool result with source metadata attached. An agent that quotes a holding without an accession number behind it is guessing.

A practical reading workflow

Step What to check Why it matters
1 Filing period and accepted date Separates the quarter-end snapshot from the public release date
2 Manager identity Avoids mixing similarly named funds or advisers
3 CUSIP and issuer Lets you join the filing to tickers and company pages
4 Put/call flags Keeps bearish option legs out of your long-book math
5 Quarter-over-quarter delta, in shares Shows what changed without price drift polluting the read
6 Source filing link Keeps the answer auditable

Do not treat a 13F as a trading signal by itself. A manager may have exited the position after quarter-end, hedged it with derivatives, or reported an option position that looks larger than the economic exposure. The filing is still valuable because it gives you a standardized, source-backed ownership spine. The edge comes from cleaning it, joining it, and comparing it consistently.

How it connects to other filings

13F answers "what did large institutions report holding?" It does not answer every ownership question, and it is the slowest disclosure in the stack. Pair it with the faster forms:

  • Form 4 insider data for director and officer transactions, reported within 2 business days. Arkolith tracks 51,000+ insider transactions alongside the 13F spine, so you can check whether insiders and institutions agree on a name.
  • 13D/G filings when you care about activist or beneficial ownership thresholds; a 13D lands within 5 business days of crossing the line, months before the same stake shows up in a 13F.
  • Company and stock pages when you need the issuer context around a reported holding.

That cross-filing view is why a source-backed data layer matters. A model should not guess whether a CUSIP maps to the right ticker or whether a transaction belongs to the same issuer. It should fetch, resolve, and cite.

Restrained editorial illustration of an analyst workstation with unreadable chart shapes, alternate view: image for

Frequently asked questions

How often are 13Fs filed?

Quarterly, due 45 days after each calendar quarter-end. For 2026 the deadlines are February 17, May 15, August 14, and November 16, with weekend dates rolled forward to the next business day.

Who has to file a 13F?

Institutional managers with $100M+ in 13(f) securities under discretion. That covers hedge funds, banks, insurers, pension advisers, and large RIAs, and the filing happens at the manager level, often aggregating several funds into one document.

Does a 13F show short positions?

No. It is long-only disclosure of U.S. equity (and some listed options) positions, so a fund can be net short a name that appears long in its filing. Reported put options are the only bearish exposure visible, and only if you read the put/call flag.

How fresh is 13F data when it arrives?

Positions are reported as of quarter end but can be filed up to 45 days later, so the data is already six to ten weeks old when it becomes public. Treat it as a map of committed capital, not a live trading feed.

Why did a position's value change when the share count didn't?

Because the reported value is marked at quarter-end prices, value moves with the market even when the manager did nothing. Compute conviction changes from share counts, and treat value-only moves as price drift rather than trading activity.


Arkolith turns raw 13F filings into clean, sourced, queryable data. Browse 13F data, get a key, or connect an agent with the MCP quickstart.

#13F#SEC EDGAR#hedge funds#institutional holdings#filings