Methodology: how trades are cleaned and scored

What is collected, how duplicates and bad tickers are handled, exactly how each return is computed, and where the numbers can mislead you.

Key Facts

  • A buy is scored from the close of the first trading day after it was filed, because nobody outside can act sooner.
  • Returns are split and dividend adjusted and compared with the S&P 500 (SPY) over the same dates, at 30, 90, 180 calendar days.
  • One observation counts per person, stock and entry day, so splitting one purchase into many lines does not add weight.
  • Leaderboards choose on trades entered before a cutoff (2023-04-25 for Congress, 2026-05-29 for insiders) and rank on trades after it.
  • Data as of 2026-09-29 (29 September 2026).

What is collected

Congress. Members of the House and Senate must report stock trades over $1,000 within 45 days under the STOCK Act. Reports give a dollar range, not an exact amount. This site reads them through a collector, CapitolTrades.

Insiders. Officers, directors and large holders report trades to the SEC on Form 4 within two business days. This site keeps only open market buys and sales. Proposed sales (Form 144 notices) and option exercises are not open market trades and are left out.

Prices. Daily split and dividend adjusted closing prices from Yahoo Finance, for every stock that was traded and for the S&P 500 through the SPY fund.

Cleaning

  • Duplicates. The collectors store every row many times. Exact duplicates are collapsed to one trade before anything is counted.
  • Congress tickers. A ticker is read only from the exact TICKER:CC suffix the source attaches to the issuer name. No suffix means no ticker, and the trade is shown but not scored. No name matching or guessing is used. Coverage in this build: 88.7%.
  • Insider tickers. From 2026-07-15 the upstream source began doubling the first letter of every insider ticker (DDUOL for DUOL). Rows from that point are repaired by dropping the first character, starting at source row 466604, and each repaired ticker is checked against a symbol list or a price series. Validated: 99.9%. The run stops if that share falls below 90 percent.
  • Insider numbers. Price, shares and value are read from the source's text fields, because its numeric fields lose the decimal point.
  • Traded date for Congress. The source's own traded date is empty on recent rows, so it is derived as the published date minus the reported filing delay.

How each return is computed

  1. Entry. The first trading day strictly after the filing date. For a cluster buy, after the last filing in the cluster.
  2. Exit. The last trading day on or before the entry date plus 30, 90 or 180 calendar days. If that date is later than the newest price, the horizon has not matured and the return is left blank rather than estimated.
  3. Return. Exit adjusted close divided by entry adjusted close, minus 1.
  4. Excess return. The stock's return minus the S&P 500's return over exactly the same dates.
  5. One observation. Several fills by the same person in the same stock on the same entry day are averaged into one observation.
  6. Only buys. Sales are shown but not scored. People sell for tax, diversification and planned reasons, so a sale says little about the stock.

Prices resolved for 91.5% of the stocks that needed one in this build. The rest are not scored.

Reading the statistics

Every average comes with its sample size. The t statistic is the average excess return divided by its standard error. Below about 1.65 in size, a gap that large would appear by chance often, and the site calls the result "not distinguishable from luck". Between 1.65 and 2.58 it is "modestly" above or below the market but could still be chance. Above 2.58 it is "clearly" above or below. With fewer than 10 observations the site says there are too few trades to conclude anything.

Buys made in the same month share the same market moves, so they are not independent, and treating them as independent would overstate certainty. The standard error is therefore clustered by entry month, which is more cautious. Even so, a t statistic rests on independent entry months, not on the number of trades. With fewer than 10 entry months behind it the site does not print the t statistic and says the result is based on too few months of entries to judge. The horizon tables show the number of entry months next to every t statistic.

The hit rate is the share of observations that beat the S&P 500. A high hit rate with a tiny average gain, or a big average driven by a few winners, are different stories, so both are shown.

Out of sample leaderboards

Ranking people on the same trades used to pick them rewards luck. Instead, each person's scored buys are split by entry date at a cutoff. The cutoff is chosen so that roughly the most recent 35 percent of matured observations fall after it: 2023-04-25 for Congress and 2026-05-29 for insiders in this build. A person appears only with at least 8 buys before and 5 after (Congress) or 3 and 3 (insiders). They are ranked on their average excess return after the cutoff, and the table also shows the record before it and the standard error.

Known limits

  • Ranges, not amounts. Congress reports dollar ranges. Volume figures use the midpoint and are estimates.
  • Survivorship. Stocks that were delisted or renamed often have no price history and are not scored. That can flatter results.
  • No costs. Returns ignore commissions, spreads, taxes and the market impact of your own order.
  • A cap weighted benchmark. The S&P 500 is weighted by company size. A basket of typical stocks can trail it when a few very large companies lead, so trailing the index is not proof of poor stock picking.
  • Not risk adjusted. An excess return is measured against the S&P 500 only. A stock that is riskier than the index would be expected to differ from it.
  • Many comparisons. With hundreds of people, some will look good by chance. That is why the leaderboards are out of sample and show sample sizes.
  • Small samples. A single stock or a single person can rest on a handful of trades. Read the count before the average.
  • Data gaps. Each dataset has its own newest date, shown on every page. A collector that stalls leaves a gap until it is fixed.No Congress filings are recorded for January 2024 to April 2025 (16 months) and July 2025 to November 2025 (5 months), so results do not cover that period.Insider filings begin on 9 March 2026, so insider results cover a short window.

Sources: Congressional trades: STOCK Act disclosures, collected from CapitolTrades. Original filings: US House Clerk and Senate Office of Public Records. Insider trades: SEC Form 4 filings, collected from Finviz. Prices: Yahoo Finance daily adjusted closes. Data as of 2026-09-29 (29 September 2026). About these sources.

Not investment advice. Past disclosed trades do not predict future returns. Disclosures are published late, so the trades shown are ones you could only have copied after the fact. Talk to a licensed adviser before you invest.