Mining Alpha From Fundamental Data: What Actually Predicts Returns — and the Traps the Mining Harness Sets

The mythology of quantitative edge is exotic: satellite photos of retailer parking lots, tanker-tracking feeds, credit-card panels scraped and resold. There is real information in some of that — sold to hundreds of funds simultaneously, at prices that capture most of its value, with histories too short to validate properly. Our conclusion, after building a long/short system on none of it, is less glamorous and more durable: the most under-priced dataset in finance is still the standard financial statements, read more rigorously than the crowd reads them.

Every quarter, thousands of companies file income statements, balance sheets, and cash-flow statements — audited, standardized, free. The crowd reads a handful of headline ratios. The rigor is in the details: which of the dozens of raw fields actually predict future returns, measured properly — point-in-time, as the second article in this series demanded — and which are noise wearing a plausible story?

This article shows exactly how we answered that for our own system. We took the raw filing fields, built a measurement harness around one statistic — the information coefficient — and mined the lot. By the end you will have the formula, the exact factor definitions our live long/short composite trades (real code, not pseudocode), the measured IC table — regenerated from our panels for this article — and the two traps the harness itself set for us, including a “signal” with a t-statistic near 6 that we refused to trade.

The Information Coefficient

Factor mining needs a ruler before it needs a shovel. Ours is the information coefficient (IC): at each month-end t, rank every stock in the universe by the candidate signal, rank them again by their next month’s return, and correlate the two rankings:

IC_t = corr( rank(signal_i,t),  rank(return_i, t→t+1) )     across stocks i

mean IC   = average of IC_t over all months        (the edge)
IC t-stat = mean(IC) / std(IC) × √n_months          (is it real?)
factor IR ≈ mean(IC) / std(IC) × √12               (annualized quality)

Rank correlation, not raw correlation — so one meme-stock outlier cannot manufacture a relationship. The magnitudes worth knowing: a monthly cross-sectional IC of 2% is respectable, 5% is excellent. These sound tiny, and that is the point — a factor is not a forecast of any single stock; it is a persistent lean across thousands of bets, and a 5% rank correlation compounded across a 3,000-name universe, every month, is a business. The t-statistic guards against luck, and the share of positive months tells you whether the edge shows up steadily or in rare bursts.

The reason a tiny correlation is worth industrializing is the oldest identity in active management: risk-adjusted performance scales with skill times the square root of breadth. A stock picker with a 5% edge on twenty ideas a year has almost nothing; the same 5% edge expressed across three thousand names, refreshed twelve times a year, has enormous effective breadth — and breadth is exactly what a ranking factor manufactures. This is also why the harness measures ICs on the whole liquid cross-section rather than a curated subset: shrinking the universe to names where the story “makes sense” quietly destroys the breadth that makes the arithmetic work, and flatters the IC through selection at the same time.

Method details matter enough to state: the harness scores each candidate at every month-end against next-month returns, on the point-in-time panels from the previous article — each filing enters on its SEC filing date, never its fiscal date — over a liquid universe (average dollar volume of at least $2 million, price above $5), skipping any month with fewer than 100 scoreable names. Every choice is fixed before scoring begins, because a harness whose settings move per-candidate is just another way to mine yourself.

The Factors We Mined — and Their Exact Definitions

Candidates were the raw Sharadar SF1 filing fields — not pre-engineered signal libraries. Each candidate had to come with an economic reason it should work before it was scored; the harness then decided whether the data agreed. What survived is the exact set our live composite ranks on, and its definitions are short enough to publish in full — this is the actual production code from our factor library:

