Stock+All comparisons

Research

Notice lag in House stock disclosures

How long House stock trades actually take to reach the public record, measured from the filings themselves. Computed 2026-08-27.

Notice lag is the number of days between a stock trade and the date the filer says they were notified of it. Members of the US House disclose both dates on periodic transaction reports under the STOCK Act, covering their own, spousal and dependent-child accounts. Notice lag measures the delay before the 30-day filing clock starts.

This study covers the US House of Representatives only. The Senate files through a separate system that we do not ingest, so nothing here describes Congress as a whole.

Every periodic transaction report carries three dates. Most trackers only publish two of them.

  1. 1The trade. The day the security was bought or sold.
  2. 2The notification. The day the filer says they were told about it. Printed on the report, absent from every tracker feed we have checked, and the day the STOCK Act's 30-day clock starts.
  3. 3The filing. The day the report reached the House Clerk.

Date 1 to date 3 is what every published congressional-trading figure measures, because it is all a scraped feed contains. This study measures date 1 to date 2, which we call notice lag, and date 2 to date 3, the filing lag. Splitting them is the point: they have different causes and only the second belongs to the filer.

Scope at a glance

Chamber
US House of Representatives
Filing years
2019 to 2026
Reports analysed
3,730 of 4,513 in the Clerk index
Transactions analysed
36,360
Filers covered
262
Computed on
2026-08-27
Source
disclosures-clerk.house.gov
Licence
Public domain (CC0)

What we found

  • Across 36,360 House transactions filed between 2019 to 2026, the median notice lag is 12 days and the median filing lag is 10 days, for a median total of 28 days between a trade and its disclosure.
  • In 53.45% of transactions, more time passes before the filer says they were notified than the filer then takes to file. The delay the public experiences is not mostly the filer's paperwork.
  • 7,836 transactions, 21.55% of the total, reached the Clerk after the binding statutory deadline had passed. That test needs the notification date, so it is not reproducible from any tracker feed.
  • How late Congress looks depends almost entirely on an unstated filter. Among trades disclosed in the same calendar year they happened, 8.52% are past the 45-day ceiling. Among the 14.75% of transactions disclosed in a later year, 60.46% are.
  • The distribution is tight in the middle and very long at the end: the 90th percentile filing lag is 40 days, the 99th is 878 days, and the longest single gap is 2,349 days.
  • On time is still old. A report filed exactly on deadline describes a trade up to 45 days in the past, so none of these figures make disclosure data a real-time signal.

How the deadline actually works

The STOCK Act sets two deadlines, not one, and a filing has to satisfy both. A periodic transaction report is due no later than 30 days after the filer receives notification of a transaction, and in no case later than 45 days after the transaction itself. The binding deadline is whichever of those two dates falls first.

That distinction is the reason two trackers can disagree about whether the same filing was late. A tally built from a scraped feed can only see the transaction date and the filing date, so it can only test the 45-day ceiling. Testing the 30-day clock needs the notification date, and the notification date exists in only one place: the source PDF.

It also has a consequence that is easy to miss. When a filer is notified on the day of the trade, which happens for about one transaction in six, 30 days from notification falls well before 45 days from the trade, so the binding deadline is day 30 and the 45-day figure never applies. A tally that tests only the 45-day ceiling is therefore measuring a deadline that, for a large share of filings, was never the operative one.

The notification date is why this study is possible and why it is not a re-run of an existing one. We read it off the filings themselves, so we can report both tests and the difference between them.

For the full rules, the fee schedule and what the filings do and do not contain, see the STOCK Act disclosure rules, and congress stock trades for the background on the filings themselves.

How long filings actually take

Three clocks, measured across the same 36,360 transactions. The first is notice lag, the wait before the filer says they were told. The second is filing lag, the time the filer then took. The third is the total distance between a trade happening and the public being able to see it, and it is the only one any other tracker can measure.

MeasureMedianMean90th pct99th pctMax
Notice lag (trade to notification)1225.9343173,660
Filing lag (notification to filing)1045408782,349
Total (trade to filing)2870.91159173,698

All figures in days, across 36,360 transactions from 262 filers. Notice lag and filing lag sum to the total for each transaction, but their medians do not sum, because the transaction sitting at the median of one is not the transaction at the median of the other.

