Lessons 1 through 3 built the machinery: the pretrain-and-adapt bet (1), time-series foundation models (2), and how zero-shot, few-shot, and scaling laws actually behave on financial data (3). Now we point that machinery at a job. There are exactly two jobs an LLM can hold on a quant desk, and confusing them is how good teams ship bad research.
A language model can be a signal — you feed it text, it emits a number, and that number predicts returns. Or it can be a researcher — it reads the literature, proposes hypotheses, writes the backtest code, and critiques the results. Same model, radically different risk profiles. A signal lives or dies on out-of-sample predictive power; a researcher lives or dies on whether its tireless creativity is disciplined or merely prolific. This lesson works both roles, then spends most of its energy on the failure mode the researcher role unleashes: an idea generator that can run ten thousand strategies overnight is a multiple-testing bomb with a very short fuse.
Let’s sort the two jobs first, then go deep on each.
Two roles: the LLM as signal vs. as researcher
Before you read — take a guess
A team uses an LLM two ways: (a) to score every earnings-call transcript for sentiment and trade the score, and (b) to brainstorm 500 candidate signals and auto-write their backtests. Which framing is right?
The analogy. Think of a newsroom. The reporter turns events into a single filed number — “sentiment: +0.7” — that goes straight onto the trading wire; if the reporter is wrong, one story is wrong. The editor-in-chief doesn’t file stories — they assign hundreds of investigations, draft the methodology, and decide which leads to chase. A reckless editor who greenlights ten thousand investigations will, by sheer volume, surface a few that look like Pulitzer material purely by chance. The reporter’s failure is a bad article; the editor’s failure is a newsroom full of confident nonsense. An LLM can play either part, and the second part is where careers quietly end.
Precise definition. In the signal role, the LLM is a function mapping unstructured text (a filing, a headline, a transcript) to a real-valued score that enters a return forecast or a portfolio weight. It is evaluated like any alpha factor: information coefficient, out-of-sample Sharpe, turnover, capacity. In the researcher role, the LLM is an agent in a loop — propose a hypothesis , generate feature code, run a backtest, read the result, revise — and it is evaluated on the quality and honesty of the research process, not on a single number.
| LLM as signal | LLM as researcher | |
|---|---|---|
| What it outputs | A number per document/asset/day | Hypotheses, feature code, backtests, critiques |
| What you trade | The score directly | Whatever survives validation downstream |
| How you judge it | IC, OOS Sharpe, turnover, capacity | Discipline: deflated Sharpe, point-in-time data, replication |
| Dominant risk | Overfitting one signal; signal decay | Multiple testing across thousands of auto-generated trials |
| Lesson where it bites | This one (sections below) | This one + lesson 5 (leakage) + Machine Learning for Alpha |
Don't let the roles blur
The most expensive mistake is using the researcher to generate a signal and then forgetting to apply researcher-grade scrutiny to it. The moment an LLM proposes a factor, you owe it the full multiple-testing and point-in-time treatment — not the lighter “we found one nice factor” story. A signal that came out of a 5,000-idea firehose is not a discovery; it’s a lottery ticket that happened to win the in-sample draw.
When to use which
Use the signal role when the edge is reading text faster, cheaper, or more consistently than the market — a stable, repeatable extraction job. Use the researcher role when the bottleneck is idea throughput and engineering boilerplate — and only if you have the validation discipline to survive your own productivity. If you can’t deflate for the trials a researcher-agent runs, you are not ready to let it loose; you’ll just overfit faster.
Name the two roles.
Pick the right option for each blank, then check.
An LLM that turns a 10-K into a sentiment number you trade is acting as a , whereas an LLM that brainstorms 500 candidate factors and writes their backtests is acting as a .
LLM as signal #1 — sentiment & event extraction
Before you read — take a guess
You score thousands of news articles for sentiment, average to a daily per-stock score, and go long the top decile / short the bottom. Empirically, how does this kind of news-sentiment alpha behave across horizons?
The analogy. Sentiment alpha is fresh fish. Caught at dawn (the moment the news breaks), it’s valuable; by lunch it’s worth less; by tomorrow it stinks. The whole market is also at the dock buying the same fish, so the price of fresh collapses fast. You can make money trading fish, but only if you’re quick, you don’t overpay to transact, and you don’t try to move a tanker’s worth — the market is too small and too perishable for size.
Precise definition. A sentiment-and-event signal scores documents and aggregates them into a cross-sectional factor. For each document about asset on day , the LLM emits a polarity (and optionally an event tag — guidance cut, lawsuit, buyback). Aggregate to a daily per-asset score by averaging:
where is the set of documents about asset available on day and is its count. Then rank assets cross-sectionally and form a dollar-neutral long-short portfolio: long the top group, short the bottom.
Worked example — a tiny long-short. Five stocks, today’s averaged sentiment scores:
| Stock | Docs | Averaged sentiment | Rank |
|---|---|---|---|
| A | 4 | +0.80 | 1 (long) |
| B | 6 | +0.30 | 2 (long) |
| C | 3 | +0.05 | 3 (neutral) |
| D | 5 | −0.40 | 4 (short) |
| E | 2 | −0.75 | 5 (short) |
Go long the top two (A, B) and short the bottom two (D, E), each leg dollar-neutral. With $1 long and $1 short total, weight each long name $0.50 and each short name −$0.50. Suppose next-day returns come in at , , , . The long leg earns . The short leg earns . Gross long-short return: for the day. Now subtract costs: if a round-trip on this portfolio costs, say, 20 basis points, net is — still positive here, but notice how a few extra basis points of cost and a slightly weaker day flip the sign. That razor-thin margin is the whole story of sentiment alpha.
The decay is the constraint. Because the edge concentrates at short horizons, you must re-trade often to keep capturing it — and re-trading repeatedly pays the round-trip cost again and again. Hold too briefly and costs eat you; hold too long and the signal is already stale. There is an optimal holding horizon where net-alpha-per-day peaks, and faster decay pushes that sweet spot earlier. The chart below makes the trade-off tangible: drag the decay-speed slider down (faster decay, like fresh news) and watch the optimal horizon collapse toward “trade now or not at all.”
A sentiment score predicts the next few days, then goes stale as the market prices the news — its predictive correlation decays exponentially. But re-trading is not free: hold too briefly and you bleed the round-trip cost over and over; hold too long and you are trading on a dead signal. Net alpha per day is therefore hump-shaped. Drag the decay-speed slider toward faster decay (smaller τ) and the optimal horizon races earlier — the fresher the fish, the quicker you must sell. Raise the cost and the sweet spot pushes later, because you have to hold longer to earn back the spread.
| Holding horizon | Signal still alive? | Net alpha per day | Verdict |
|---|---|---|---|
| Intraday → 1 day | Strong | Highest, if costs are low | The natural home of news sentiment |
| 2–5 days | Fading | Positive but shrinking | Workable at modest size |
| 1–4 weeks | Mostly gone | Near zero after costs | Marginal; capacity is tiny |
| 1 month+ | Dead | Negative after costs | You’re paying to trade noise |
Fast decay means tiny capacity
A signal with a multi-day half-life cannot carry much capital. Every dollar you add pushes prices against your own entry, and the edge is too short-lived to amortize that impact. Teams routinely build a beautiful sentiment factor with a great in-sample IC, then discover it holds $30 million, not $3 billion — the alpha is real but the capacity is a rounding error on a large book. Always quote a sentiment edge alongside its decay half-life and its post-cost capacity, never as a standalone Sharpe.
When to use it
Reach for LLM sentiment when you have a genuine, costly-to-process stream of unstructured text (full earnings-call transcripts, dense filings, non-English news) where consistent machine reading beats the average human reader, and you operate at short horizons with low transaction costs and modest size. Skip it when the text is already trivially summarized by everyone (the headline number everyone reads in the same second), when your costs are high, or when you need a signal that holds size for weeks — the decay won’t let it.
Pick a term, then click its definition.
LLM as signal #2 — multimodal price-plus-text fusion
Before you read — take a guess
A multimodal model fuses a price/time-series encoder with a text encoder so the forecast conditions on both numbers and narrative. What's the single hardest thing to get right?
The analogy. A good macro trader watches two screens at once: the price ticking on the left, the news flashing on the right, and the interaction between them — “the stock dropped 2% but the news is benign, so this is a flush, not a fundamental break.” A multimodal model tries to be that trader: one encoder reads the numbers, another reads the narrative, and a fusion layer learns to condition each on the other. The magic is in the joint reading. But a human trader can’t accidentally read tomorrow’s newspaper; a sloppy data pipeline can.
Precise definition. A multimodal price-plus-text model maintains two encoders. A time-series encoder maps a window of price/volume/microstructure features to an embedding ; a text encoder (often an LLM) maps the relevant documents to an embedding . A fusion module combines them — concatenation, cross-attention, or gating — into a joint representation , from which a head predicts the forward return. Cross-attention fusion lets the price embedding query the text (“which part of this filing explains the move I’m seeing?”) and vice versa.
Worked example — what alignment actually requires. Say you want to predict the return over the window (the close on day to the close on day ). Every input — every price bar and every document — must carry a timestamp (specifically, knowable at the day- close). Concretely:
- A news article timestamped 4:15 PM on day , after the 4:00 PM close, cannot be used to predict the return labeled at the day- close — it wasn’t available yet.
- An 8-K filing that hit the wire at 11:00 AM on day can be used, because it was public before the close.
- A transcript that gets revised (typos fixed, redactions) the next morning must be ingested in its original, time- form, not the cleaned version — otherwise you’ve smuggled future edits backward.
If even 1% of your documents violate this, your backtest inflates and your live performance collapses. The fusion architecture is the easy part; the point-in-time timestamping is the part that decides whether the result is real.
Multimodal fusion is a leakage magnet (preview of lesson 5)
Adding a text channel multiplies the surfaces through which the future can leak in: publication timestamps, revision histories, survivorship in the document set, and an LLM text encoder that may itself have been trained on text describing your test period. Lesson 5 — The Leakage Minefield — is devoted to this. For now, hold one rule: a document earns its place in the day- input only if you can prove it was available at the day- decision time, in the exact form you’re feeding it.
When to use it
Fuse price and text when the interaction genuinely carries signal that neither stream holds alone — when “this move plus this narrative” means something different from either in isolation — and when you can enforce airtight point-in-time discipline on every document. If you can’t timestamp the text rigorously, don’t add it: a clean price-only model beats a leaky multimodal one every single time, even when the leaky one’s backtest looks spectacular.
For predicting the day-t-to-day-t+1 return (label set at the day-t close), sort each input as usable or look-ahead.
Place each item in the right group.
- A news article timestamped 4:15 PM on day t, after the close
- An 8-K filing released at 11 AM on day t
- The price bar for day t-1
- A transcript revised the morning of day t+1, fed in its cleaned-up form
LLM as researcher — hypothesis & feature generation
Before you read — take a guess
An LLM agent loop proposes signals, writes backtest code, and critiques the results. Where is it genuinely strong, and where is it dangerous?
The analogy. The LLM researcher is the world’s most caffeinated intern. It has skimmed every finance paper ever written, it never sleeps, it’ll write a hundred backtest scripts before lunch, and it’ll explain each one with breezy confidence. It is also an intern who has never been wrong out loud — when it doesn’t know, it doesn’t hesitate; it invents. Used as a tireless first-drafter under close supervision, it’s a force multiplier. Used as an oracle whose output you trust, it’s a machine for generating confident garbage at scale.
Precise definition. The “AI quant” or “AI scientist” loop is an agentic pipeline: the LLM (1) proposes a hypothesis (“post-earnings-announcement drift is stronger for high-dispersion names”), (2) operationalizes it into a feature and writes the backtest code, (3) runs the backtest, (4) reads the result and either refines or proposes the next idea — iterating autonomously. The promise is throughput: hundreds of ideas explored per day instead of one per week.
What it’s good at vs. bad at.
| LLM researcher is good at | LLM researcher is bad at |
|---|---|
| Breadth — covering a huge space of candidate ideas fast | Knowing which ideas are true vs. merely plausible |
| Boilerplate — data wrangling, backtest scaffolding, plotting | Statistical honesty — it won’t deflate Sharpe unless told |
| Literature recall — surfacing relevant factors and prior work | Distinguishing recalled fact from confident fabrication |
| Tireless iteration — never bored, never tired | Resisting the urge to “find” a result you nudged it toward |
| Critiquing code mechanics — bugs, leakage smells | Self-policing its own multiple-testing footprint |
The good column is real and valuable. The bad column is why the next section exists: an idea generator that is fast, fluent, and unbothered by statistical conscience is precisely the thing that detonates a data-snooping explosion.
Fluency is not correctness
An LLM will hand you a beautifully reasoned thesis, clean code, and a Sharpe-1.8 backtest for a signal that is indistinguishable from noise — and nothing in its tone will warn you. It has no internal sense of “I made this up.” Treat every LLM-proposed signal as an unverified lead from an unreliable source, not a finding. The confidence is free; the truth is not.
When to use it
Let an LLM run the researcher loop when your bottleneck is genuinely idea and engineering throughput and you have industrial-strength validation downstream — pre-registered out-of-sample windows, multiple-testing deflation, and strict point-in-time data. Don’t use it as a final judge of what’s real, and never trade its output un-audited. The intern drafts; the disciplined process decides.
If the LLM can also write the critique step, can’t it just check its own work and filter the nonsense?
Answer. Partly, and it’s worth doing — an LLM critic catches obvious leakage smells, code bugs, and unit mistakes. But it cannot rescue you from the deep problem, because the LLM critic shares the same blind spot as the LLM proposer: neither has a calibrated sense of statistical significance, and neither tracks how many ideas were tried across the whole session. The critique step reduces obvious errors; it does not deflate your Sharpe for the thousands of silent trials. Self-critique is a useful filter, not a substitute for an external, trial-counting validation discipline.
The data-snooping explosion
Before you read — take a guess
Machine Learning for Alpha warned that testing many strategies on the same data inflates the best in-sample result by luck. What does an LLM idea-generator do to this problem?
The analogy. Give one person a coin and ask for ten heads in a row — they’ll almost certainly fail. Hand the same task to ten thousand people in parallel, and a few will succeed on the first try, look like wizards, and write a book about their technique. Nothing about the coin changed; you just ran enough trials that pure luck produced a champion. An LLM idea-generator is the ten-thousand-people machine, except it does it before your coffee gets cold — and each “champion” arrives wrapped in a confident backtest.
Precise statement — best-of-N Sharpe inflation. Suppose you run strategies that have zero true edge — pure noise. Each produces an in-sample Sharpe ratio that’s roughly a standard normal draw. The expected maximum of such draws grows like
so even with no real signal anywhere, the best-looking strategy of the batch has an in-sample Sharpe that climbs with the log of how many you tried. This is why you must deflate: judge the winner against the threshold for the trials you actually ran, not against zero.
Worked example — compute the fluke threshold. Let’s tabulate for several trial counts:
| Trials | Expected best in-sample Sharpe | ||
|---|---|---|---|
| 10 | 2.303 | 4.605 | 2.146 |
| 100 | 4.605 | 9.210 | 3.035 |
| 1,000 | 6.908 | 13.816 | 3.717 |
| 10,000 | 9.210 | 18.421 | 4.292 |
Read the row: try a thousand zero-edge strategies and the best one shows an in-sample Sharpe of about 3.7 — a number that, taken at face value, would get a strategy funded. It is entirely luck. Worked arithmetic for that row: , times is , and . So before you celebrate a backtest Sharpe of 3.7 from a search over a thousand ideas, recognize you’ve exactly reproduced the expected noise maximum — the strategy has cleared no bar at all.
Why the LLM makes it acute. A human grinds out maybe dozens of trials before exhaustion imposes a natural limit. An LLM agent has no such limiter — it’ll cheerfully test 10,000 variants overnight, and because it doesn’t track the count for you, the deflation threshold silently climbs to 4.3 while you’re still mentally comparing against zero. The tool that makes you productive is the same tool that makes your false-discovery rate explode.
An LLM that proposes 10,000 signals guarantees a few spectacular backtests by pure luck
This is the central danger of the whole lesson. If you let an agent search ten thousand strategies, you are statistically certain to be handed several with in-sample Sharpes above 4 — and not one of them needs a shred of real edge to look that good. Any signal that emerges from a large automated search is presumed a fluke until it survives (a) deflation by the true trial count, (b) a pristine, never-touched out-of-sample window, and (c) point-in-time data with no leakage. Skip any of those three and you are not doing research; you are mining noise at industrial scale and calling the prettiest nugget gold.
When to use it
A large automated search is legitimate only when paired with honest deflation: log every trial the agent runs (including the ones it discarded), compare the winner against for the full , and reserve a genuinely untouched holdout for final confirmation. If you can’t count your trials, you can’t deflate; if you can’t deflate, an LLM idea-firehose is not a research accelerator — it’s a false-discovery accelerator. Use breadth for generating leads, never for certifying them.
Fill in the deflation rule.
Pick the right option for each blank, then check.
With N zero-edge strategies, the expected best in-sample Sharpe grows like , so for N = 1000 the fluke threshold is about , and a winning backtest must clear that bar — not zero — before you believe it.
A leakage preview
Before you read — take a guess
Beyond multiple testing, there's a second way an LLM can fake skill in a backtest. What is it?
There’s a leakage channel unique to pretrained models, and it deserves a flag now even though lesson 5 — The Leakage Minefield — handles it in full. An LLM’s training corpus has a cutoff date, and that date is usually later than the historical periods you backtest on. So when you ask the model to “read this 2019 filing and predict the next quarter,” it isn’t reasoning purely from the filing — it may be quietly drawing on its training knowledge of what actually happened next. The backtest looks prescient because the model has, in a real sense, already read the answer key. This temporal contamination is invisible in the code, doesn’t show up as a leaky timestamp, and can survive even a careful point-in-time data pipeline — because the leak is in the weights, not the data feed. Lesson 5 dissects how to detect and defend against it; for now, just know that “the LLM was unusually good at predicting the past” is a red flag, not a triumph.
When an LLM signal or tool earns its place
Before you read — take a guess
Pulling the lesson together: under which conditions does an LLM genuinely earn its place in a quant stack, rather than just adding risk?
The synthesis. Every thread of this lesson converges on one disciplined verdict. An LLM is worth its risk when all of the following hold, and a liability when any fails:
- Genuine, costly-to-process text. The edge is reading unstructured material — dense filings, full transcripts, foreign-language news — that the market hasn’t already trivially priced. If everyone reads the same headline in the same second, there’s no edge to extract.
- A real availability timestamp. Every document is provably knowable at decision time, in its original form. No post-close articles predicting pre-close labels; no revised transcripts smuggled backward; no training-cutoff contamination.
- Short horizon, modest capacity. The fast decay of text-derived alpha (the sentiment section) means the signal lives in days and holds limited size. Size it to its half-life and its post-cost capacity, not to its in-sample Sharpe.
- Deflation for trials. Any signal from a search — especially an LLM-driven one — is deflated against for the full trial count and confirmed on an untouched holdout. The firehose generates leads; the discipline certifies them.
- Strict point-in-time discipline. The leakage rules (full treatment in lesson 5) are enforced end to end, in both the signal and researcher roles.
Treat the LLM as neither an oracle (a forecaster you trade blindly) nor an un-audited idea firehose (a generator whose backtests you believe). It is a fast, fluent, tireless assistant whose output is raw material for a disciplined process — valuable exactly to the degree that the discipline around it is real.
Sort each practice as one that EARNS the LLM its place or one that turns it into a liability.
Place each item in the right group.
- Treating an LLM forecast as an oracle and sizing it to its in-sample Sharpe
- Trading the best of 10,000 auto-generated backtests un-deflated
- Deflating every searched signal against √(2 ln N) before believing it
- Extracting sentiment from full earnings transcripts the market under-reads, at short horizons
- Proving each document was available, in original form, at decision time
Recap
Big picture
LLMs as research tools & as signals
- LLMs in a quant stack
- Two roles
- Signal: text → return-predicting number
- Researcher: hypotheses, features, code
- Different risks; never blur them
- Signal #1: sentiment & events
- Score docs → daily cross-sectional factor
- Rank → long top / short bottom
- Predicts short horizons, decays in days
- Fast decay → tiny capacity
- Signal #2: price + text fusion
- Time-series encoder + text encoder
- Joint reading of numbers & narrative
- Hard part: text available BEFORE the move
- Leakage magnet (lesson 5)
- Researcher loop
- Good: breadth, boilerplate, literature recall
- Bad: invents plausible nonsense confidently
- Fluency ≠ correctness
- Data-snooping explosion
- N trials → best Sharpe ≈ √(2 ln N)
- N = 1000 → ≈ 3.7 by pure luck
- 10,000 signals guarantees flukes
- Must deflate by true trial count
- Earns its place when
- Costly-to-process text, real timestamp
- Short horizon, modest capacity
- Deflation + point-in-time discipline
- Not an oracle, not a firehose
- Two roles
LLMs as research tools & signals — check yourself
A team scores 10-K filings into a daily per-stock sentiment number and trades it directly. Which role is the LLM playing, and what's its dominant risk?
Check your answer to continue.