Congress disclosures

Congress trade track record

Congress trade track record

Filing-date outcomes use the close of the first NYSE session after filing. Buys and sells are separate; a sale's later ticker return is not a realized gain or loss.

2057 source trades · 6171 window records accounted for · computed · calendar through 2026-10-16.

After filing: next session entry
Disclosed side / sessionsMedian returnMean returnMedian excess vs SPYMean excess vs SPYHit rate: positive excess
Buys · 30 sessions · n=526+1.11% (n=526)+3.09% (n=526)-0.40% (n=382)+1.80% (n=382)48.95% (n=382)
Sells · 30 sessions · n=441-1.04% (n=441)+0.46% (n=441)-1.96% (n=296)-1.04% (n=296)38.18% (n=296)
Buys · 90 sessions · n=40+2.16% (n=40)+7.24% (n=40)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Sells · 90 sessions · n=41+3.27% (n=41)+4.00% (n=41)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Buys · 180 sessions · n=0Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Sells · 180 sessions · n=0Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Transaction-date comparison — not capturable
After transaction: not capturable
Disclosed side / sessionsMedian returnMean returnMedian excess vs SPYMean excess vs SPYHit rate: positive excess
Buys · 30 sessions · n=245-0.50% (n=245)+0.50% (n=245)-4.00% (n=112)-1.78% (n=112)37.50% (n=112)
Sells · 30 sessions · n=316+0.05% (n=316)+0.83% (n=316)-2.27% (n=194)-1.18% (n=194)41.75% (n=194)
Buys · 90 sessions · n=24+4.36% (n=24)+7.42% (n=24)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Sells · 90 sessions · n=29+5.20% (n=29)+6.67% (n=29)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Buys · 180 sessions · n=0Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)
Sells · 180 sessions · n=0Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)Insufficient sample (n=0)

30 sessions: 968 measured / 1412 completed buy/sell windows in the price universe · 68.6% priced. Price coverage is below the 97% target.

90 sessions: 82 measured / 283 completed buy/sell windows in the price universe · 29% priced. Price coverage is below the 97% target.

180 sessions: 0 measured / 0 completed buy/sell windows in the price universe · No completed sample.

Every window: status accounting
  • 30 sessions · corporate action review: 1
  • 30 sessions · intraday price only: 77
  • 30 sessions · measured: 968
  • 30 sessions · no entry close: 287
  • 30 sessions · no exit close: 78
  • 30 sessions · not buy or sell: 23
  • 30 sessions · outside price universe: 98
  • 30 sessions · stale price: 1
  • 30 sessions · window not complete: 524
  • 90 sessions · intraday price only: 65
  • 90 sessions · measured: 82
  • 90 sessions · no entry close: 116
  • 90 sessions · no exit close: 20
  • 90 sessions · not buy or sell: 23
  • 90 sessions · outside price universe: 14
  • 90 sessions · window not complete: 1737
  • 180 sessions · not buy or sell: 23
  • 180 sessions · window not complete: 2034

3 window records withheld from metrics because their primary receipt or dates did not qualify.

Methodology v1.1 · Current measured coverage is shown above. Historical-close backfill toward 97% coverage and 20 official-close spot checks are planned follow-up work.

Snapshot coverage: Prices from May 16, 2026; SPY from Jul 20, 2026. Earlier SPY sessions are included in the planned historical-close backfill. No price estimates. Fewer than 20 measured windows: Insufficient sample. Each SPY metric uses only matched benchmark windows. Positive excess share means ticker return above SPY, for both sides.

A record, not a claim about intent. Not investment advice. Price returns exclude dividends, trading costs and taxes. Overlapping windows are not independent; these descriptive aggregates are not a preregistered performance test.

Methodology v1.1

Calendar source: NYSE holidays and trading hours. Planned historical-close source: Massive Daily Ticker Summary, using its unadjusted close.

The population is current first-party House PDF and official Senate eFD ticker trades filed from May 16, 2026. Superseded trades are removed. Sessions are an explicit NYSE calendar: weekdays excluding exchange holidays, independent of price availability. The latest snapshot day with more than 1,000 rows bounds completed windows. Missing ticker prices never shift entry or exit to a different session.

Entry is the first session strictly after filing; exit is 30, 90 or 180 sessions later. A ticker snapshot qualifies only when captured between 4:00 PM Eastern on its session and 9:30 AM the following calendar day. This release uses existing snapshots only. A separate backfill will admit official unadjusted closes for exactly 612 ticker-session pairs and 38 SPY sessions in the approved manifest, without overwriting live snapshots.

Every window has a status: measured, not buy or sell, window not complete, outside price universe, no entry close, no exit close, stale price, intraday price only, corporate action review, or price outlier. A price identical to the prior NYSE session is held out on a known stale day; the append-only stale-day list starts with July 21, 2026 and grows only when the daily unchanged-price share exceeds 40%. Unadjusted price ratios above 1.6 or below 0.5 are held for corporate action review. A close more than 50% away from both neighboring stored closes is held as a price outlier when the next stored close returns within 50% of the previous level within two NYSE sessions. Missing neighbors remain unknown. Priced coverage is measured windows divided by completed buy/sell windows in the price universe. Outside-universe rows remain in status accounting.

SPY uses the same entry and exit sessions. The frozen reference query tests capture timing on the ticker prices; it does not independently test SPY capture timing. A missing SPY price withholds the excess metrics without withholding a measured ticker return.

The headline is buys after filing. Sells report the subsequent ticker price path, without reversing its sign. The transaction-date comparison is not capturable by a follower; transaction dates before May 16 are outside its coverage and remain unmeasured. Results describe disclosures with price coverage, not anyone's entire portfolio, realized performance or intent. Median and mean excess are ticker price return minus SPY price return, in percentage points.

Aggregates are published at the measured coverage shown above, with every window's status reported. Missing prices and held rows are excluded from returns. Raising coverage to at least 97% and spot-checking 20 measured rows against official closes are separate follow-up work; those checks have not been completed for this release. Outcomes remain site-only and excluded from API responses and exports.

Reference SQL: docs/methodologies/congress-track-record-v1.1.sql. Reproduction: node scripts/reproduce-congress-track-record-v11.mjs --golden, using a disposable local PostgreSQL database. The script recomputes all 16 frozen cases from the supplied trades and 275 original price rows. Their cutoff is the audit’s October 12 session; no prices or missing neighbors are synthesized. The complete pre-backfill population is compared with the frozen SQL on production.

Veridion by email

Disclosure findings, methodology notes, and product updates when we have them. No fixed schedule yet. No advertising list resale.