Leaderboard
Each person’s positions: from the day they bought a stock to the day they sold it, or to the latest price if they still hold it. Ranked by return, and compared with the S&P 500 over the same days.
How to read these numbers
vs S&P 500
For each position, we work out what would have happened if the same money had gone into the S&P 500 on the day of the buy and come out on the day of the sale (or on the latest price date, for a position that’s still open). The column shows the difference between the two returns, averaged across the person’s positions. Every position counts the same, whatever its size.
Example: +124.5% means that, on average, their positions did 124.5 percentage points better than the S&P 500 over the same time. (A position that rose 150% while the S&P 500 rose 25.5% counts as +124.5.) A negative number means an S&P 500 index fund would have done better.
It answers a simple question: did they pick well, or did the whole market just go up?
Why the S&P 500
The S&P 500 tracks 500 of the largest U.S. companies across every industry, and it’s the standard yardstick for “the market.” The Dow Jones Industrial Average has only 30 companies and is weighted by share price, so a company with a high-priced stock counts more no matter how big it is. The Nasdaq Composite leans heavily toward technology companies. We measure the S&P 500 with SPY, a fund that tracks it; its price includes dividends, like the stock returns here.
vs Nasdaq
The same comparison, using the Nasdaq Composite instead (measured with ONEQ, a fund that tracks it). It’s useful for people who mostly buy tech stocks: it shows whether their picks did better than tech-heavy stocks as a whole, not just the broad market.
Exchanges and indexes
“Nasdaq” is also the name of a stock exchange: a marketplace where shares are bought and sold, like the New York Stock Exchange (NYSE). An index, like the S&P 500, is a yardstick made from a list of stocks. The stocks on this page can come from any exchange (NYSE, Nasdaq, and others). The S&P 500 includes companies listed on both the NYSE and Nasdaq, so a stock listed on Nasdaq is still fairly compared with it.
The other columns
- Average return: the average of each position’s return, from the closing price on the buy day to the closing price on the sale day (or the latest price). Every position counts the same. Closing prices are estimates: the forms don’t show the price paid.
- Est. gain or loss: the middle of each buy’s disclosed dollar range times its return, added up. It’s an estimate because officials report ranges, not exact amounts.
- Positions: how many buys we could follow from start to finish (or to today). A buy that was partly sold counts as two: the part sold and the part still held.
- Open / closed: closed positions were sold. Open ones have no sale in the reports yet and are measured to the latest price.
- Win rate: the share of positions with a positive return.
- Avg. holding: the average time from the buy to the sale, or to the latest price for open positions.
- Return per year: the average return scaled to a full year, using the average holding time. It isn’t shown when positions were held under a month on average, because stretching a few days into a year exaggerates.
- Luck check: a standard statistical test (a t-test) on how much each position beat or trailed the S&P 500. “Likely skill or edge” or “Likely trailed the market” means results this far from the market would happen by chance less than 1 time in 100; “Could be luck” means they could. It needs at least 10 positions. Point at a label for the exact numbers, and see “The luck check” below the tables.
- Consistency: in how many of the years they bought stocks their positions beat the S&P 500 on average (each position counts in the year it was bought).
By average return per position
By estimated dollar gain or loss Estimated
Officials report each trade as a dollar range, not an exact amount. These totals use the middle of each buy’s range, so treat them as rough.
The luck check
How positions are measured
- A buy opens a position. A later sale of the same stock by the same person, from the same account (their own, a spouse’s, joint, or a child’s), closes it. Sales are matched to the oldest buy first.
- A sale the form marks as partial counts as a sale at that day’s price, and the rest of the position stays open. A sale marked full closes every open buy of that stock. A sale not marked either way closes the oldest buy.
- A position with no sale yet is measured to the latest price and marked Open.
- Return uses each day’s closing price, an estimate: the forms don’t show the exact price paid. vs S&P 500 is the return minus the S&P 500’s return over the same days, and vs Nasdaq is the same using the Nasdaq Composite. Return per year scales the average return to a full year using the average holding time; it isn’t shown when positions were held under a month on average.
- Win rate is the share of positions with a positive return.
Left out of the Leaderboard
Latest news
Headlines from official U.S. government sources, updated twice a day. Each one links to the original page.
Latest disclosures
The newest trades made public, from Congress and the executive branch, newest first. The site updates every day; trades are listed once a report has been posted and read.
Which groups did best
Each row is a pile of trades. vs S&P 500 is how much the average trade beat the market (for sales, how far the stock fell behind the market after they sold). Stands out means the result is too big to blame on luck alone. It isn’t proof of wrongdoing.
Patterns worth a closer look
Groups whose results stand out, across every way of grouping and every time window. We test hundreds of groups, so expect a few of these to be flukes. A pattern that shows up in several time windows is more convincing than one that shows up once.
Beat the market
Trailed the market
Totals for each lawmaker
Every trade on the site for each person, added up. Not limited to a time window. The forms give each trade’s dollar amount as a range, not the number of shares, so dollar totals are shown as a range: all the low ends added up, to all the high ends added up.
Every trade
Prices are each day’s closing price, an estimate. The forms don’t show the exact price paid. Blank cells mean that window isn’t over yet, or the stock has no price history (often a company that was bought out).
Or build a question with a few clicks
How this works
The trades come from public reports. House trades are read from the House’s PDF forms by a free volunteer project, and the day each form was posted comes from the House Clerk’s own filing list. Senate trades are read from the Senate’s disclosure website.
The prices are daily closing prices from Yahoo Finance, adjusted for stock splits. The market yardstick is SPY, a fund that tracks the S&P 500.
Spouses and dependent children are included because the law makes members report their trades. Other relatives don’t have to report, so they can’t appear here.
Dollar amounts on the forms are ranges, so estimated gains use the middle of each range. Treat them as rough.
The luck test treats repeat trades in the same stock, and trades from the same three-month stretch, as connected. That keeps one hot stock or one hot season from making a group look smart.