A bigger signal library should help a stock book. We tested that on purpose, with the split written down first, and it did the opposite.
The setup
Our research branch builds small strategies ("sleeves") from published stock signals, groups them into families and pods, and trades them as one netted account with a no-trade band. The rules were chosen on 1998 to 2007 and scored once on 2008 to 2017. The best design so far, which we call variant D, scored 1.04 after costs on those unseen years (1.57 before costs, worst drawdown -11.0%).
Round 4 asked a simple question: what if we give the same machinery more ideas? We added 35 new published signals built from local prices, volume and SF1 fundamentals: distress, leverage, margins, growth gaps, accruals, dividends, R&D, earnings streaks, coskewness, downside beta, price delay and the earnings announcement premium. All 35 were smoke-tested first (60 to 100% coverage). The plan was committed before the run.
The result
The library went from 52 to 87 signals. Chosen on 1998 to 2007 it produced 3,842 sleeves in 181 families and 27 pods, nine of them made only of new signals.
| Book | 2008-2017 Sharpe after costs |
|---|---|
| Variant D (52 signals) | 1.04 |
| 87 signals, D's rules | 0.46 |
| 87 signals, pods weighted as ideas | 0.41 |
The in-sample Sharpe on 1998 to 2007 rose to 3.2 for the larger library. The unseen number went down by more than half.
Why
Three things show in the logs:
- The new anomalies had faded. Standalone in 2008 to 2017, the new signals that passed the bar scored 0.14, against 0.34 for the old passers.
- A bigger pool picks more luck. Each extra signal is another draw at the selection bar, and the bar cannot tell edge from a good draw. We had already counted 13 trials on this split.
- The weighting threw away what worked. Weighting pods by idea zeroed the four large pods that had proven themselves.
It got worse before it got better
Round 5 fixed the process: choose on 1998 to 2002, score on 2003 to 2007 on a panel cut at the end of 2007, so the choice never sees the scoring years. All seven admission rules we tried lost after costs on that clean check, from -0.07 for a t-stat of at least 2 to -0.90 for the plain bar. Even "admit everything" lost. Directions learned from the bubble years had turned.
Then variant D was frozen (hash recorded and pushed before the test years were opened) and run once on 2018 to mid-2026: 0.56 after costs, t 1.6, drawdown -24.1%. The simpler book from round 1 scored 0.73 on the same years.
What we take from it
More signals from the same picked-over data added luck faster than edge. What helped was netting the trades and trading to the band's edge, which cut cost, not adding ideas. A diversified US-stock anomaly book looks worth about 0.5 to 0.75 after costs on unseen years, roughly one independent source of return. Reaching Sharpe 2 would take ten or more such sources, from new markets or data, plus a forward record.
Try it
The protocol, amendments and result files are in github.com/arhancanli/alphac, and the validation tools (deflated Sharpe, placebo tests) are in github.com/arhancanli/canlicapital. canli-mcp is a free MCP server (MIT, no API key, runs locally): npx -y canli-mcp.
When you add signals to a book, what do you do to stop the selection step from counting luck as edge?
If this was useful to you, a star on the canlicapital repo is appreciated, and so is sending this to someone who'd use it.
arhancanli
/
canlicapital
canli-mcp: 315 free finance tools for Claude and any MCP client, behind three (SEC filings, insider trades, 13F and 13D/G holders, options, FOMC, macro data, quant analytics, backtest validation). MIT, no API key, runs locally. Plus Canli Capital's open quant research, where every number links to its source file.
Written with AI assistance. Every number is from the goal log entries for rounds 4 and 5 and the variant D test (saved in drafts/data on 2026-10-22).










