How Congress Trader works
Congress Trader reads the stock trades that members of the U.S. House must disclose, checks how those trades turned out, and asks a simple question: what would you have earned by copying them once they became public? This page explains where the data comes from, what the labels mean, and what the site can't see.
Where the data comes from
- Trades: Periodic Transaction Reports (PTRs) that House members file with the House Clerk. The site downloads each new report as a PDF and reads the trades out of it.
- Prices: daily closing prices from Yahoo Finance, adjusted for dividends and splits. They are not live quotes.
- Committees: committee seats from the public congress-legislators project.
- Sectors: each stock's sector from Nasdaq's public stock screener.
The data is updated once a day. "Data as of" at the top of each page is the date of the latest closing prices used.
What the grades mean
Each member gets three scores from 0 to 100. Each score is a percentile rank against the other members, so 70 means "better than about 70% of members on this measure", not "70% right".
- Performance (50%)
- How each trade did against the S&P 500 from the trade date to today. A purchase scores when the stock then beat the index; a sale scores when the stock then lagged it. Bigger trades count more. Members with fewer than 5 priced trades are pulled toward the middle, so one lucky trade can't earn a top grade.
- Activity (25%)
- How many trades they made and their estimated dollar volume, using the midpoint of each reported range.
- Committees (25%)
- How influential their committee seats are (chairs and ranking members count extra), plus how much of their trading is in sectors those committees oversee. This is context, not an accusation: overlap can be innocent.
- Letter grade
- The weighted total becomes a letter: A from 80, B from 65, C from 50, D from 35, F below 35.
What the timing labels mean
Each trade is compared with the S&P 500 over the 30 days after it was made.
- Well-timed
- The trade beat the index by 10% or more in those 30 days (for a sale: the stock fell behind the index by that much).
- Poorly timed
- The trade lagged the index by 10% or more.
- Neutral
- Anything in between.
- Too recent
- Fewer than 30 days of prices since the trade, so it can't be judged yet.
A move of 15% or more within 30 days is flagged as worth checking the news for. A good label does not mean the member knew anything; markets move for many reasons.
How the copy backtest works
A follower can't trade when the member does, only after the report is public. So the backtest:
- buys each disclosed purchase at the closing price of the first trading day after the report was filed;
- sizes it like the member's trade, using the midpoint of the reported dollar range;
- sells when a later report discloses a sale of that stock: all of it for a full sale, half for a partial sale (reports don't say how much was sold);
- puts the same dollars into the S&P 500 on the same days, so "Edge" is the copy return minus the index's.
Members with fewer than 3 copied purchases are not ranked. "Delay cost" is how far a member's stocks moved in their favor between the trade and the report: the part of their gain a follower could not get.
Limits of the backtest
- It is a look back at the past. Past results do not predict future ones.
- Amounts are ranges (for example $1,001 to $15,000), so position sizes and returns are estimates.
- Option trades are copied as the underlying stock. Bonds, private funds and assets without a stock ticker can't be priced and are left out.
- It ignores taxes, trading fees and the gap between the closing price and what you could actually trade at.
- When a report gives an impossible trade date (after the report itself, or in the future), the date the member was notified of the trade is used instead, so that trade may be priced on the wrong day.
Gaps in the data
- Scanned paper filings. Some members file on paper. Those PDFs are pictures of pages with no text, and the site can't read them, so their trades are missing. In the current data, 53 of 430 reports were scanned paper that couldn't be read.
- Late reports. Trades show up only when they are reported, often weeks later, so the latest weeks always look quieter than they were.
- Reading mistakes. Reports are read automatically. Unusual layouts can be misread or skipped. Always check the original report on the House Clerk's site before relying on a trade.
- House only. Senate trades are not included.
Who runs this
Congress Trader is a free, non-commercial personal project shared with a few friends. It has no ads and no paid access; federal law (5 U.S.C. § 13107) bars commercial use of these disclosures.