The two halves are not interchangeable. Notice lag is a function of how a broker or adviser reports, and 16.33% of transactions are notified on the day they happen while others take weeks. Filing lag is the filer's own. Taken across the whole period, notice lag accounts for 36.53% of the total elapsed days, while in 53.45% of individual transactions it is the larger of the two. Those two framings disagree because the extreme tail is dominated by filing lag, so we publish both rather than picking the flattering one.

Filings that arrived outside the window

The statute sets two deadlines and a filing must satisfy both, so there are two separate tests and they do not give the same answer. Every published tally we are aware of reports the first one, because it is the only one computable without the notification date. The second is the one this study adds.

TestTransactionsShare
Past 45 days from the trade5,88316.18%
Past 30 days from notification5,58515.36%
Past the binding deadline, whichever fell first7,83621.55%

Denominator is 36,360 transactions. These are measured gaps between dates, not findings of wrongdoing: the Committee on Ethics can grant extensions and does not publish them.

Why published figures disagree

Before quoting any compliance number, including ours, it is worth knowing how much the answer moves with a single unstated choice. Split the same 36,360 transactions by whether the trade happened in the same calendar year it was disclosed in, and the two halves barely look like the same dataset.

TransactionsCountShareMedian trade to filingPast 45 days
Disclosed in the year they happened30,99685.25%27 days8.52%
Disclosed in a later year5,36414.75%251.5 days60.46%

A view of the data restricted to recent trades contains almost none of the second group, because a trade disclosed three years late is not a recent trade. That single filter is enough to move the headline by roughly an order of magnitude, and it is rarely stated. Every figure elsewhere on this page uses the full set: every transaction in every report we could read, whenever the trade happened.

The longest gaps

The ten reports containing the longest filing lags, each linked to the document it came from. This table is grouped by report rather than by transaction, and that is not a presentation choice. A single catch-up report disclosing years of missed trades produces hundreds of individually enormous gaps, so a list of the ten longest transactions would be ten rows from one document and one person. What actually happened is one filer disclosing a backlog on one day.

The owner column is printed because it changes what a row means. Many periodic transaction reports cover a spouse, a dependent child, or an account run by an adviser under a standing mandate, and a table printing only the member's name reads as though the member placed the trade. Where a report mixes owners, the column says mixed rather than picking one.

FilerSeatAccountTransactionsTrades coveredFiledLongest filing lagSource
Richard W. AllenGA12Mixed1342017-02-03 to 2023-07-172023-08-102,349 daysPDF
Thomas SuozziNY03Filer762017-12-06 to 2022-11-292022-12-191,814 daysPDF
Ruben GallegoAZ03Filer22019-08-27 to 2022-06-142024-08-131,813 daysPDF
Thomas SuozziNY03Filer4502017-01-05 to 2021-08-262021-09-231,697 daysPDF
Thomas SuozziNY03Filer312017-09-05 to 2021-06-012022-03-031,615 daysPDF
Warren DavidsonOH08Filer42018-05-17 to 2020-09-212021-03-251,043 daysPDF
Brenda Lulenar LawrenceMI14Spouse182016-12-27 to 2019-08-122019-08-21967 daysPDF
Tom MalinowskiNJ07Filer862019-01-28 to 2021-03-092021-08-26937 daysPDF
Richard Dean McCormickGA06Filer332023-03-152025-09-17891 daysPDF
Tom MalinowskiNJ07Filer482019-01-18 to 2020-08-242021-07-09889 daysPDF

Names are reproduced as recorded in the Clerk's own index, which is why some include a middle name. Amended and deleted transactions are excluded, so no row here is a correction to an earlier report.

A long gap is a paperwork outcome. It is not evidence that a trade was informed by the filer's work, and nothing here makes that claim about anyone named above.

How the gap has moved

By filing year, so a report filed in January covering a December trade belongs to the January year. Read this alongside the coverage table below: a year whose parse rate moved more than its median did has a data story, not a behaviour story.

Filing yearReportsTransactionsMedian gap90th pctPast deadline
20194914,935133520.51%
20205366,4951218326.37%
20215465,10213361.632.34%
20224753,234103416.05%
20233653,976112710.41%
20243832,50142219.63%
20254377,32093022.46%
20263102,797513414.05%

