Pitfield St

Note 02 Full report 5 November 2026 EquitiesFactorsSmall caps

Searching for systematic alpha in US small- and mid-cap equities: evidence from four research iterations

We built and tested four systematic stock-selection strategies for US small and mid caps, on point-in-time data that keeps the companies that later failed. The best beat its own universe by 2.6 points a year after costs, a gap too small to tell apart from luck, had almost no alpha beyond the standard factors, and trailed the S&P 500. None of the four found an edge we could rely on.

This is the full report. The short version covers the same ground in a few minutes.

A point-in-time study of profitability, shareholder distributions, momentum, market structure, and the limits of systematic stock selection. Pitfield St Research, 2026. All results are hypothetical backtests, net of estimated trading costs unless stated.

V4, net return a year, 2017 to 2026
12.8%
SPY, same months
14.8%
V4 over its own universe, points a year
+2.6t 1.00
Factor-adjusted alpha, points a year
+0.6t 0.27

1Executive summary

Between July and November 2026 we built and tested four versions of a systematic stock-selection strategy for US small- and mid-cap stocks. Each version was written down before its results were seen, run on point-in-time data that includes companies that later failed, charged for realistic trading costs, and judged against two yardsticks: the universe of stocks it was choosing from, and SPY, the S&P 500 fund an investor could simply buy instead.

None of the four versions established convincing, repeatable alpha after costs and after accounting for well-known risk factors. This report explains how we reached that conclusion, what each version taught us, and why we think the work is worth publishing anyway.

The main results:

Main findings

IterationWhat was testedPeriodAgainst its own universeStrategy vs SPY, a yearVerdict
V1Value screen with quality filters and momentum, $50m to $1bn companiesMar 2017 to Oct 20264.6% vs 6.8%*4.6% vs 14.6%†Failed every pre-set test
V2 · P8Rising operating profit, small capsMar 2017 to Oct 2026+3.5 (t 1.55)12.1% vs 14.5%Not significant
V2 · K1Profitability composite, mid capsMar 2017 to Oct 2026+3.2 (t 1.33)12.5% vs 14.5%Not significant
V2 · R1Net buyback yield, mid capsMar 2017 to Oct 2026+3.7 (t 1.88)12.4% vs 14.5%Not significant
V3 · P8P8's frozen rules on earlier data2013 to Feb 2017−1.2 (−4.0 to +1.5)10.4% vs 14.2%Falsified
V3 · K1K1's frozen rules on earlier data2012 to Feb 2017−0.1 (−3.7 to +3.6)12.7% vs 14.6%No demonstrated advantage
V3 · R1R1's frozen rules on earlier dataNone availableNot testablen/aUntested
AdaptiveMarket regimes and switching rules for P8, K1 and R12017 to 20260 of 12 regime effects survive correctionSwitching cost 1.6 to 5.9 pointsNo adaptive model justified
V4Profitability, share reduction and momentum, NYSE 20th to 80th percentile, capped daily tradingMar 2017 to Sep 2026+2.6 (t 1.00)12.8% vs 14.8%Tier 1 only; failed Tier 2

Net of estimated trading costs. Excess over the universe is the annualized average monthly difference, in percentage points, with its t-statistic or, for the historical tests, its 90% interval. *V1's protocol compared compound annual returns, so its row shows the strategy's and universe's compound returns. †V1 never measured SPY; this figure was computed for this report from SPY's dividend-adjusted price over the same dates. Each row has its own period, so rows should not be compared with each other directly.

Figure 1. Every version against its own universe and SPY. Compound annual return, net of estimated costs, each over its own test period. Universe means the equal-weighted stocks each version could choose from, under the same rules and costs (V1: $50m to $1bn companies; V2 and V3: the NYSE size tier; V4: the coverage-matched NYSE 20th to 80th percentile universe). SPY is bought and held, with dividends and no trading costs. V1's SPY figure was computed for this report. The V3 rows cover earlier years, and the V3 tests used different data.

2The question and why we asked it

The starting idea was simple. Smaller public companies are followed by fewer analysts, many institutions cannot own them in size, and information about them may reach prices more slowly. Hong, Lim and Stein (2000) found that momentum is strongest among small stocks with little analyst coverage, which fits that story. If the story holds, a careful, rules-based reading of company accounts might find mispriced stocks more easily among small and mid caps than among the largest companies.

