Machine Learning in Finance — What Works and What Doesn't
Machine learning promises to find patterns humans miss, and finance is drowning in data — so surely ML should mint money? The reality is humbling: finance is the hardest domain to apply ML to, because the data is noisy, non-stationary, and adversarial, and the ways to fool yourself are endless. This post is an honest guide to where ML genuinely works in finance, where it reliably fails, and why the discipline here is mostly about not deceiving yourself.
Posts 3–4 used ML to accelerate pricing and risk; this post confronts ML applied to the prediction problems finance is famous for. It builds on the ML foundations series but adds the finance-specific brutality that makes naive ML lose money. The theme: in finance, ML’s biggest risk isn’t that it doesn’t work — it’s that it appears to work. (Educational, not financial advice.)
Why finance is the hardest place to apply ML
ML thrives on stable patterns in abundant data; finance offers neither, and the mismatch is severe:
- Low signal-to-noise. Financial returns are dominated by noise — the predictable component is tiny relative to the random one. Unlike image recognition (where the signal is strong and stable), finding a real, persistent edge is extraordinarily hard, and most apparent patterns are noise that won’t repeat.
- Non-stationarity (the killer). The data-generating process changes — markets evolve, regimes shift, and crucially, participants adapt. A pattern that worked gets arbitraged away precisely because people (and models) exploit it. Finance is adversarial: it actively destroys the patterns you find, unlike physics or vision where the rules hold still. This is the single deepest reason ML is hard in finance — the past is not just an imperfect guide to the future, it’s a guide the future actively invalidates.
- Limited relevant data. Despite “big data,” the relevant history is often short — a few decades of monthly macro data, a few dozen credit cycles, a handful of real crises. Deep learning’s data hunger is badly mismatched to the scarce, regime-dependent data of many financial problems, so models overfit.
- Overfitting to noise is catastrophic and easy. With low signal and flexible models, it’s trivial to fit the noise and get a backtest that looks spectacular — and loses money live. Finance punishes overfitting with real losses, and the subtle leakage traps (post 2) make false success the default outcome of careless ML.
The honest summary: finance violates nearly every assumption ML relies on, so most ML applied naively to financial prediction fails — and worse, fails after looking like it worked in backtest. Respecting this is the beginning of competence.
The ways finance fools you
The dangerous part isn’t that ML fails — it’s the specific, seductive ways it appears to succeed. These are the traps that separate practitioners from people about to lose money:
- Backtest overfitting. Try enough models, features, and parameters, and some will look great on historical data by pure chance — the multiple-testing problem, severe in finance because people run thousands of backtests. A strategy selected for its great backtest is often selected for its luck, not its edge, and reverts to mediocre (or worse) live. This is the most pervasive self-deception in quantitative finance.
- Data leakage / lookahead (post 2) — the cardinal sin, and finance is full of subtle versions (using data before it was available, revised figures, point-in-time violations). Leakage produces impossibly good backtests that vanish in production.
- Survivorship and selection bias (post 2) — training on survivors or a biased sample makes everything look safer and more profitable than reality.
- Regime-dependence — a model trained in one regime (a long bull market, a low-rate era) can fail catastrophically when the regime changes, which it inevitably does. A backtest spanning only one regime proves little.
- Ignoring costs and capacity — a backtest that ignores transaction costs, market impact, and liquidity can show profits that evaporate once you account for the friction of actually trading, especially at size.
The unifying signature (as throughout the data post): these all produce optimistic, believable, wrong results — a great-looking backtest that doesn’t survive contact with reality. In finance, a spectacular backtest should raise suspicion, not excitement, and the core skill is adversarial self-scrutiny: how is this fooling me?
Where ML genuinely works in finance
Despite the brutality, ML does work in finance — but often not where people first reach (naive price prediction), and knowing where it genuinely adds value is the practical payoff:
- Reading and structuring unstructured data (the strongest use). NLP/LLMs on documents, filings, news, and contracts (post 7) — extracting, classifying, and structuring information at scale. This is where AI’s edge is most real and most defensible, because it’s a capability (reading vast text) rather than a bet against efficient markets, and the “pattern” (what a document says) is stable, not adversarial.
- Accelerating computation (posts 3–4) — ML surrogates for expensive pricing/risk, where the ground truth is a known model, not an uncertain market. A legitimate, low-risk win.
- Credit and default modeling — assessing default risk from fundamentals and behavior, where there’s genuine, relatively stable signal (a borrower’s financials really do relate to default risk) — a long-standing, working application (post 9).
- Operational and structured problems — fraud detection, anomaly detection, classification, and automation of structured financial tasks, where the signal is real and less adversarial than market prediction.
- Risk and monitoring augmentation (posts 4, 9) — surfacing patterns, anomalies, and concentrations to augment human risk judgment.
Notice the pattern: ML works best in finance where the problem is about information and structure (reading documents, assessing credit from fundamentals, detecting anomalies) rather than beating the market on price prediction — because the former has stable, non-adversarial signal while the latter fights efficient, adaptive markets. This reframes AI financial engineering: the durable value is mostly in understanding and processing financial information faster and more consistently, not in a magic alpha-predicting model. The honest practitioner applies ML where it has an edge (information, structure, computation, credit, operations), stays deeply skeptical of market-prediction claims, and treats every backtest as guilty until proven innocent — because in finance, the model that looks like it works is usually the one about to lose money.
The throughline: finance is the hardest domain for ML — low signal-to-noise, non-stationary and adversarial (participants arbitrage away the patterns you find — the deepest reason), limited relevant data, and catastrophic-yet-easy overfitting — so most ML applied naively to financial prediction fails, and worse, fails after looking like it worked. The danger is the seductive self-deceptions: backtest overfitting (multiple-testing luck — the most pervasive), leakage/lookahead, survivorship/selection bias, regime-dependence, and ignoring costs/capacity — all producing optimistic-believable-wrong backtests, so a spectacular backtest should raise suspicion. But ML genuinely works where the problem is information and structure, not beating the market: reading/structuring documents (the strongest, most defensible use — stable non-adversarial signal), accelerating computation (surrogates), credit/default modeling, fraud/anomaly detection, and risk/monitoring augmentation. The durable value is processing financial information faster and more consistently — not a magic alpha model — and the core discipline is adversarial self-scrutiny: how is this fooling me?
Key takeaways
- Finance is the hardest place to apply ML: low signal-to-noise (returns are mostly noise), non-stationarity + adversarial dynamics (participants arbitrage away found patterns — the deepest reason; the future actively invalidates the past), limited relevant data (short histories, few cycles — mismatched to deep learning’s hunger), and easy, catastrophic overfitting (flexible models fit noise → great backtest, real losses).
- Most ML applied naively to financial prediction fails — and dangerously, fails after appearing to work in backtest; respecting this is the start of competence.
- The seductive self-deceptions: backtest overfitting (multiple-testing luck across thousands of backtests — the most pervasive error; a strategy chosen for its backtest is often chosen for luck), data leakage/lookahead (post 2), survivorship/selection bias, regime-dependence (one-regime backtests prove little), and ignoring transaction costs/market impact/capacity — all yielding optimistic-believable-wrong results, so a spectacular backtest should raise suspicion, not excitement.
- ML genuinely works where the problem is information and structure, not beating the market: reading/structuring unstructured data (NLP/LLMs on documents — the strongest, most defensible use, because it’s a capability with stable non-adversarial signal), accelerating computation (surrogates, posts 3–4 — ground truth is a known model), credit/default modeling (genuine stable signal, post 9), fraud/anomaly detection, and risk/monitoring augmentation.
- The reframe: AI financial engineering’s durable value is processing financial information faster and more consistently, not a magic alpha-predicting model — so apply ML where it has stable signal, stay deeply skeptical of market-prediction claims, and treat every backtest as guilty until proven innocent (core discipline: how is this fooling me?).
Further reading
- Machine learning — the foundations applied here
- Quantitative analysis (finance) — ML’s place in quant work