· where capital meets the Capitol

Methodology & Sources

The trade data on this site comes from official public records. This page explains where the data comes from, how the flags are computed — and, just as important, where the pipeline can be wrong. An accountability product owes you its own accounting.

Sources

FeedSourceWhat we take from it
House tradesClerk of the House financial-disclosure systemPeriodic Transaction Reports (PTRs): member, ticker, side, dates, amount bracket, options flag
Senate tradesSenate eFD (efdsearch.senate.gov), collected manually each weekPeriodic Transaction Reports: same fields plus asset type and owner (self / spouse / joint / dependent child) as filed. Each Senate row shows the filed date and our retrieval date.
Executive branchOffice of Government Ethics (OGE Form 278-T)Periodic transaction reports for the President and Senate-confirmed officials
Policy signalsFederal agency and government feeds (executive actions, FTC, SEC, CFTC, USTR, Fed, lobbying, contracts)Dated, sourced events tied to tickers where the text supports it
Insider tradesSEC Form 4 — EDGAR daily index (we read the Form 4s listed in each day's index; filings we cannot parse are not included)Open-market purchases and notable sales, aggregated per ticker
Company eventsSEC Form 8-K — EDGAR daily index, for companies already in our universeSelected 8-K items (for example results of operations, acquisitions, leadership changes, impairments, restatements), listed by filing date with the item titles as filed. Shown as background on the company, not as an explanation of any trade or price move.
Company context (posts on X)SEC EDGAR (10-K, 10-Q)In posts on X that name a person, a separate line may give the company's business description and reported figures (for example revenue and net income) as stated in its latest annual or quarterly report, with the form, period, filing date and a link. Background on the issuer only; we do not connect a company's filings to any filer's trade.
CommitteesThe public @unitedstates congress-legislators dataset (unitedstates.github.io), current assignmentsUsed only for the on-site committee-overlap flag. We use each member's current committee assignments at the time of our daily run, which may differ from those on a trade date. Committee lists in our posts on X are taken from official House and Senate committee pages, with an "as of" date.
Market dataPublic market prices (Yahoo Finance — a third-party price source, not a government record)Daily price moves for tickers in our universe; return-vs-SPY calculations

For disclosure data we go to the government record rather than to aggregators that republish it, so our numbers can be checked against the source: named trade rows link to the filing they came from where we have the link. Market prices are the exception noted above.

Update cadence

The pipeline runs daily (~11:00 UTC), pulls new filings from the House, OGE and other automated sources, re-computes every view, and publishes only after automated data-quality gates pass — a 100+ check logic suite, plus deploy gates verifying that every amount is a legal disclosure bracket and every count is internally consistent. If a gate fails, the site keeps yesterday's data rather than publish something wrong.

Senate filings are collected manually each week from efdsearch.senate.gov. Latest retrieval is shown on each page in ET. Filings made since then may not appear yet.

Where AI is used — and where it can't reach

AI summarizes; it does not write the ledger. Trade records (filer, ticker, side, dates, amount bracket) are produced by software that parses the filings, and no AI model writes or edits those fields. Scanned executive-branch filings are read with OCR (optical character recognition), which can misread characters — that is a known source of error (see Known limitations). AI-written layers (signal reads, the weekly briefing, Themes) are generated from the site's own data and checked by automated validation before publication; validation reduces, but cannot eliminate, errors, and such text is not a statement by any filer.

Investment Themes

Themes are a weekly synthesis of the evidence already on this site — nothing external, no news media. Two promises: a theme is published only when two or more independent evidence types point at the same story (congressional clusters, executive-branch trades, policy signals, contracts & lobbying, insider flow, company events, market reaction), and every theme carries a counter-argument — the strongest honest reason it might be wrong or already priced in. Each shows its as-of date and updates weekly. Themes are observations about where evidence agrees — context to research, not recommendations.

The flags

Disclosure timing (⏰). The STOCK Act sets a 45-day reporting window. We show how many days passed between the trade and its public disclosure; the flag appears when that is more than 45. We don't determine whether any filing met its legal obligations: due dates can move for weekends and holidays, and extensions may apply. Same count for members of Congress and executive-branch filers. One honest caveat: the executive branch accounts for most of the rows disclosed more than 45 days after the trade, because those reports often arrive in large batches — which is why the site shows members of Congress and executive-branch filers separately rather than one blended number.

Amended filings (House only). When a House periodic transaction report is an amendment, we don't compute the days between the trade and the disclosure from the amendment date, because that would overstate the gap; these rows are marked "amended filing, disclosure gap not computed." Senate amendments aren't detected yet, so their gap is still computed from the filing date shown.

Committee overlap (△). Shown when a member's report lists a transaction (in any owner's account, including a spouse's, joint or dependent child's) in a sector we map to a committee the member sits on. It is a coincidence of two public records, not an accusation — committee jurisdictions are broad, and the mapping (committee → sector) is deliberately coarse. Ambiguous member-name matches are dropped rather than guessed. Committee assignments are the member's current assignments at the time of our daily run, not necessarily those on the trade date. This flag appears only on the site; we do not use it in posts that name a person.

