The bottom line

The Stop Trading on Congressional Knowledge Act of 2012 (STOCK Act) requires members of Congress, senior staff, and certain federal officials to publicly disclose stock trades within 30–45 days of execution. The disclosures are real, public, and downloadable — but they have structural limitations: amounts are reported as ranges ($1,001–$15,000, $15,001–$50,000, etc.) rather than exact figures, the late-filing penalty is small ($200), and the disclosed activity often includes spouse / dependent trades the member may not have personally directed. Aggregated patterns are more interesting than any single trade.

Background: why STOCK exists

In the late 2000s, multiple academic studies suggested members of Congress earned abnormal returns on their personal stock portfolios. The argument: they have access to material non-public information (committee briefings, draft legislation, executive-branch testimony) and were not technically subject to insider-trading rules. Public outcry led to the STOCK Act, signed by President Obama in April 2012.

Key provisions:

  • Members of Congress and senior congressional staff must disclose securities transactions within 30 days of becoming aware of the transaction, but no later than 45 days after the transaction.
  • Transactions over $1,000 require disclosure.
  • Disclosures are made via Periodic Transaction Reports (PTRs) filed with the House Clerk or Senate Office of Public Records.
  • Annual financial disclosure reports continue (these are broader, with assets and income).
  • Members of Congress are clarified as subject to the same insider-trading prohibitions as everyone else.
  • Initially required searchable online databases (later partially walked back for security reasons).

What a PTR actually contains

A typical PTR (Periodic Transaction Report) fields:

  • Filer's name and chamber.
  • Asset (security name, ticker, type — stock, bond, mutual fund, ETF).
  • Owner — “SP” (spouse), “DC” (dependent child), “JT” (joint), “self.”
  • Transaction type — purchase / sale / exchange.
  • Transaction date.
  • Notification date — when the filer learned of the transaction.
  • Filing date.
  • Amount range, not the exact value.

The amount ranges are:

CodeRange
A$1,001 – $15,000
B$15,001 – $50,000
C$50,001 – $100,000
D$100,001 – $250,000
E$250,001 – $500,000
F$500,001 – $1,000,000
G$1,000,001 – $5,000,000
H1$5,000,001 – $25,000,000
......

A single transaction reported as “Code C” means $50–100k. You don't know if it was $51,000 or $99,000 — the range is wide enough that performance attribution is fuzzy.

Where the data lives

  • House: disclosures-clerk.house.gov/FinancialDisclosure — searchable by member, downloadable PDFs.
  • Senate: efdsearch.senate.gov — similar interface.
  • Aggregator sites mirror and structure the data:
    • House Stock Watcher — housestockwatcher.com — open-source, JSON API.
    • Senate Stock Watcher — senatestockwatcher.com.
    • Quiver Quantitative, various Twitter trackers.

The aggregators add value by parsing the PDFs into structured tables, surfacing late filings, computing per-member portfolio performance.

What the disclosures don't tell you

  • Exact amounts. Ranges only.
  • Underlying intent. A purchase by Senator X may be:
    • The Senator's own decision based on personal research.
    • A spouse's decision (often the spouse is professionally a money manager).
    • A blind-trust trade the Senator literally didn't know about until disclosure.
    • A managed account where decisions are made by an investment adviser.
  • Performance. PTRs are transactions only. To compute return, you stitch together with Annual Disclosures and historical price data — fuzzy because of the amount ranges.
  • Why the trade was made. No required justification.

The interpretive errors most retail observers make: assuming every disclosed trade is the member personally placing the order based on Capitol Hill conversations, when many are spouse / blind-trust / passive decisions.

The late-filing problem

The STOCK Act requires disclosure within 30–45 days. The penalty for late filing is $200 per filing by default (with possible discretionary increases). For members trading frequently, $200 is a parking ticket, not a deterrent.

Investigative reporting (the Wall Street Journal, Insider, and others) has documented dozens of late filings by members of both parties. The common pattern: a member discloses a trade weeks or months after the deadline, often during a period of relevant news cycle. The pattern itself is informative — frequent late filers often have a different view of the law than the spirit intended.

