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.
- 1The trade. The day the security was bought or sold.
- 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.
- 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.
| Measure | Median | Mean | 90th pct | 99th pct | Max |
|---|---|---|---|---|---|
| Notice lag (trade to notification) | 12 | 25.9 | 34 | 317 | 3,660 |
| Filing lag (notification to filing) | 10 | 45 | 40 | 878 | 2,349 |
| Total (trade to filing) | 28 | 70.9 | 115 | 917 | 3,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.
| Test | Transactions | Share |
|---|---|---|
| Past 45 days from the trade | 5,883 | 16.18% |
| Past 30 days from notification | 5,585 | 15.36% |
| Past the binding deadline, whichever fell first | 7,836 | 21.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.
| Transactions | Count | Share | Median trade to filing | Past 45 days |
|---|---|---|---|---|
| Disclosed in the year they happened | 30,996 | 85.25% | 27 days | 8.52% |
| Disclosed in a later year | 5,364 | 14.75% | 251.5 days | 60.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.
| Filer | Seat | Account | Transactions | Trades covered | Filed | Longest filing lag | Source |
|---|---|---|---|---|---|---|---|
| Richard W. Allen | GA12 | Mixed | 134 | 2017-02-03 to 2023-07-17 | 2023-08-10 | 2,349 days | |
| Thomas Suozzi | NY03 | Filer | 76 | 2017-12-06 to 2022-11-29 | 2022-12-19 | 1,814 days | |
| Ruben Gallego | AZ03 | Filer | 2 | 2019-08-27 to 2022-06-14 | 2024-08-13 | 1,813 days | |
| Thomas Suozzi | NY03 | Filer | 450 | 2017-01-05 to 2021-08-26 | 2021-09-23 | 1,697 days | |
| Thomas Suozzi | NY03 | Filer | 31 | 2017-09-05 to 2021-06-01 | 2022-03-03 | 1,615 days | |
| Warren Davidson | OH08 | Filer | 4 | 2018-05-17 to 2020-09-21 | 2021-03-25 | 1,043 days | |
| Brenda Lulenar Lawrence | MI14 | Spouse | 18 | 2016-12-27 to 2019-08-12 | 2019-08-21 | 967 days | |
| Tom Malinowski | NJ07 | Filer | 86 | 2019-01-28 to 2021-03-09 | 2021-08-26 | 937 days | |
| Richard Dean McCormick | GA06 | Filer | 33 | 2023-03-15 | 2025-09-17 | 891 days | |
| Tom Malinowski | NJ07 | Filer | 48 | 2019-01-18 to 2020-08-24 | 2021-07-09 | 889 days |
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 year | Reports | Transactions | Median gap | 90th pct | Past deadline |
|---|---|---|---|---|---|
| 2019 | 491 | 4,935 | 13 | 35 | 20.51% |
| 2020 | 536 | 6,495 | 12 | 183 | 26.37% |
| 2021 | 546 | 5,102 | 13 | 361.6 | 32.34% |
| 2022 | 475 | 3,234 | 10 | 34 | 16.05% |
| 2023 | 365 | 3,976 | 11 | 27 | 10.41% |
| 2024 | 383 | 2,501 | 4 | 22 | 19.63% |
| 2025 | 437 | 7,320 | 9 | 30 | 22.46% |
| 2026 | 310 | 2,797 | 5 | 134 | 14.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 year | Reports in index | Parsed | No text layer | Coverage | Rows kept |
|---|---|---|---|---|---|
| 2019 | 683 | 518 | 163 | 75.84% | 99.56% |
| 2020 | 733 | 597 | 136 | 81.45% | 99.8% |
| 2021 | 680 | 563 | 115 | 82.79% | 99.86% |
| 2022 | 624 | 503 | 119 | 80.61% | 99.92% |
| 2023 | 460 | 385 | 72 | 83.7% | 99.6% |
| 2024 | 451 | 392 | 57 | 86.92% | 99.31% |
| 2025 | 515 | 449 | 66 | 87.18% | 100% |
| 2026 | 367 | 323 | 43 | 88.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.
| Column | What it is |
|---|---|
| doc_id | House Clerk document ID for the filing |
| filing_year | Year of the Clerk index the filing appeared in |
| member | Filer name as recorded in the index |
| state_district | Seat, so you can join party from a public roster yourself |
| owner | SP spouse, DC dependent child, JT joint, blank for the filer |
| ticker | Ticker as printed on the filing, blank where none is given |
| asset | Security as described on the filing |
| transaction_type | P purchase, S sale, E exchange |
| amount_low, amount_high | The statutory bracket, not an exact amount |
| transaction_date | Date of the trade |
| notification_date | Date the filer says they were notified |
| filing_date | Date the report reached the Clerk |
| days_notification_to_filing | The notification gap |
| days_past_deadline | Days past the earlier of the two statutory deadlines, negative if inside |
| source_url | Direct 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.