← Lab
S025

Net share issuance

net-share-issuance-v1
failed Stage 1 (Quick-screen) 2026-06-13
Share: Twitter / X LinkedIn

ID: S025 Slug: net-share-issuance-v1 Failed at: Stage 1 (Quick-screen) Fail reason: magnitude Date: 2026-06-13

Verdict

Failed at Stage 1 — the net-issuance anomaly is directionally real and perfectly monotone in our universe (buyers beat issuers every quintile step), but too small to clear the bar: buyer-leg excess +0.14%/mo vs a +0.20% gate, and the long/short spread (+0.31%/mo) is not statistically significant (p=0.21).

The setup we were testing

Long the lowest-net-issuance cohort (net buyers of their own stock) in the liquid US universe, rebalanced monthly, expecting positive excess return over an equal-weighted baseline and a monotone decline in forward return as net issuance rises. The "because": managers issue when shares are dear and buy back when cheap, and the market re-rates this only slowly — a behavioural / limits-to-arbitrage effect, not a flow trick (which is why it was a better bet than the front-run-into-oblivion Russell drift of S017).

How it was tested

What we found

179 monthly cross-sections, ~1,400 names each. Forward return by NSI quintile (Q0 = biggest buyers … Q4 = biggest issuers):

Quintile Avg fwd return/mo
Q0 (buyers) +1.245%
Q1 +1.158%
Q2 +1.110%
Q3 +1.064%
Q4 (issuers) +0.937%

Perfectly monotone — every step from buyers to issuers loses return. But the tradeable magnitude is thin:

Metric Result Gate
Buyer leg excess vs EW baseline +0.142%/mo ≥ +0.20% ✗
Long/short (low − high NSI) +0.308%/mo, p=0.214 mean>0 & p<0.05 ✗
Monotone decreasing yes yes ✓
Both halves positive yes yes ✓
≥ 60 months 179

3 of 5 gates pass — but the two that fail are the ones that matter for tradeability (size + significance), and the numbers are gross of costs: monthly rebalancing of a cross-section that includes small/mid names would erode most of +0.14%/mo.

Lower-turnover fallback (pre-registered, non-gating). A quarterly-rebalanced variant kept the same shape — monotone, both halves, +0.51%/quarter (~+2%/yr gross) buyer excess — but the long/short spread was still insignificant (p=0.15). Reducing turnover did not rescue it to significance.

Why the gate didn't pass

The factor is genuine but decayed — it's one of the most-published equity anomalies, and post-publication it has compressed to a magnitude that's real in-sample yet too small and too noisy to harvest after realistic small-cap trading costs. The monotonicity confirms the mechanism is there; the insignificant long/short spread says the edge is within the noise.

One thing we learned

A clean, monotone factor is not the same as a tradeable one — the gradient confirmed the textbook, but +0.14%/mo gross with an insignificant spread is exactly the "marginal-after-costs" case the pre-registration said to treat as a fail.

Was there anything close to working?

The monotonicity and both-halves consistency are the strongest "close" signal of any cut so far — the effect is unambiguously present. If revisited, the honest v2 is not a tweak of this one but a fundamentally lower-cost expression (a larger-cap-only, quarterly, low-issuance tilt where the ~2%/yr gross survives costs), pre-registered under a new S-number. Not pursued now: a known, decayed factor that fails the spread-significance test is a weak basis for a live slot.

For the specialist — methodology details (click to expand)
  • PIT shares: latest EntityCommonStockSharesOutstanding filed ≤ formation date; t-12m point uses the latest filed ≤ (t − 365d). Split neutralisation as above (threshold |adj_ret/raw_ret − 1| > 0.10).
  • |NSI| > 1.0 (>170% / −63% in a year) dropped as data-error / missed-corporate-action guard.
  • Forward return = adj_close(next formation)/adj_close(formation) − 1.
  • Backtest: src/lab/net_issuance.py (run() monthly = gated; run(rebalance_months=3) = quarterly exploratory). Monthly excess/LS series in monthly.parquet beside this file.
  • Limitation: the Finnhub-sourced universe carries some survivorship/coverage drift; the ≥12-month-listed filter and the monotone-both-halves consistency mitigate but don't eliminate it.
← Oldernet-share-issuance-v1 Newer →spx-0dte-iron-condor-forward-v1

Mechaniq provides information, not investment advice. We do not execute trades. Past results are no guarantee for future performance. You are solely responsible for your trading decisions.

Lab · Methodology · Greeks Lab · About · FAQ · Glossary · Privacy · Terms · mechaniq.trade © 2026

07 Jul 2026, 07:07