We treated this as a hypothesis to test, not an assumption. Small caps do not necessarily outperform, and the research literature gave us reasons for caution before we wrote a line of code:

So the question we set ourselves was narrow and practical: using only information available at the time, can a systematic, long-only strategy select US small- and mid-cap stocks well enough to beat its own universe after costs, show alpha beyond standard factors, and ultimately beat a low-cost S&P 500 fund?

The last test matters most. An investor’s real alternative to a stock-selection strategy is not the strategy’s universe. It is an index fund. A strategy can pick better stocks than its universe and still lose to the index, if the universe itself lags.

  1. Jul to Oct 2026V1. A value screen built from practitioner books, backtested 2017 to 2026 with a frozen out-of-sample period. Failed.
  2. Nov 2026V2. 24 accounting signals from the academic literature, pre-registered. No signal significant; three candidates carried forward.
  3. Nov 2026V3. Diagnosis of V2, audits of two historical price sources, a rebuilt point-in-time history, and a frozen test of K1 and P8 on 2012 to 2017.
  4. Nov 2026Adaptive markets. Pre-specified regime tests and walk-forward switching rules. No regime effect survived; switching lost.
  5. Nov 2026V4. One universe, three signals, capped daily trading, frozen pass marks. Tier 1; failed Tier 2.
Figure 2. The four iterations. Each step was specified before its results were seen.

3Data and method

The full method is in the appendix. This section covers what a reader needs to follow the results.

Data sources:

What “point in time” means here:

Trading costs:

How results are judged:

How we tried to keep ourselves honest:

One limit runs through the whole study. The years 2017 to 2026 were examined by every version, so results from that period are exploratory, not out-of-sample. The only data no version had seen was 2012 to early 2017, which is why we spent so much effort rebuilding it.

4V1: a value screen for small companies

The first version came from a close reading of practitioner books on quantitative value and momentum investing:

The design was a funnel, not a scoring formula, following Gray and Carlisle’s evidence that mixing quality with cheapness in one score does worse than ranking on cheapness alone.

  1. Universe. US common stocks on the NYSE, Nasdaq or NYSE American with a market value between $50 million and $1 billion.
    • Price of at least $2.
    • Median daily trading of at least $1 million.
    • Revenue of at least $10 million.
    • Up-to-date filings.
    • Banks, insurers, utilities, REITs, ADRs and similar structures excluded.
  2. Hard filters. These removed:
    • companies with late filings, auditor changes, restatements, going-concern warnings or material weaknesses;
    • the worst 5% on accruals;
    • the worst 5% on a distress model (Campbell, Hilscher and Szilagyi, 2008);
    • the worst 10% on dilution;
    • the 10% of stocks with the most extreme daily jumps.
  3. Value. The cheapest 20% of survivors on a composite of seven yields, including earnings, cash flow and book value relative to price or enterprise value.
  4. Momentum and quality within the cheap group. Positive 12-month momentum (skipping the most recent month), above-median six-month momentum, and a minimum Piotroski-style quality score.
  5. Portfolio. 20 names, equal-weighted, rebalanced at the end of February, May, August and November. If fewer than 10 names qualified, the rest stayed in Treasury bills.

The test:

Compound return a year, net of costsMar 2017 to Mar 2020Mar 2020 to Oct 2026Whole period
V1 strategy−4.1%8.7%4.6%
Equal-weighted universe−0.3%10.2%6.8%
IWM (Russell 2000 fund)3.8%10.9%about 8.6%
SPY, computed for this report10.9%16.3%14.6%

V1 failed every return test in both periods. Over the whole period it compounded at 4.6% a year after costs, against 6.8% for its equal-weighted universe.

Why it failed:

V1 taught us that a strategy assembled from sensible ingredients can still fail if its central signal does not work in the market where it is applied. That led us to the academic evidence on which signals had actually survived.

5V2: testing the academic signals

For V2 we reviewed 96 papers on anomalies, trading costs and the credibility of published results, and ranked the evidence before designing anything. Two families stood out as the most likely to survive in practice:

Value had a contested recent record. Momentum was well documented but expensive to trade.

The pre-registration, written before any V2 return was computed:

The answer was clear.

Three candidates carried forward. We wrote down the three most promising ideas as candidates for further testing:

These three were then run the way they would have to work in practice: with the previous month’s size breakpoints, which are known at the time, and on the corrected data.

Corrected data, Mar 2017 to Oct 2026Compound returnIts universeExcess, before costsExcess, after costst95% intervalCosts a yearFactor alpha (t)
P8, small caps 12.1% 8.6% +4.9 +3.5 1.55 −0.7 to +7.4 2.7% +1.0 (0.36)
K1, mid caps 12.5% 8.8% +3.3 +3.2 1.33 −1.7 to +7.9 1.0% −1.1 (−0.52)
R1, mid caps 12.4% 8.8% +4.0 +3.7 1.88 −0.3 to +7.5 1.2% −0.4 (−0.23)
SPY14.5%
Figure 3. V2's three candidates against their own universes. Annualized average monthly excess over the equal-weighted NYSE size tier, March 2017 to October 2026, on the corrected data. Filled points are after estimated costs, with 95% block-bootstrap intervals. Hollow points are before costs. None is significant once the number of signals tested is taken into account.

All three picked better stocks than their universes before costs: by 4.9, 3.3 and 4.0 points a year. After costs they still led, by 3.2 to 3.7 points. None of these leads is statistically reliable. Each interval includes zero, and these were the best survivors of 72 signal-and-tier combinations, so a t-statistic near 1.9 is about what chance alone would produce. Factor-adjusted, none has alpha: +1.0, −1.1 and −0.4 points a year.

One more thing about R1. Measured against its own universe, its factor-adjusted excess was +2.9 points a year with a t-statistic of 2.6. That was the strongest single result in V2. Its contributions were also the most widely spread: 556 names, with the ten largest providing 38% of its stock-selection effect. But it was one result among many, and it had no independent period to confirm it.

Against SPY the picture is different. All three compounded more slowly than SPY, which returned 14.5% a year over the same holding periods, and all three were more volatile.

Where the gap to SPY came from. We traced it for the frozen versions of the three strategies. The corrected data move the stock-selection figures by under 0.2 points.

The data were corrected along the way, and the conclusions survived.

Each problem was fixed by a general rule and the strategies rerun. The three candidates’ results moved by between −0.15 and +0.08 points a year, and no conclusion changed. The figures above are the corrected ones.

6Rebuilding the history

By the end of V2, the years 2017 to 2026 had been looked at by every version and several redesigns. Any further result from that period would be shaped by what we already knew. The candidates needed a test on data that had played no part in choosing them, which meant going back before 2017, and doing so without the survivorship bias that makes old backtests look better than they were.

A free history that was not what it claimed

The obvious free source was the WIKI price dataset: 15.4 million daily rows for 3,199 tickers from 1962 to 2018. Where it overlapped our own data its prices matched on 99.6% of days. But no ticker in it ends before April 2014. The dataset holds the stocks that were listed around April 2014, with their history filled in backwards. Companies that failed, merged or went private earlier are simply absent; 27 of the 28 well-known pre-2014 exits we checked were missing. Its ticker count rises from 1,488 in 1996 to 3,065 in 2014, over years in which the real number of listed US companies roughly halved. A backtest on it would only ever have held survivors. We kept it as a cross-check and nothing more.

A long vendor history, and what it could and could not support

We then bought EODHD’s full daily histories: about 102 million rows from 1962 onward, including some 29,000 US stock codes that are no longer listed. Its returns agreed with WIKI to within 0.1% on 97.6% to 99.4% of days in 2000-2015, and with Alpaca on 98.2% to 99.4% of days in 2016-2026. The problems were not missing prices but identity and adjustment:

What we built

We built a separate historical database rather than patch the vendors’ files:

Why “data from 1962” does not mean a test from 1962

Prices alone are not enough for a fundamental strategy. It also needs the company’s accounts, as they were known at the time. Structured financial statements exist at the SEC only from XBRL adoption: 2009 for the largest filers and mid-2011 for everyone else. We measured two ways around that, and neither was good enough:

So the usable history is shaped like this: prices including dead companies from about 1999, a reliable listed universe from about 2005, and point-in-time accounts from about 2011. Before writing any test, we set readiness criteria for each candidate. No year passed in full. K1 was allowed a conditional window from January 2012, P8 from January 2013. R1 had none: in 2014 and 2016 its missing values fell disproportionately on fragile companies, which would bias any result.

