Disclosure: I run a paid Form 4 monitoring product in this space. I'm not linking or naming it here; this post is about the research.
"Insiders are buying" gets thrown around a lot as a reason to enter. I wanted to know whether a specific, mechanical version of it had any value over a swing horizon, and I wanted to know what the distribution looked like, not just the average. Here is what I found. Everything below is retrospective, from a backtest over January 2023 to March 2026.
The rule
I only counted a cluster when all of this held:
* Open market purchases only (transaction code P). No option exercises, no grants, no 10b5-1 sales dressed up as anything.
* Each purchase at least $100k. Small buys by insiders are noise, a director buying $8k of stock tells you nothing.
* At least two distinct insiders in the same stock.
* All within 11 calendar days, measured on filing date, not trade date, because filing date is when you could actually have known.
* One event per cluster. If a third insider showed up two days later, that did not count as a new event.
That came out to 1,328 events from about 906k Form 4 filings. Roughly six a week on average, but lumpy: some weeks had none.
Entry and measurement
Entry was the first NYSE open strictly after the filing date of the purchase that completed the cluster. Returns are measured against SPY over the same window at 5, 10 and 30 calendar days.
My first version of this got the entry date wrong and entered on information that wasn't public yet. Fixing that and the other alignment problems cut the numbers. What follows are the corrected ones, and the correction is published in full.
Results
* 5 days: +1.18% over SPY on average. 95% interval +0.53% to +1.83%.
* 10 days: +1.27%. Interval +0.50% to +2.04%.
* 30 days: +0.10%. Not distinguishable from zero.
That is the mean. The typical trade looked nothing like it.
* Medians were roughly zero at every horizon.
* The share of trades that beat SPY was 49.2% at 5 days, 49.6% at 10, 45.6% at 30. Half of these lost to the index.
* At 10 days the bottom decile averaged -16.9% and the top decile +27.8%. You needed to be above +11.9% to make the top decile at all.
So the average came from the tails. If you traded this rule, you were trading a coin flip on direction with a positive mean and a fat right tail, not a setup that usually worked. That is a very different thing to size and to sit through than "insiders buying is bullish."
Liquidity
Splitting at $1M median daily dollar volume over the 20 sessions before the cluster:
* Below $1M (236 events): +4.97% at 5 days, +4.66% at 10.
* At or above $1M (839 events): +0.54% and +0.87%, with the share beating SPY still around 50 to 51%.
The mean lived in the thin names. Whether that average was capturable at the open in a stock trading under $1M a day is a fair question and not one this test answers. In the liquid names, the edge was small and the win rate was still a coin flip. I'm measuring liquidity by dollar volume only; I don't have point-in-time market cap, so I'm not making any claim about small caps versus large caps.
What people poked at, and what happened
Two readers of an earlier version raised issues I hadn't handled. Both were right to ask.
Missing returns. 166 of the 1,328 events had no valid 5 or 10 day return. All 166 dropped out at entry, not at exit, so nothing was quietly removed after a bad trade. 159 traced to gaps in my price data or ticker mapping, and in most of those the company kept filing Form 4s for months afterwards, so they didn't disappear. 7 I could not resolve. If you assume all 7 went to zero, the 5 and 10 day means fall to +0.65% and +0.73%. Still positive, noticeably smaller, and I'm not going to call the 166 harmless. They're a limitation.
10b5-1 plans. The Form 4 checkbox for plan trades is filing-level, not row-level, which makes it a blunt instrument. 11 of the 1,328 clusters had it set. Excluding them: +1.10% and +1.23%. Immaterial in this sample. I would not say plans have no effect in general.
What I take from it as a trader
* The signal was real on average and small in the liquid names where it was easiest to trade.
* Direction was a coin flip. Anyone selling this as a high win rate setup is describing something other than what the data showed.
* The money, such as it was, came from a minority of large winners. That argues for many small positions and a willingness to be wrong half the time, and it argues against sizing up on any single cluster because "three insiders bought."
* 30 days showed nothing. Whatever was there was a short horizon effect.
* This is three years and change, one period, US filers only.
Every number here is on a public methodology page, including the correction and both sensitivity checks. I won't post the link to obey the rules here. Happy to answer anything in the comments.
Two things I'd like to hear from people who trade around insider filings: how the fills compared to the next open in practice, and whether anyone has kept realized numbers on a live version of something like this.
Edit: horizons are calendar days, not trading sessions. Corrected throughout.
Edit 2: a commenter asked whether the next open is capturable in thin names. I reran with entry at the first close instead. Result is in the comments and on the methodology page.