What the academic data actually shows

Research on STOCK Act-era congressional trades has produced mixed results:

  • Studies pre-STOCK Act suggested mild outperformance (Ziobrowski et al. 2004; Jenter 2014 critiques).
  • Studies post-STOCK Act find weaker-to-no abnormal returns when controlling for size, sector, and market beta.
  • Specific high-profile members (Pelosi, Crenshaw, others) attract media attention because of large positions and outsized returns, but those returns are partly luck and partly large equity allocation in a generally rising market.

Treat aggregate “Congress beats the S&P” claims with skepticism. The headline is almost always cherry-picked time periods or member-specific outliers.

What the data is genuinely useful for

Despite the limitations, congressional trade data has real signal value for:

  • Conflict-of-interest journalism. A senator on the Energy Committee buying oil-and-gas stocks during a relevant hearing is newsworthy regardless of whether the trade was profitable.
  • Civic accountability. Voters can see the financial activity of elected officials and weigh it.
  • Aggregated sector signals. A wave of congressional purchases in a specific industry can be a leading indicator of legislative activity.
  • Late-filing audits. Pattern detection on which members file late and how late.

It is not particularly useful for predicting individual stock returns. The data lag (30–45 days minimum, often longer) plus amount-range fuzziness erodes most of the alpha.

Worked example: how to read a single trade

PTR field: “Senator J. Doe (D-XX). Apple Inc (AAPL). Purchase. $50,001 – $100,000. Owner: SP. Transaction date 2026-03-15. Notification date 2026-04-12. Filing date 2026-04-25.”

Reading:

  • “SP” means the spouse made the purchase. Many congressional spouses are professional money managers; this may have nothing to do with the Senator.
  • 41 days from transaction to filing — within the STOCK Act window.
  • Amount: $50–100k. We know order of magnitude, not exact.
  • AAPL is one of the most-held stocks in any large diversified portfolio; this might be auto-rebalancing rather than a deliberate timing call.

This trade is unlikely to be tradable signal. A pattern of similar-sized purchases across multiple committee-sensitive sectors over multiple months would be more interesting — that's what aggregated trackers surface.

Common mistakes

1. Treating “Pelosi traded” as “Pelosi insider-traded.” Spouse trades dominate her PTRs; her husband is a venture capitalist with his own portfolio. Conflating the two is a media trope.

2. Following individual members' trades retail. The 30–45-day lag means by the time you see the trade, the news cycle has likely moved on. Backtested “copy Pelosi” strategies have not held up out of sample.

3. Forgetting committee context. A trade in industry X by a member of the committee that oversees industry X is more interesting than the same trade by a member with no committee jurisdiction.

4. Ignoring annual disclosures. The Periodic Transaction Reports are transactions; the Annual Financial Disclosures show holdings + income + agreements. Both matter for the full picture.

5. Assuming compliance is uniform. Late and missing filings are a known issue. The data you see is not the data that should exist.

Where infoz.com surfaces this

The future infoz.com Politicians vertical (when launched) will surface congressional trade data per member, with committee membership cross-referenced and aggregate trade activity by ticker and sector. The data sources are open (House Stock Watcher / Senate Stock Watcher); the value-add is editorial framing and the link to the underlying disclosure.

The framing rule for any politician-trade content on infoz: strictly factual, no partisan lean, no insider-knowledge speculation. “Trade data shows what was disclosed” — that's the headline.

What this guide does NOT cover

  • Annual financial disclosure (Form A) format and content
  • Federal executive-branch disclosure (separate filings via OGE Form 278)
  • Lobbying disclosure (LDA filings, OpenSecrets data)
  • Campaign finance (FEC filings)
  • State-level legislator disclosures (varies dramatically)
  • Foreign-principal registration (FARA)
  • Specific high-profile member trade controversies

For political-trade analysis involving real claims, the underlying PTRs are the source of truth. Aggregators and Twitter accounts add interpretation; treat both with the same skepticism you'd apply to any equity research.