How much a few bad records can matter

The first run of the historical test reported that K1 beat its universe by +234% a year. One company’s history had been linked, through a former name, to another security that printed $35,700 on 530 shares, and zero-volume bad prints sat in the benchmark. After fixing those by rule, a second run reported +15%, because zero-volume days set a stock’s measured trading volume to zero and the cost model then charged thousands of percent to sell it. The third run, with every rule written down in advance, gave −0.1%. P8’s result moved by at most 0.2 points across all three runs; K1’s moved because the errors sat in its benchmark. All three runs are kept on record.

7V3: testing on earlier years

The historical test ran V2’s frozen K1 and P8 rules, unchanged, on the rebuilt database. The windows were 2012 to February 2017 for K1, and 2013 to February 2017 for P8. The protocol, the sample rules, twenty sensitivity checks and the verdict rules were fingerprinted before any return was computed.

The verdict rule was set in advance:

Windows of four to five years cannot prove a small edge. At the tracking errors observed, they could reliably detect only edges of about 3.1 points a year (P8) and 4.6 points (K1). What they can do is reject an edge of V2’s size.

P8 failed. Over 2013 to early 2017, rising operating profit in small caps trailed its universe by 1.2 points a year after costs. Before costs its stock selection added nothing (−0.1 points). Its 90% interval of −4.0 to +1.5 rules out the +3.4 points V2 had found. Its factor-adjusted alpha against the universe was −2.8 points a year (t = −2.06). The verdict held in all three runs and in every sensitivity check except those that added companies without an exact market value, and even there the interval stayed below V2’s estimate.

K1 showed no advantage. The profitability composite matched its mid-cap universe: −0.1 points a year after costs and +0.1 before. Its interval of −3.7 to +3.6 only just includes V2’s +3.3, and 7 of the 20 sensitivity checks would have falsified it, including the most natural one: comparing it only with companies that had the data to be ranked. We classed it as consistent but not confirmed, on the edge of falsified.

R1 could not be tested. Its data did not pass the readiness criteria for any year before 2017, so it remains an idea supported by one sample only.

Neither tested strategy beat SPY. K1 trailed it by 1.5 points a year and P8 by 2.5, in a period when large companies did well.

Could the remaining data gaps explain these results? We checked each one:

None of them could produce an edge of the size V2 measured. Every interval in the sensitivity table ends below +4.3 points a year, and most end below +3.3. Delistings barely mattered: exits were rare in these portfolios, and even counting every exit as a total loss moved the results by under a point.

Historical testWindowCompound returnIts universeSPYExcess, before costsExcess, after costs90% intervalV2's estimateVerdict
K1, mid caps Feb 2012 to Feb 2017 12.7% 12.6% 14.6% +0.1 −0.1 −3.7 to +3.6 +3.3 Consistent, not confirmed
P8, small caps Feb 2013 to Feb 2017 10.4% 11.7% 14.2% −0.1 −1.2 −4.0 to +1.5 +3.4 Falsified
Figure 4. The historical test. Annualized average monthly excess over the equal-weighted NYSE size tier, after estimated costs, with 90% block-bootstrap intervals. K1 runs from February 2012 and P8 from February 2013, both to February 2017, on the rebuilt history. The cross marks the edge each had shown in 2017 to 2026. An interval ending below its cross falsifies that edge.

8Do the results depend on market conditions?

Andrew Lo’s Adaptive Markets Hypothesis (Lo, 2004 and 2017; Lo and Zhang, 2024) offers a middle path between “markets are efficient” and “markets are full of free money”. In this view the profitability of a strategy changes as investors learn, compete and adapt. An edge can appear, fade and return as conditions and competition change.

That gave us a fair question to ask of V2’s three candidates. If their results varied over time, was the variation tied to identifiable market conditions? And if it was, could an investor have used that in real time?

What we tested

As before, everything was written down and fingerprinted before any result was computed.

Four market regimes, each a simple yes-or-no state known at the time of each portfolio decision:

Regime“Yes” stateShare of months in that state
Market directionSPY up over the past 12 months86%
VolatilitySPY’s 63-day realized volatility above its five-year median52%
Interest ratesThe 10-year Treasury yield up over 12 months65%
Size leadershipSmall caps (IWM) beat SPY over 12 months30%

