Every “invest alongside Congress” product quotes returns measured from the transaction date — a date nobody outside Congress could have traded on. The law allows up to 45 days to disclose, and plenty of filers take far longer. This page measures from the disclosure date instead: the first moment the information was public.
If a fast filing carried more usable edge than a slow one, it would show up here. Whatever the buckets say is what we print, including “no visible difference”.
| Disclosure lag | Purchases | Distinct windows | Avg excess vs SPY | Median | Beat SPY | Trailed SPY |
|---|---|---|---|---|---|---|
| 0–14 days | 25 | 23 | withheld: under 25 distinct windows | |||
| 15–30 days | 121 | 97 | -1.53%no interval: 7 weeks, under 20 | -3.04% | 37% | 63% |
| 31–45 days (legal limit) | 66 | 55 | -1.97%no interval: 7 weeks, under 20 | -3.66% | 38% | 62% |
| 46–90 days (late) | 30 | 26 | -1.04%no interval: 2 weeks, under 20 | -4.24% | 38% | 62% |
| 90+ days (very late) | ||||||
Why measure from the disclosure date instead of the trade date?
Because nobody outside Congress could have acted on the trade date. The STOCK Act allows up to 45 days to disclose and filers routinely take longer, so a return measured from the transaction is a return no follower could have earned. The disclosure date is the first moment the information is public.
What exactly is being measured?
For each disclosed purchase with a ticker, the stock's return over the following 30 days starting from the first session on or after the disclosure date, minus SPY's return over the identical window. Sales are excluded because a sale says nothing about a forward return a follower could capture.
Why a 30-day window and not longer?
Because of what the source can support. The upstream disclosure feed is a rolling window of the most recent filings and reaches back roughly 80 days, so a completed 90-day window has zero eligible purchases today and a 60-day window has too few. Thirty days is the longest horizon with a real sample. A longer study would require accruing our own disclosure history over time.
Why are some buckets blank?
A bucket renders only once it holds at least 25 distinct windows. Several members buying one stock and disclosing it the same day share one entry and one exit, so they count as one window, not several. Below the floor an average is noise, so the bucket is withheld rather than printed as a number that would not survive one more data point. The same floor applies to the figures for all purchases.
Does a positive number mean I should copy these trades?
No. This is an observed historical record on a stated sample, not a forecast and not a strategy. Excess return in a past window does not persist by default, and this page makes no recommendation about any security or any filer.
Keep going: Congress trades · late-filer board · who beats the market · what StockTools does not do
| 10 |
| 9 |
| withheld: under 25 distinct windows |
Read this as an observed record, not a strategy. It excludes sales, ignores position size (disclosures give ranges, not amounts), assumes a clean fill at a daily close, and counts no costs or taxes. A past excess return does not persist by default, and nothing here is a recommendation about any security or any filer.