What we could and could not read

Paper filing is still permitted, and a paper filing arrives as a scanned image with no text layer, which no parser can read. Those reports are in the denominator and excluded from every lag figure. Publishing this table is also how a future break becomes visible: if the share of candidate rows we keep drops between refreshes, the Clerk changed something and the numbers above moved for a reason that has nothing to do with Congress.

Filing yearReports in indexParsedNo text layerCoverageRows kept
201968351816375.84%99.56%
202073359713681.45%99.8%
202168056311582.79%99.86%
202262450311980.61%99.92%
20234603857283.7%99.6%
20244513925786.92%99.31%
20255154496687.18%100%
20263673234388.01%99.66%

Excluded from the figures above and counted here instead: 502 amended and 40 deleted transactions, 395 rows whose amount did not match one of the ten statutory brackets, and 157 rows with impossible date ordering.

Method

Every filing year is downloaded as the House Clerk's own index of financial disclosures, and every entry marked as a periodic transaction report is fetched as its source PDF. Text is extracted with pdftotext in layout mode, and each transaction is read as a block rather than a line, because the amount, the ticker and the filing status routinely wrap onto following lines.

For each transaction we take three dates directly from the filing: the transaction date, the notification date, and the filing date recorded in the Clerk's index. The deadline is computed as the statute writes it, as the earlier of 30 days after notification and 45 days after the transaction. Nothing is imputed. A transaction missing either date is not counted.

The complete generator is one script in the site's repository, and the per-transaction file below is its output, so any figure on this page can be recomputed from the same public sources without asking us for anything.

Source
disclosures-clerk.house.gov, the Clerk's own disclosure index and the periodic transaction report PDFs it links to. No aggregator sits between us and the filing.
Amendments and deletions
Each transaction on a report carries its own filing status: new, amended, or deleted. An amendment corrects an earlier report and carries a filing date that can be months later, so counting it as the disclosure date would invent lateness that did not happen. Amended and deleted transactions are excluded from every figure and counted separately.
Amount validation
The House discloses amounts as one of ten statutory brackets, never an exact figure. A parsed row whose lower bound is not one of those ten brackets is a misread rather than a trade, and is dropped and counted.
Impossible dates
A notification cannot precede its own transaction, and nothing can be filed before it happened. Rows failing either test are dropped and counted.
Filing year
Transactions are grouped by the year of the index they were filed in, which is the filing year and not the trade year. A report filed in January covering a December trade belongs to the January year.
No party join
The Clerk's index carries no party field. Rather than attach one from a roster that is current, and therefore wrong for every member who has since left, the per-transaction file carries each filer's seat so you can join party from a public roster yourself and see exactly what you joined.

The data

Every transaction behind every figure on this page, one row each, with all three dates and the link to its source filing. This is the file, not a sample of it.

Download the dataset (CSV)

ColumnWhat it is
doc_idHouse Clerk document ID for the filing
filing_yearYear of the Clerk index the filing appeared in
memberFiler name as recorded in the index
state_districtSeat, so you can join party from a public roster yourself
ownerSP spouse, DC dependent child, JT joint, blank for the filer
tickerTicker as printed on the filing, blank where none is given
assetSecurity as described on the filing
transaction_typeP purchase, S sale, E exchange
amount_low, amount_highThe statutory bracket, not an exact amount
transaction_dateDate of the trade
notification_dateDate the filer says they were notified
filing_dateDate the report reached the Clerk
days_notification_to_filingThe notification gap
days_past_deadlineDays past the earlier of the two statutory deadlines, negative if inside
source_urlDirect link to the filing PDF

36,360 rows, covering filing years 2019 to 2026. Rebuilt quarterly. Released under CC0: the source filings are US Government works and carry no copyright.

What this study cannot tell you

Scope is the House of Representatives only. The Senate files through a separate system at efdsearch.senate.gov, in a different document format, and we do not ingest it. Every number on this page describes House filings.

We do not publish a violation rate. A filing outside the window is not automatically a violation. The House Committee on Ethics can grant extensions and fee waivers, and it does not publish them, so a filing that looks late here may have had permission to be late. We report the measured gap between two dates and leave it as that.

