I Backtested 750,659 Insider Buys. The “Edge” Didn’t Survive the Audit.
The average said +54%. The median said −7%. Only one of them was telling the truth.
Every corporate insider who buys their own company’s stock has to tell the SEC about it, on a form called Form 4, usually within two business days. An entire industry exists to resell you that information: trackers, dashboards, alert services, copy-trading apps. The pitch is always the same — they know something you don’t; follow the money.
I wanted to know what following the money actually returns. So I downloaded all of it. Every open-market insider purchase reported to the SEC since 2006 — 7,293,834 transaction rows, from which 857,803 are genuine open-market buys — and I tested one question: if you had copied every single one of them on the first day you could have known about it, would you have beaten the market?
Here is what I found, in the order I found it.
Part 1 — At first, my data agreed with the sales pitch
Run the naive version of this backtest and the answer looks incredible. Buy at the first market open after each filing, hold twelve months, compare against SPY. The average excess return comes out at +62% per event.
If I had stopped there, this would be a very different article — and honestly, a more popular one. Most content about insider trading stops exactly there. I didn’t stop there, because averages are where backtests go to lie.
Part 2 — The audit
First, the duplicates. Form 4s get amended, and the same lot can appear in both the original and the amendment. Insiders also report multiple lots per day. Deduplicate properly — amendments supersede originals, identical lots collapse — and 857,803 “buys” become 750,659 real purchase events (245,338 unique purchase-days). Naive row-counting overstates the dataset by 14% before you’ve computed a single return.
Then, the ghosts. 594 events in my results showed returns above +1,000%. I pulled the receipts on the extremes. The single “best trade” in the entire dataset had a recorded entry price of $0.0001 — a sub-penny quote artifact, not a fill any human being ever received. So I ran a labeled sensitivity test: drop every event with an entry price under one cent. That removes just 1,156 events — 0.3% of the sample — and the six-month “average edge” falls from +27.8% to +15.8%. Three-tenths of a percent of the data was carrying 43% of one horizon’s average.
And here is the deeper problem. Even fully cleaned, the twelve-month average still says +54%. The median — the outcome of the typical buy — says something else entirely:
| Horizon | Median excess vs SPY | % of buys that beat SPY |
|---|---|---|
| 1 month | −0.3% | 48.7% |
| 3 months | −1.3% | 45.9% |
| 6 months | −3.3% | 42.5% |
| 12 months | −7.3% | 38.6% |
The medians barely moved under the ghost filter (−7.32% → −7.25%). They were never lying. Collapse the data from lots to purchase-days and the picture gets slightly worse (12-month median −7.5%, 38.0% winners).
The “average edge” in insider buying is a small number of enormous winners — part real moonshots, part data artifacts — concentrated in stocks trading under $1M a day, where you could never have deployed real money anyway. It is not an edge. It is a lottery with survivor-bias marketing.
Part 3 — The one thing that survives
One pre-registered slice showed a real, positive signal: cluster buys — three or more different insiders at the same company buying within 14 calendar days. In the first month after filing, cluster buys have a positive median excess return (+0.2%) and a 51.4% win rate, versus −0.4% and 47.8% for solo buys. Small, but real, and defined before I saw any results.
Then it dies. The effect is gone by month three. By month twelve, cluster buys are underperforming solo buys (−11.4% median vs −6.0%).
The folklore has the right signal and the wrong holding period. Whatever information a cluster of insiders carries, the market has finished digesting it within weeks — while the copy-trading industry tells you to follow along and hold.
Part 4 — The $10,000 race, and the trap I almost fell into
Statistics describe events; portfolios are what happen to people. So I simulated the whole twenty years with rules fixed in advance: $500 per signal, at most 20 positions, hold six months, skip signals when out of cash, dividends included, plus a variant with 0.5% round-trip costs.
Result: $10,000 → $40,399. SPY buy-and-hold over the same period: $88,767. Less than half the index — and that framing is exactly what I almost published, until my own audit flagged it as unfair. Fixed $500 bets leave a growing portfolio mostly in idle cash; SPY got to stay fully invested. That comparison punishes the strategy for my position-sizing rule, not for its signal.
So I re-ran it with proportional sizing — each position 1/20th of current equity, everything else unchanged (labeled post-hoc, as it is):
- Copying, before costs: $109,027
- Copying, with 0.5% costs: $92,629
- SPY buy-and-hold: $88,767
That difference works out to roughly a quarter of a percentage point per year, over twenty years, across 800+ executed trades — well inside this method’s error bars.
That is the honest verdict of the whole exercise. Twenty years of watching every filing. More than eight hundred trades. And the copy portfolio lands within a rounding error of what a single purchase of an index fund would have done — while the median individual signal lost, and whatever kept the portfolio afloat came from a handful of big winners you only catch by mechanically taking every single bet.
Heroic effort. Index-fund result.
The slices nobody will make a thumbnail about
All pre-registered, all reported, including the boring ones (12-month medians):
- By role: CEOs/CFOs −7.3%, directors −4.7%, other officers −4.0%, 10%-owners −11.8%. Nobody’s median beats the index. The “smartest money” ranking you’d expect simply isn’t there.
- By size: million-dollar buys do no better than small ones (−9.3% vs −8.7% median at 12 months for the extremes). Conviction sizing isn’t signal.
- By liquidity: the most liquid names (>$10M/day) hold up best (−3.8%); the illiquid tail carries both the lottery tickets and the artifacts.
Methodology — attack this part
- Signal: open-market purchases (transaction code P, acquired) from SEC DERA insider transaction datasets, 2006Q1–2026Q2. Option exercises, grants, and derivative transactions excluded.
- Entry: the first market OPEN after the filing date — not the trade date. You cannot buy on information before it exists in public. (Events with no tradeable price within 7 days of filing are dropped and counted: 58,284.)
- Exit: first trading day at or after 1/3/6/12 calendar months; close.
- Benchmark: SPY, dividend-adjusted, entered and exited on the same days.
- Price coverage: 47.6% of events (357,167) had usable price data. The missing half is mostly delisted tickers. That cuts both ways — bankruptcies are hidden (flattering the results) and acquisition premiums are hidden (hurting them). I do not know the net direction, and neither does anyone else running this backtest on a free price source. I say so instead of pretending.
- No p-values. Overlapping events are not independent; I report distributions and counts, not significance theater.
- Costs: a flat 0.5% round-trip sensitivity, which is generous to nobody; real slippage in sub-$1M/day names would be worse. That cuts against the lottery tail, not in its favor.
Verification
The rules were locked and committed before any results were computed — the pre-registration file is published as an appendix. Every number above survived three independent checks: a 12-event random sample verified against the original Form 4 XML on EDGAR and recomputed from scratch (12/12 exact); a second 8-event sample verified by an isolated process with no access to my code, parsing EDGAR itself and computing returns from raw unadjusted prices with manual split checks (8/8 agree within 1.2 points, fully explained by dividends); and the SPY benchmark cross-checked against the Federal Reserve’s official S&P 500 series (daily-return correlation 0.997).
I found and corrected two of my own errors on the way here — the ghost-price tail and the cash-drag comparison — and both corrections are documented above rather than hidden. If you find a third, the methodology section is the map: [email protected].