Quantitative Research

Replicating the Information Factor with open data

A replication of the insider leg of the INFO factor (Ma, Martin & Zhou, 2025), built entirely on SEC EDGAR — no CRSP, no Compustat. The interesting part is not the headline number but what surfaces when every data point is audited against the primary source: nineteen defects found and fixed, several of them invisible until cross-checked against the original filings.

The universe

Everything is reconstructed from original SEC filings: Forms 3/4/5 for insider transactions, XBRL for shares outstanding, and external market prices.

Headline result

Long-short portfolio rebalanced monthly on the insider score. The spread is recomputed in the browser from the underlying company-month panel, so every filter below reflects an actual recalculation — not a pre-baked number.

Monthly spread Average for current selection
How to read this. |t| > 2 is the conventional 5% significance threshold. But treat any single crossing with suspicion: this panel lets you run hundreds of specifications, and testing enough of them will eventually produce one that clears the bar by chance. The paper itself reports that the insider leg in isolation has a Sharpe ratio of just 0.056 — the weakest of the three signals in the full factor.

Split-exclusion scenarios

Around a stock split, the share count in the denominator and the trade in the numerator can briefly fall out of sync. This asks whether dropping those months changes anything — recomputed under the same filters selected above.

Where the effect actually lives

The aggregate result hides something: it does not come from having accumulated more data, but from one specific subpopulation.

The inconvenient finding. The original 109 companies (mid and small caps) show nothing — the same t≈−0.5 as always. The entire effect comes from the batch of one hundred blue chips and banks added later, which on its own gives t≈−3.8. The combined number is an average between a silent group and a loud one, not a uniform signal. Whether that reflects real economics (insiders at large firms being more informative) or an artifact remains open: bank executives sell heavily through scheduled 10b5-1 plans and equity compensation, not on private information.

Does it survive controls?

A negative sign contradicts the entire insider-trading literature, so the default assumption is a confound, not a discovery. Each row below neutralises one candidate. Specifications were fixed in advance and are reported in full, significant or not.

Portfolio sorts

Fama-MacBeth, adding one control at a time

It does not survive. Sorting within sector collapses the spread from −0.44% to −0.15% (t=−0.81), and the cleanest test of the paper’s actual hypothesis — months of net insider buying against months of net selling — gives t=−0.64. In Fama-MacBeth, a size control alone moves t from −2.33 to −1.62. The cause is mechanical: SNS is net shares divided by shares outstanding, so a large float pushes the score toward zero, and since 88% of company-months are net selling, the “high” bucket is not buyers — it is large caps that sold less. Ranking on SNS is therefore partly ranking on size. Sixteen specifications were evaluated: the sign is consistently negative, but significance survives only where the confound is left uncontrolled. Separately, the universe is built from currently active SEC registrants, so delisted and bankrupt firms are absent — precisely the companies whose insiders sold hardest.

Decile returns, against the paper

Table V of the paper shows a monotonic progression: higher score, higher next-month return. Ours sits alongside it.

The paper works with thousands of stocks per month; this replication works with two hundred. With so few companies per decile, each point is dominated by a handful of extreme values and monotonicity breaks down. That is not a calculation error — it is the limit of the sample.

Monthly spread

Full time series of the long-short spread, month by month.

Monthly spread Period average

Cumulative P&L

Growth of $1 compounded through the monthly spread — long the top decile, short the bottom, no other position. This is a zero-net-investment portfolio, not comparable to a fully-invested benchmark like the S&P 500 or Nasdaq: it carries no market beta by construction, so a side-by-side line would invite the wrong conclusion about which "did better."

Cumulative spread

Who is trading

The paper restricts to top-level managers. Splitting by role requires resolving a quirk of the Form 4 itself: when several people sign the same filing, their roles arrive merged.

Ambiguous-role transactions come from filings with multiple signers — an asset manager and an executive, for instance. The filing reports the trade jointly and never breaks out how many shares each party contributed, so attributing them to a single role would mean inventing the split. They are counted in the total but excluded from the per-role figures.

Market-cap index

Built in parallel on the same universe, with monthly rebalancing and automatic reconstitution of membership.

What the audit turned up

A selection of the defects with material impact. None of them were visible without cross-checking against the primary SEC source.

  1. Look-ahead bias in the grouping date

    The factor grouped by transaction date; the paper uses the public filing date, because the market does not know about a trade until it is disclosed. Median lag is two days, but the 99th percentile reaches 221. That moved 8.1% of trades into a different month. The filing-date column was being read from SEC and then silently discarded before storage.

  2. Prices attributed to companies that did not yet exist

    The splits provider resolves by ticker symbol, not by company identifier. Samsara showed a split dated 2005, nine years before the company was founded. A guard was added comparing against the earliest known SEC filing — with one caveat: it cannot reject anything before 1994, because EDGAR did not exist then and real splits like Apple's in 1987 would be discarded.

  3. A six-year-old denominator

    Some companies stop reporting the usual XBRL shares-outstanding concept. With no staleness limit, the calculation kept reaching back indefinitely: Datadog was computing its 2026 ratio from a 2020 share count — 78 million shares when the real figure was 353 million.

  4. Accounting restatements read as errors

    Twenty-six of thirty-two flagged anomalies turned out to be legitimate: accounting rules require restating historical periods after a split, and that can appear in a filing published a year later. The remaining six were genuine scale defects. The distinction was resolved by matching against each company's known split ratios.

  5. Roles of different people fused into one

    Role flags were stored as a disjunction across all signers. A filing signed by an asset manager and a director came out marked as a single entity holding both roles. It was rebuilt with one row per person; 18,287 signers turned out to be institutional entities rather than individuals.

  6. A fix that would have made the data worse

    The first version of the duplicate-removal step deleted 12,162 rows when only about 1,400 were genuine amendments. An Abbott case exposed it: an executive sold one hundred shares at $64.489 and another hundred at $64.4175 on the same day, in two separate original filings. Those were legitimate, distinct trades. Collapsing them would have understated the signal.

The full log runs to nineteen entries, each with the evidence that prompted it, the correction applied, and its measured impact — including the attempts that failed and were reverted.

Limitations

This is not the full factor. The original INFO combines three signals: insiders, short sellers and option traders. Only the first is replicated here — the one the paper itself identifies as weakest in isolation.

The sample is still small. Two hundred companies against thousands. With deciles, few companies land in each portfolio and the extremes turn noisy.

SEC transaction codes do not separate open-market trades from private placements. Codes P and S cover both. Private placements are detected from filing footnotes and flagged, but never excluded automatically: the decision is surfaced, not made by the script.