Twelve tests: each of the three strategies under each of the four regimes. P-values came from a test that shifts the regime calendar against the return series, which preserves the slow-moving nature of both. Holm and Benjamini-Hochberg corrections were applied across the twelve.

Three switching rules, each simulated walk-forward from March 2020 to September 2026, with a one-month reporting lag and full trading costs for every switch:

What we found

Performance did change over time, a lot. P8 trailed its universe every year from 2017 to 2020, as it had in 2012-2016, and then beat it strongly from 2021: −1.5 points a year before 2022 against +8.6 after. Rolling 36-month excess swung across a range of 8.5 to 17 points for each strategy.

None of the regime effects survived correction. The closest was K1 doing better when rates were rising: +9.4 points a year, with a raw p-value of 0.019 but a Holm-adjusted p-value of 0.23. With twelve tests, about one raw p-value below 0.10 is expected by chance alone. There was one. Several regime states were also thin. The “down market” state had only 16 months, 13 of them in 2022 and 2023, so it largely measured one episode.

The results rested on a few months and a few names:

Switching did not help. Every rule that actually changed position lost money against simply holding the strategy, by 1.6 to 5.9 points a year. The two results closest to significance were significantly worse, not better. The rules held the universe instead of P8 through its best month, and the best-of-three rule arrived after each strategy’s run was over. One rule never switched, because its signals never turned negative, so it matched the static strategy exactly.

Variation is not predictability

These results separate two claims that are easy to blur:

One pattern is worth recording as a hypothesis only. Profitability (K1) did better when rates were rising in both 2017-2026 and 2012-2016. That is economically plausible: rising rates hurt long-duration, unprofitable growth stocks most. But it was not an expectation we wrote down in advance, and it failed the multiple-testing correction.

For a strategy whose edge may come and go, our conclusion was monitoring, not timing: decide in advance what evidence would retire it, and stop when that evidence arrives.

StrategyRegimeExcess when "yes"Excess when "no"DifferencepHolm-adjusted p
P8 Market up +4.7 −4.1 +8.7 0.248 1.00
P8 High volatility +3.9 +3.0 +0.9 0.876 1.00
P8 Rates rising +3.8 +2.9 +0.9 0.876 1.00
P8 Small caps leading +6.7 +2.0 +4.7 0.419 1.00
K1 Market up +2.8 +5.6 −2.8 0.581 1.00
K1 High volatility +3.1 +3.3 −0.2 0.952 1.00
K1 Rates rising +6.5 −2.9 +9.4 0.019 0.23
K1 Small caps leading +8.5 +0.8 +7.7 0.143 1.00
R1 Market up +3.9 +2.7 +1.1 0.876 1.00
R1 High volatility +5.2 +2.1 +3.1 0.486 1.00
R1 Rates rising +5.7 +0.1 +5.6 0.200 1.00
R1 Small caps leading +6.6 +2.5 +4.1 0.314 1.00

Net excess over each strategy's equal-weighted universe, in points a year, March 2017 to October 2026, corrected data. p from a circular-shift test that preserves the persistence of both series. Holm adjustment across all twelve tests.

9V4: one universe, three signals, realistic trading

V4 was a fresh design that drew on everything before it. It was specified, audited and frozen before any V4 return existed.

One universe instead of separate tiers

V2 ran separate small-cap and mid-cap portfolios. That left each fishing in a narrow pond, and it created needless trading: 43% to 57% of the stocks leaving a V2 portfolio left because they crossed a size boundary, not because their signal weakened.

V4 uses one universe: US common stocks on the NYSE, Nasdaq or NYSE American between the 20th and 80th percentiles of NYSE market capitalization, measured the month before.

Three signals, chosen and weighted in advance

Each signal is converted to a percentile within its NYSE size group (small or mid), so small companies compete with small companies. The composite is the weighted average of the three percentiles, and a company needs all three to be ranked.

Why operating profitability, and not gross profitability

The original V4 draft used gross profitability, as in Novy-Marx (2013). Before any return was computed, a coverage study showed two problems with it.

It was missing for 22% of eligible companies, and not at random:

Operating profitability, taken from the operating-income line companies themselves report, avoids most of that.

An accounting check before the freeze then tightened its definition:

That check found two problems in the first draft, and both were fixed before any return was computed:

After the correction, all three signals were available for 85% to 88% of eligible companies each year from 2013, against 74% to 80% with gross profitability. Coverage was nearly equal for companies that later survived (86%), merged (83%) or failed (84%).

Portfolio and trading rules

Pass marks, set before the test

TierRequirementWhat it means
Tier 1Beat the coverage-matched universe after costs, positive factor-adjusted alpha, still beat the universe with costs doubledA promising exploratory result. It is not statistical validation.
Tier 2Tier 1, plus significance after the multiple-testing correction, beating each single signal, no contradiction from 2012-2016, the same sign under every data check, and an explained concentrationWorth following on new data as it arrives
Tier 2ATier 2, plus beating SPY on compound return and Sharpe ratioA candidate to beat the index
Tier 3At least 36 months of new data, collected after the rules were frozen, that beat both the universe and SPYThe strongest evidence there is. No backtest can reach it.

Before the run we checked the trading engine against V2’s own simulator on a case both could run. Its monthly returns had a 0.988 correlation with V2’s, with the same average. The first full run stopped on a data error before producing any result: 34 takeovers had a recorded last price of zero. The correction was the one the frozen specification already required, so nothing about the strategy changed. We wrote the rule down before rerunning, and both runs are logged.

Figure 5. Why operating profitability. Share of eligible companies (NYSE 20th to 80th percentile) with all three signals available, by year, using operating profitability before R&D or gross profitability as the profitability signal. Measured before any V4 return was computed. 2012 is low because the share-change signal needs counts from 2011.

Results

From March 2017 to September 2026, 115 months net of all costs, V4 compounded at 12.8% a year:

V4’s Sharpe ratio was 0.57 against SPY’s 0.79, and its worst month-end drawdown was −32% against −24%. Costs were modest, about 0.45% a year, because quarterly rebalancing with a retention buffer kept one-way turnover near 56% a year.

The primary test. The excess over the coverage-matched universe was +2.6 points a year:

Before the test we had estimated that this sample could reliably detect an excess of about 3.2 to 5.2 points a year. The observed 2.6 sits inside the noise.

Factor-adjusted, almost nothing is left. V4’s alpha over Treasury bills against the six-factor model was +0.6 points a year (t = 0.27; 90% interval −3.0 to +4.2). Relative to its universe, V4 held more profitable companies (profitability loading +0.43), more recent winners (momentum +0.16) and slightly cheaper ones (value +0.15). Those are the tilts the design aimed for, and they account for most of the excess. What remained after removing them was +2.0 points a year (t = 0.96).

Did combining the signals help?

That doesn’t mean momentum alone is better. It means this test gave no evidence that combining the signals improved on it.

The verdict. V4 met all three Tier 1 conditions:

It failed Tier 2 on two counts: the primary test was not significant, and the composite did not beat momentum alone. It also did not beat SPY. Tier 1 is a description of point estimates, not a statistical finding, and on our own rules a Tier 1 result goes no further. We did not run variations to rescue it.

Mar 2017 to Sep 2026, net of costsCompound returnSharpeWorst drawdownVolatilityTurnover a yearCosts a year
V4 composite 12.8% 0.57 −32% 20.8% 56% 0.45%
Coverage-matched universe (primary benchmark) 9.6% 0.42 −37% 22.2% 57% 0.41%
Full eligible universe 9.4% 0.41 −37% 22.4% 55% 0.40%
Value-weighted universe 9.8% 0.44 −34% 20.9% 39% 0.23%
SPY 14.8% 0.79 −24% 16.3%
Profitability only 10.8% 0.52 −28% 18.6% 47% 0.40%
Share reduction only 10.0% 0.40 −45% 26.9% 74% 0.62%
Momentum only 14.1% 0.51 −38% 30.7% 141% 1.61%

Turnover is one-way: dollars traded divided by two and by the average portfolio value, so the initial purchase counts as 50%. Drawdowns are measured at month-end marks.