def _factor_frames(P: dict) -> dict:
    A  = P['assets']
    ev = (P['marketcap'].fillna(0) + P['debt'].fillna(0)
          - P['cashneq'].fillna(0))
    ev = ev.where(ev > 0)                      # enterprise value
    me = P['me']                               # month-end close
    return {
        'cash_prof':  P['ncfo'] / A,           # operating cash flow / assets
        'net_iss':    -P['share_yoy'],         # negative YoY share growth
        'fcf_ev':     P['fcf'] / ev,           # free cash flow yield on EV
        'gross_prof': P['gp'] / A,             # Novy-Marx gross profitability
        'op_prof':    (P['revenue'] - P['cor']
                       - P['sgna'].fillna(0)) / P['equity'],
        'int_cov':    P['ebit'] / P['intexp'].abs(),
        'buyback':    -P['ncfcommon'] / A,     # net buyback yield
        'mom6':       me / me.shift(6) - 1,    # price momentum (regime driver)
        'mom12':      me / me.shift(12) - 1,
    }

Take a few apart to see the economics. Cash profitability (ncfo/assets) is operating cash flow scaled by assets — profitability measured at the cash-flow statement, where accrual games are hardest to play. A company can time revenue recognition; it cannot easily fake cash arriving. Net issuance is management’s own trading signal: companies that shrink their share count are, in aggregate, buying when insiders think shares are cheap; heavy issuers are selling. Interest coverage (EBIT over interest expense) is old-fashioned solvency — balance-sheet quality expressed as a ratio a credit analyst from 1960 would recognize. Every factor in the set has a story of this kind; none was kept on statistics alone.

FCF/EV deserves its own sentence because the denominator is doing half the work: free cash flow is yielded against enterprise value — market cap plus debt minus cash — so a company cannot look cheap merely by being levered, the classic failure of price-to-earnings screens. And gross profitability (gross profit over assets) is the counterintuitive veteran of the set: it sits at the top of the income statement, before management has had much chance to shape the number, which is precisely why the literature — and our own panel — finds it the most era-stable of the profitability family even though its headline IC is the lowest of the four.

Note also what the composite does not do with these scores: it does not weight them by their ICs. Each factor enters as an equal-weight percentile rank. IC-weighting was tested and rejected in research — it loads up on whichever factor dominated the early sample and then underperforms when leadership rotates, whereas the equal-weight blend held its edge in both halves of the decade. Declining to use the very statistic this article celebrates as a weighting scheme is the quiet second act of mining discipline.

What Actually Predicted Returns

For this article we re-ran the measurement on the same point-in-time panels the live system trades from (a committed script; median universe ≈ 3,270 liquid US names per month, 2016–2026). First, the survivors:

FactorMean ICt-stat% months +Annualized IR
Interest coverage6.14%6.0868.9%1.91
Net share issuance6.11%5.9570.0%1.96
Cash profitability5.78%6.4971.3%2.04
FCF / enterprise value5.59%6.3469.7%1.99
Operating profitability4.77%6.2670.5%1.96
Buyback yield4.35%4.9265.6%1.54
Gross profitability3.41%4.6565.6%1.46
12-month momentum3.23%2.4361.1%0.79
6-month momentum2.47%2.1155.5%0.67

Three readings. First, the cash-flow family dominates: the four strongest fundamental factors all touch cash generation or capital returns, consistent with the accrual-avoidance thesis. Second, the momentum controls behave exactly as the literature says they should — positive, significant, but weaker and streakier (55–61% positive months versus ~70% for the quality factors). We included them partly as instrument calibration: a harness that had failed to reproduce the best-documented anomaly in finance would itself be suspect. Third, these numbers — regenerated for this article — match the values recorded in the factor library’s documentation when the set was originally mined, which is what reproducibility is supposed to look like.

Now the more instructive table: fields the same harness scored that our live set excludes.

Rejected candidateMean ICt-statWhy it’s out
Leverage (debt/assets)1.14%1.52statistical noise
Cash holdings (cash/assets)−3.05%−2.65significant — but no thesis survived scrutiny
Size (market cap)6.58%5.80one regime bet in disguise

Leverage is the easy case: an IC indistinguishable from zero, discarded without regret. The other two are the traps, and they are worth slowing down for.

The size trap. Raw market cap posts a 6.58% IC with a t-stat of 5.8 — on this table, the “best factor we have.” It says: buy large caps, short small caps. But this is 2016–2026 US data — the megacap decade — and the academic size premium, where it exists at all, points the other way. What the harness found is not a cross-sectional inefficiency; it is one long macro regime (index flows and the AI-era concentration our Technology deep dive chronicles) sampled 122 times and dressed up as 122 independent observations. The IC formula cannot tell the difference. Only economics can — which is why a factor needs a reason before it gets a score.