The notification date is the filer's own attestation. The 30-day clock starts when the filer says they were notified, that date is printed on the report, and nobody outside the filer's household can verify it. This study takes it at face value, which is what the statute does. Our figures therefore describe compliance with a deadline whose start date each filer supplied.

Coverage is not complete and it never can be. Paper filing is still permitted, and paper filings arrive as scanned images with no text layer that no parser can read. Those filings are counted in the denominator and excluded from every lag figure, and the count for each year is in the coverage table above.

Filing late and trading on information are different things. A late report is a paperwork failure. It is not evidence that a trade was informed by the filer's work, and this study makes no such claim about anyone named on this page.

A report that arrives on time is still old. Thirty days from notification is a deadline, not a target anyone beats by much, and even a report filed the day it was due describes a trade that is already weeks old. Nothing here makes disclosure data a real-time signal.

These numbers will change. Filings for a given year keep arriving for years afterwards, and amendments arrive later still. Every figure on this page carries the date it was computed.

Nothing on this page is investment advice.

How to cite this

This study is free to quote, republish and build on. The underlying filings are works of the US Government and carry no copyright, and we release the derived dataset into the public domain under CC0. You do not need our permission and you do not need to ask.

If you use it, a link back is the whole ask. That is the only thing this page is for.

Corrections

If a figure here is wrong, or a filing is attributed to the wrong person, we want to know and we will fix it and say that we did. Email [email protected] with the document ID and we will check it against the source PDF.

Corrections issued since publication: none yet. When there are any, they will be listed here with the date and what changed, rather than edited away.

Questions people ask

How late do members of Congress file their stock trades?

It depends entirely on which transactions you count, which is the main finding of this study. Counting only trades made and disclosed in the same calendar year, which is what a recent-window view of the data shows, very few look late. Counting every transaction in the filings, including trades disclosed years after they happened, the share past the 45-day ceiling is roughly ten times higher. The median filing is quick and a long tail arrives years late, so any single answer depends on a filter that is usually left unstated.

What is notice lag?

Notice lag is the number of days between a stock trade and the date the filer says they were notified of it. It is the delay before the STOCK Act's 30-day filing clock starts running. The interval after it, from notification to the report reaching the House Clerk, is the filing lag. Together they are the total time before a trade becomes public.

Why split the delay into two parts at all?

Because the two halves have different causes and only one of them belongs to the filer. The days before a filer is notified are a function of how their broker or adviser reports, and a managed account can take weeks to surface a trade. The days after notification are the filer's own. A single trade-to-filing figure blends the two and cannot tell a filer who sat on a report apart from one who filed the day they were told.

Why can other congressional trade trackers not report this?

Because the notification date is not in any feed. It is printed inside each periodic transaction report PDF, and a tracker that scrapes a rendered listing keeps the transaction date and the filing date and discards it. Without the notification date you can test the 45-day ceiling but not the 30-day clock, and for most filings the 30-day clock is the deadline that actually binds.

Is the notification date reliable?

It is the filer's own attestation and nothing reconciles it against broker records, so it should be read as what filers report rather than as what brokers did. That is also what the statute does: the 30-day clock runs from when the filer received notification. We take the date at face value, say so plainly, and publish the dataset so anyone can test how sensitive a conclusion is to it.

Does a filing outside the window mean the law was broken?

No, and we do not describe it that way. The House Committee on Ethics can grant filing extensions and waive the late fee, and it does not publish those decisions. A report that arrives outside the window may have had permission to arrive late. This study measures the gap between two dates and does not characterise it as a violation.

Does this cover the Senate?

No. The Senate files through a separate system at efdsearch.senate.gov, in a different format, which we do not ingest. Every figure in this study describes filings by members of the US House of Representatives.

Can I use this data?

Yes, for anything, including commercially. The source filings are US Government works with no copyright, and the derived dataset is released under CC0. A downloadable per-transaction file is linked on the page. If you publish something with it, a link back is appreciated but not required.

StockPlus is our own app and is described as such above. StockPlus is a market information tool, not a licensed financial advisor, and nothing on this page is investment advice.

Try it before you decide.

Free to start, no card required. One AI briefing each morning, a live watchlist, and alerts that actually matter.