Figure 6. Growth of $1. V4, its coverage-matched universe and SPY, March 2017 to September 2026, monthly marks, log scale. V4 and the universe are net of estimated costs. SPY is bought and held with dividends and no trading costs.
Pre-registered test (one-sided)Estimate a yeartpHolm-adjusted p
V4 beats its coverage-matched universe+2.61.000.1590.80
V4 beats profitability alone+2.30.910.1820.80
V4 beats share reduction alone+1.20.270.3951.00
V4 beats momentum alone−3.7−0.610.7301.00
Factor-adjusted alpha above zero+0.60.270.3931.00
Evidence tierConditionResultMet
Tier 1Excess over the coverage-matched universe is positive+2.6 points a yearYes
Factor-adjusted alpha is positive+0.6 points a year (t 0.27)Yes
Excess is still positive with costs doubled+2.5 points a yearYes
Tier 2Primary test significant after the Holm adjustmentHolm-adjusted p 0.80No
Composite beats each single signal, or nearly matches it with better risk and diversificationBeats profitability and share reduction; not momentumNo
2012-2016 does not contradict the result+3.3 points a yearYes
Same sign with dual-class companies excluded, with gross or cash-based profitability, and with verified 2012-2016 pricesAll positiveYes
Concentration audited and explainedAudited; no data errors foundDone
Tier 2AAlso beats SPY on compound return and Sharpe ratio12.8% vs 14.8%; 0.57 vs 0.79No

Robustness, concentration and other periods

We ran every sensitivity listed in the protocol once, each against a benchmark built with the same rule. They fall into two groups.

Trading and data assumptions barely mattered. None of these moved the excess by more than 0.4 points:

Execution was not the problem. At $25 million, $2.8 million of purchases went unfilled over 36 quarterly formations, and the excess changed by less than a tenth of a point.

Design timing and company size mattered a great deal:

The excess was concentrated:

We checked every one of those names and months for data errors. That covered price, split and identity flags, plus an independent second price source, and we found none. The gains were real moves in a handful of strongly profitable, rising companies. That is what a profitability-and-momentum composite is designed to catch, but the result depends on catching them.

Year by year, the excess over the universe came mostly from three years: 2021, 2023 and 2024. It was negative in 2019, 2020, 2025 and 2026. Rolling 36-month excess over the universe was positive in 78% of windows; against SPY, in 49%.

Other periods. On the conditional 2012-2017 history, V4 beat its universe by 3.4 points a year (90% interval −1.0 to +7.6) and returned 18.9% a year against SPY’s 15.5%. That does not contradict the main result, but it is four years of weaker data and is treated as exploratory, not as confirmation. From March 2022 the excess over the universe was +5.1 points a year, while V4 still trailed SPY slightly.

Figure 7. Every authorized comparison. V4's annualized net excess over a universe built with the same rule, with 90% block-bootstrap intervals, March 2017 to September 2026. The last two rows compare V4 with the full and the value-weighted universes. Reported, never used to change a verdict.
Figure 8. Drawdowns. Decline from the previous peak at monthly marks, March 2017 to September 2026, for V4 and its universe (net of estimated costs) and SPY (with dividends, no costs). Month-end marks understate intra-month falls.
Figure 9. Rolling 36-month excess. V4's average annual net excess over its coverage-matched universe and over SPY in each trailing 36-month window, ending March 2020 to September 2026.

10What the four iterations show together

Figure 10. Factor-adjusted alpha across versions. Annual alpha of each strategy's net return over Treasury bills against the Fama-French five factors plus momentum, with 90% intervals (V4 from its regression; others derived from the reported Newey-West t-statistic). Each row has its own period. None is distinguishable from zero except V3's P8, which is significantly negative.
How concentrated was the excess?Share of total excess from the best 5 monthsExcess without the best 5 monthsMonths beating the universe
V2 · P887%+0.557%
V2 · K185%+0.558%
V2 · R179%+0.855%
V4128%−0.748%

V2 figures cover 116 months, V4's 115. A share above 100% means the remaining months together subtracted from the total.

We sort the lessons by how much weight they can bear:

1. Strong accounting characteristics did not translate into investable alpha. Demonstrated.

2. Stock-selection gains were absorbed by costs, volatility, market exposure and factor exposure. Demonstrated.

3. A model can beat its universe and still lose to the market. Demonstrated for 2017-2026.

4. Survivorship bias and corporate-action errors can produce badly misleading backtests. Demonstrated.

5. Point-in-time accounts and company identity are essential. Demonstrated.

6. Concentration makes strategies look more persistent than they are. Demonstrated.

7. Results changed with market conditions, but we could not identify the changes in advance. Demonstrated, within the regimes we tested.