The flipped-sign trap. Cash holdings show a statistically significant negative IC: cash-rich companies underperformed. The tempting move is to flip the sign and call it a discovered factor — “short the cash hoarders.” But we had no prior thesis predicting that sign; plausible stories exist in both directions (cash = optionality and safety; cash = no ideas and dilution risk), and a story invented after seeing the data is not a thesis, it is a rationalization. In a scan of dozens of fields, some will clear t = 2.6 by chance. It stays out.

The Risk: Mining Is Multiple Testing

Here is the uncomfortable arithmetic every factor miner must own: score enough candidate fields and the best-looking ones are guaranteed to look good — that is what “best-looking” means. Data mining across many fields is multiple testing, and the size and cash-holdings rows above show the machinery producing exactly the seductive artifacts theory predicts. This is the “factor zoo” problem: hundreds of published anomalies, most of which evaporate out of sample.

Our platform’s architecture decision D13 draws the boundary explicitly, and it is the most important sentence in this article: factor mining is permitted as offline research only — never as a live, automated process. The live system does not scan for new factors, does not reweight by recent IC, and does not consume consensus estimates or machine-learned scores. What it trades is a fixed, economically-motivated set, chosen once in research, equal-weighted precisely because weighting by past IC overfits the early sample — and then subjected to out-of-sample validation, walk-forward testing, and multiple-testing corrections (deflated Sharpe ratios, later in this series) before anything reached production.

The boundary, stated plainly Research mines; production does not. A pipeline that continuously mines its own factors is a machine for manufacturing overfit — each “improvement” is another draw from the multiple-testing lottery, compounding silently. Freezing the factor set converts an open-ended fishing expedition into a single, testable hypothesis: this specific set, chosen for these specific economic reasons, works out of sample or it does not.
Where these numbers come from Every IC in both tables was computed by a committed evidence script that calls the production factor library unmodified — same point-in-time panels, same factor definitions the live composite trades — and writes its results to JSON; the article quotes only that file. Backtested statistics are hypothetical, describe 2016–2026, and are not a promise about the next decade.

One more honest caveat: even the survivors are not permanent. Factor edges decay as they get crowded, and a fixed set is a bet that these particular economic mechanisms — accrual avoidance, issuance signaling, solvency — are durable features of how markets misprice statements, not artifacts of one decade. Monitoring that decay live, and deciding when a factor earns retirement, is an operations problem we take up near the end of this series. The fundamental analysis these factors automate is the same discipline our single-stock research applies by hand — free cash flow, buybacks, balance-sheet quality — done for three thousand names at once, every month, without fatigue. The rest of the curriculum lives on the Macro & Strategy hub; next, these factors get assembled into a portfolio.

The AlphaEdge Take

The durable information edge is not exotic data; it is rigor applied to the most public dataset in finance — the filings everyone has and few measure properly. Mine with a ruler (the information coefficient), demand an economic thesis before the statistics, and respect what the harness teaches through its traps: our two most seductive rejects, a t = 5.8 size “signal” that was one megacap regime in disguise and a significant flipped-sign artifact with no prior thesis, would both have poisoned the live book. Freeze what survives, equal-weight it, validate it out of sample — and let production trade while only research ever mines.

Georgi Kuzmanov

Senior Equity Analyst & Founder at AlphaEdge. Columbia University MSFE (2011–2013). Covering equities, macro, and geopolitics for serious investors.

Disclosure: This article is for informational purposes only and does not constitute investment advice. Backtested and hypothetical performance results have inherent limitations and do not represent actual trading; past performance is not indicative of future results. The author may hold positions in securities mentioned. AlphaEdge is an independent publication and is not affiliated with any broker, fund, financial institution, investment adviser, or broker-dealer. Always do your own research before making investment decisions. See our Financial Disclaimer.