Convergence (◆). A ticker where disclosed trading and an active policy signal touch the same stock in the same window. Convergence is coincidence-surfacing, not causation — it tells you where to look, not what to conclude.

Amounts

Disclosures report dollar ranges, not exact figures ($1,001–$15,000 up to $25M+). Tables show the disclosed bracket. Where a single dollar figure appears (for example in totals or sizing flags such as BIG) it is a midpoint-based approximation of the bracket, not a reported amount. Amounts are validated against the standard bracket set before publish.

Conviction Score

A 0–100 score of the filer's disclosed transactions: how unusual is this transaction compared with the same filer's other reported transactions? Components are facts from the record — an options contract rather than stock, size several multiples of that filer's own typical trade, an active policy signal on the same ticker within the scoring window, corroborating member clusters or insider activity, a committee overlap. The score describes conduct. It is not a prediction of returns, not a recommendation, and not investment advice — our own backtest (below) is the reason we won't pretend otherwise.

Returns vs SPY

Every "vs SPY" figure is the same calculation. Entry is the first trading day on or after the disclosure date — deliberately. The disclosure is the first moment anyone outside the filer could act, so lag-inclusive performance is the correct measure of what following these filings is worth, not a limitation of it. Exit is the latest close (a held-to-today assumption; actual exits aren't knowable). Prices are dividend- and split-adjusted, and excess = the stock's return minus SPY's over the exact same window. Buys only — we don't assume anyone shorts a disclosed sale.

The leaderboard adds two guards against the ways scoreboards lie: a member needs 10+ priced buys to appear at all (below that is noise, not skill), and each trade's excess is capped at ±100% before averaging so one moonshot — or one bad price tick — can't crown someone who mostly underperforms.

Two smaller rules matter more than they sound. When a stock stops trading — delisted, halted, acquired — we measure both legs only to its last real close, rather than freezing the stock while SPY keeps moving; otherwise the passage of time alone would manufacture an apparent loss that nobody experienced. And when our price history doesn't cover a trade's disclosure date, that trade is left unpriced rather than entered at the nearest available price, which would quietly report a different trade than the one that was filed. Unpriced trades still count as disclosures — you'll see them in the filing counts — they just can't contribute to a return.

The two clocks — and what the lag actually costs

Every trade has two possible entry dates: the member's clock (the transaction date — how did the filer's own timing do?) and the copier's clock (the disclosure date — the first day anyone else could act). We measured both across ~3,300 priced House buys from 2024–2025. The result inverts the folklore: the lag segment itself — trade date to disclosure, median 21 days — averaged −1.1% against SPY. The "head start" was the worst-performing stretch. And on their own clock, members showed no timing skill either (six-month excess significantly negative). The 45-day window isn't hiding alpha from the public; there was no alpha on either clock. Caveats: overlapping windows cluster (significance overstated), and delisted names drop out — a bias that flatters these numbers, which are negative anyway.

The Record — every member of Congress and every executive-branch filer who clears the bar, nobody chosen