8. More sophisticated combinations did not beat simpler strategies. Demonstrated in our tests.

9. Correct data and careful testing mattered more than maximizing historical return. Interpretation.

10. These failures do not show that small- and mid-cap investing is ineffective. Interpretation.

11Limitations

12Implications for systematic small- and mid-cap investing

For anyone building or evaluating a systematic small- or mid-cap strategy, a few practical points follow from this work.

13What we would test next

These are untested hypotheses. None of them is a finding.

14Methodology appendix and references

A1. Universes

VersionUniverseHard rules
V1NYSE, Nasdaq and NYSE American common stocks, $50 million to $1 billion market valuePrice at least $2. Median 20-day dollar volume at least $1 million. Revenue at least $10 million. 10-K within 15 months and 10-Q within 5. Two years of accounts and 13 months of prices. No financials, utilities, REITs, ADRs, partnerships, funds, SPACs or tracking stocks
V2Primary common stock of SEC filers, in tiers by that month’s NYSE market-cap percentiles: micro below the 20th, small 20th to 50th, mid 50th to 80th, large abovePrice at least $5. Median 20-day dollar volume at least $1 million. Current filings. 13 months of prices and two fiscal years. No SIC 6000-6999 or 4900-4949. No partnerships
V4NYSE, Nasdaq and NYSE American common stocks between the NYSE 20th and 80th percentiles, from the previous month’s breakpoints. Holdings may stay between the 10th and 90thPrice at least $5. Mean 60-day dollar volume at least $1 million, counting days without a trade as zero. Current 10-K and 10-Q. 13 months of prices. An exact point-in-time market value. No SIC 6000-6999 or 4900-4949. No ADRs, 20-F or 40-F filers, preferreds, warrants, units, partnerships or OTC lines

The V2 forward candidates use the previous month’s breakpoints. The pre-registered V2 tables use the same month’s.

A2. Market capitalization

A3. When financial information is available

A4. Signal definitions

A5. Corporate actions and price cleaning

Returns are total returns, including dividends and adjusted for splits.

Before 2016, the history uses general rules, written down before each rerun:

After 2016:

A6. Delisting returns

A delisted holding settles at its last close times one plus a delisting return:

From 2017 the exit table is V2’s audited table.

A7. Rebalancing and execution

V1V2V4
FormationEnd of Feb, May, Aug, NovEnd of each monthEnd of Feb, May, Aug, Nov
Portfolio20 names, equal weight, T-bills if fewer than 10 qualifyTop fifth of the tier, equal weight40 names, equal weight, enter top 15%, keep top 30%, at most 10 per FF12 industry
FillNext session, average of open, high, low and closeSameSame, capped at 5% of 60-day mean dollar volume per name per day; buys cancelled after 10 trading days; sells worked to completion
CashT-bill rateT-bill rateT-bill rate

A8. Transaction costs

From V2 on, the cost of each trade is:

half spread + 0.5 × daily volatility × √(trade value / 20-day median dollar volume)

Stress tests: costs doubled and fills at the open.

V1 charged a flat 1.0% per one-way trade below $250 million of market value and 0.5% above, stressed at two and three times.

A9. Lookahead and survivorship controls

A10. Factor regressions

A11. Statistical inference

A12. Multiple comparisons

A13. Out-of-sample limits

PeriodStatus
2017-2026Examined by V1, its redesigns, V2, V3’s diagnosis, the Adaptive Markets study and V4. Exploratory
2012 to Feb 2017Untouched when K1 and P8 were tested on it. Conditional data, short windows
Before 2012No free point-in-time fundamentals
After the freezeThe only truly independent evidence. Not yet collected

A14. Reproducibility

Each version kept:

The vendor price data are licensed and are not redistributed. Every figure in this report is computed by us from them.

References

Academic papers:

Books:

Data:

Important information about hypothetical performance

About these results. Every return in this report is hypothetical. The results come from backtests: simulations of how rules would have traded on historical data.

The limits of simulated results:

Several of the periods reported here had been examined repeatedly during the research, and we label them as exploratory.

What this report is not. It describes research findings. It is not investment advice, an offer, or a recommendation to buy or sell any security. Companies named in it are mentioned only to describe simulated holdings or data issues.

This note describes what the data showed over the period stated. It isn't a recommendation or a trade idea. We trade on our own research, but we don't publish what we trade.