The folklore about congressional trading is about people ("the Pelosi effect"), while the Signal Lab tests rules. The Record is the other half: a forward track record for every member of Congress and every executive-branch filer who clears a minimum number of disclosed buys, measured exactly the way the Lab measures a strategy — entry on the disclosure date, equal weight per buy, against SPY over the same window, buys only.

We publish all of them — winners and losers. That is the point. The moment we chose which members to track, the result would be contaminated by that choice; tracking everyone who clears an objective threshold removes the selection entirely. The spread you see is the lesson: in any large group somebody is always on top. Whether you could have picked them in advance is a different question, and it's the one the Lab's rotating strategy exists to test.

Two honest cautions travel with every number. Sample size: a member with a handful of buys tells you nothing, and we say so on the page rather than letting the percentage speak. Multiple comparisons: with a hundred members tracked, several will look excellent through luck alone — we state roughly how many, so a striking figure can be read against the noise it came from.

Records are backfilled to the Lab's start date. That is legitimate here and nowhere else: the start date and the method were both fixed and published before any of these results existed, and because no member is selected there is nothing to tune. The weekly curve is reconstructed with as-of pricing — each point is what that record actually looked like on that date, not today's number painted backwards.

The Signal Lab

The copy-trade folklore deserves better than marketing claims in either direction — so we run it as a public experiment. Six strategies (copy everything, big bets, options, committee overlap, convergence, high conviction) were pre-registered before forward tracking began: rules frozen, every strategy reported every week, wins and losses alike, each against SPY bought the same day, entries at the disclosure date because that's the only trade a member of the public can actually make. A rule can never change after registration — a changed rule retires the strategy in public and starts a successor from zero. The copy-congress ETFs (NANC, KRUZ) race alongside as the market's real-money version. Paper positions, equal-weight, no transaction costs (which flatters every strategy — noted). The scoreboard reports what happened. It is not a recommendation of anything.

Known limitations

LimitationHow we handle it
Scanned filingsExecutive 278-Ts are scanned images — we OCR every page; unreadable rows are counted and monitored, never silently dropped or guessed. A minority of congressional filings are scanned paper with no text layer; those are skipped and counted. E-filed filings are parsed automatically; coverage is measured on every run and gaps are possible.
Name → ticker matchingOCR'd asset names that can't be matched to a validated ticker display honestly as unmatched assets — we never risk a wrong ticker. Congress feeds are e-filed and effectively fully tickered.
Non-ticker assets & optionsPrivate stock, funds and bonds appear in the ledger with their asset name and type (no ticker page to link). Options are detected from filing text for Congress; under-detection is likely.
Whose trade it isA filer's report can include transactions in an account held by a spouse, jointly, or by a dependent child. Where the filing says so we show Spouse, Joint, or Dependent child. When it does not specify an owner, we show Not specified. Self appears only when the filing uses an explicit self code. A row is not proof the named person made the decision.
Pricing & amendmentsDelisted names can't be priced for the vs-SPY views but stay in the ledger. Amended executive filings are de-duplicated against their originals.
CountsCounts are of de-duplicated transaction rows. On November 12, 2026 we fixed a de-duplication error, which changed some counts; see the corrections log. For a single report, the official filing's row count controls.
The no-edge disclosure. Before building this site we backtested the copy-trade idea: the House purchases we had ingested for 2024–2025 (~3,900 buys), bought at the disclosure date and measured against SPY over 1–12 month horizons. In aggregate: no reliable excess return — and our test's main bias (delisted losers dropping out) flatters member returns, so the true result is likely worse. Per-member samples are small, so we claim only that no one showed a reliable edge in this window, not proof about any individual. And the leaderboard doesn't contradict this: someone always shows positive excess after the fact — that's dispersion. An edge means knowing in advance who will, and the data didn't support that. We publish this and build for accountability, not alpha.

Corrections

See something wrong? Named trade rows link to the underlying filing — check us, then tell us: hello@bullandgavel.com. Our editorial policy & corrections page describes how we handle reports. Verified corrections ship in the next daily run.