A single headline describes the price. The flow of headlines predicts it, a little.
1. The question
Two things are said about crypto news, usually by different people. One: news moves prices. The other: news chases prices, and by the time something is written the move is over. Both can be true at the same time if they are true at different scales. This note separates the scales. It asks first whether a single headline carries anything about the hours after it is published, and then whether the flow of headlines about a coin, taken together over a 12-hour window, carries anything about the next days.
The scores come from the katelabs pipeline: every headline is scored by a language model on for its expected effect on the price of the coin it mentions, and tagged as proactive (it describes something that has not yet happened: a filing, a vote, a scheduled upgrade) or reactive (it describes something that already has: a move, a liquidation, a comment on a move).1The pipeline is described on the about page. Nothing from the trading system enters this note: the index below is an unweighted average, and no strategy parameter is used anywhere. The question is what, if anything, these scores know about the future.
2. Data
The sample is every headline collected between 4 October 2024 and 28 September 2026 that mentions a coin from the universe below. Headlines come from the English-language crypto press through two aggregators. A headline that mentions several coins enters once per coin, so 202,222 headlines give 474,597 coin–headline pairs. Of these, 29% are proactive.
The universe is defined by two rules set before any test was run: at least 500 headlines over the period and a Binance USDT spot pair, which leaves 37 coins.2The selection uses headline counts known at the end of the sample; it affects which coins are in the panel, not any signal. Prices are Binance spot closes at 30-minute resolution; all returns are log returns.
| Coin | Headlines | 12 h windows with ≥ 3 headlines | Median headlines per window |
|---|---|---|---|
| BTC | 112,357 | 1,448 | 66 |
| ETH | 55,860 | 1,444 | 26 |
| XRP | 53,980 | 1,448 | 28 |
| SOL | 41,622 | 1,383 | 14 |
| ADA | 30,535 | 1,025 | 9 |
| BNB | 28,299 | 749 | 30 |
| LINK | 27,713 | 719 | 32 |
| LTC | 26,514 | 523 | 48 |
| DOT | 26,064 | 487 | 52 |
| BCH | 25,966 | 491 | 50 |
| DOGE | 8,087 | 1,088 | 7 |
| SHIB | 4,264 | 822 | 5 |
| 25 more coins | 18,178 | 3,251 | 4 |
| All | 459,439 | 14,878 | — |
Table 1. Coin–headline pairs that fall into a 12-hour window with at least three headlines, the number of such windows, and the typical window size. Of 26,410 coin–windows with any headline, 14,878 pass the threshold. The 25 coins in the last row: AAVE, APT, ARB, ASTER, AVAX, BONK, ENA, HBAR, HYPE, MOVE, ONDO, PENGU, PEPE, POL, PUMP, S, SUI, TAO, TRUMP, TRX, UNI, WLD, WLFI, XLM, ZEC.
3. From a headline to an index
3.1 The headline level
For headline about coin , published at with score , the abnormal return at horizon is the coin's log return over the hours after publication, minus the BTC return over the same window (for BTC itself the raw return is used):
Prices sit on a 30-minute grid, so is the close of the bar that closes at or, when falls inside a bar, of the first bar that closes after it for the windows that start at publication and of the last bar that closes before it for the window that ends at publication. A window after publication therefore starts between 0 and 30 minutes after it, and the window before publication ends between 0 and 30 minutes before it.
Headlines cluster in time and across coins, and a busy news day is also a volatile day. Before comparing scores I remove two sets of means from : the mean over all headlines of the same calendar day and the mean over all headlines of the same coin in the same month,
where is the calendar day and the month of publication, so that a headline is judged against the other news of its day and against its coin's own month, not against the whole two years. Both means are computed on the raw and subtracted together in a single pass, as written; the adjustment is not iterated, so it is a one-pass removal of day and coin–month means rather than a two-way fixed-effects fit. The statistic is the spread between the top and bottom fifth of headlines by score. The fifths are formed by rank, not by a threshold on the score: within each calendar month the coin–headline pairs are ordered by score, ties broken by the order of publication, and cut into five groups of equal count, so that the top fifth is exactly the 20% of pairs with the highest ranks even where many headlines share a score. With the rank of pair within its month divided by the number of pairs in the month,
with standard errors clustered by calendar day. The same quantity is computed for the 24 hours before publication, which tells how much of the score is a description of a move that has already happened.
3.2 The index level
Time is cut into 12-hour windows aligned to 00:00 and 12:00 UTC. The index of coin in window is the plain mean of the scores published in it,
and windows with fewer than three headlines are dropped. The same is done separately for proactive and reactive headlines, and , each requiring at least two headlines of its type.
A level of means something different for a coin whose coverage is usually enthusiastic and for one whose coverage is usually grim. The signal is therefore the index expressed against the coin's own recent history, a z-score over the coin's previous 60 windows that have an index, that is, its previous 60 windows with at least three headlines, of which at least 20 are required. Windows without an index are skipped rather than counted, so the history covers the last 30 days for a coin with an index in every window and reaches further back in calendar time for a coin covered more thinly; the type indices follow the same rule, each against its own previous 60 windows with at least two headlines of its type:
where denotes the coin's -th previous window with an index and , between 20 and 60, is the number of such windows available. Everything in is known at the end of window . Three other transformations are reported for comparison: the raw level , the change against the coin's mean index over its previous six windows with an index (at least three of them; three days when coverage is continuous, "change vs 3 days" in the tables), and the residual tone of Section 6.
Returns are measured from the end of the window, , for holding periods of windows:
at , that is 12 hours to 14 days. Past abnormal returns over the previous 1 and 7 days, and , are defined the same way, ending at .
4. Tests
Cross-sectional sorts. In every window with at least eight coins that have a signal, coins are ranked by and the spread between the top third and the bottom third is recorded. The thirds are taken by rank, not by a threshold on : with coins in the window, the top third is the highest-ranked coins and the bottom third the lowest-ranked, so eight coins give three against two and nine give three against three, with ties broken by the order of the coins in the panel:
is the return of a zero-cost portfolio formed at , long the top third and short the bottom third, held for windows. Its legs are raw returns: the BTC return that the abnormal return subtracts is common to both legs and cancels in the difference, except through BTC's own place in the sort; the within-coin quintiles and the regressions below use . The reported number is its mean over windows, , with a Newey–West standard error with lags, since holding periods longer than one window overlap. This is the main test: it compares coins against each other at the same moment, so anything that moves the whole market on a given day cancels out.
Permutation. To check that the spread is not an artefact of the sort itself, is shuffled across coins within each window, keeping the returns in place, and is recomputed; 500 shuffles give the distribution of spreads one would get from a signal with no information. The two-sided -value is the share of shuffles at least as far from the shuffled mean as the real spread.
Placebo. The same sort with each paired with the return of the same coin starting 7 days later. A signal that predicts the next day but not a random day a week later should give a spread near zero here.
Within-coin quintiles. Independently of the cross-section, each coin's windows are split by rank of its own into five groups of equal count, and the mean abnormal return of each quintile is computed after removing the window mean across coins, with standard errors clustered by window. This asks whether a coin's unusually positive flow precedes an unusually good period for that coin.
Pooled regression. , demeaned by window, is regressed on standardised to unit variance, with standard errors clustered by window. The slope is in basis points per one standard deviation of the signal.
5. Results
5.1 A single headline
Before publication the spread is large: over the preceding 24 hours, coins that are about to receive top-fifth headlines have already outperformed coins about to receive bottom-fifth headlines by 42 bps (); for reactive headlines alone by 53 bps (), for proactive by 15 bps (). After publication there is nothing to collect. One hour later the spread is bps for all headlines and bps for reactive ones; at 12 and 24 hours it is to bps, with between and , a small reversal rather than a continuation. Proactive headlines show bps at one hour () growing to bps at 48 hours, none of it significant.3The 7-day points are shown for completeness. At that horizon the placebo version of the test, with scores paired with returns a week later, is also non-zero, so I do not read them.
The scores, then, are mostly a description. A high score tells you the coin went up; it does not tell you it will keep going. This is what one should expect of news about liquid assets, and it is the reason the rest of the note moves one level up.
5.2 The flow of headlines
Sorting coins by every 12 hours, the top third beats the bottom third by 9 bps over the next window (), 25 bps over 24 hours () and 33 bps over 48 hours (). Beyond two days the spread keeps growing in level, 38 bps at 7 days and 68 bps at 14 days, but the intervals grow faster and neither is significant on its own. The raw level of the index, the change against the previous three days, and the residual tone point the same way (Table 2). At 24 hours the z-score has the largest spread of the four and the only above 2, 24.7 bps against 13.5 for the level, 7.5 for the change and 17.3 for the residual tone; at 48 hours the level, 29.4 bps (), is close to the z-score's 33.2, and at 7 and 14 days it is larger in level and no more significant.
| Signal | 12 h | 24 h | 48 h | 7 d | 14 d |
|---|---|---|---|---|---|
| , all headlines | 9.3 (1.6) | 24.7 (2.8) | 33.2 (2.4) | 38.5 (1.3) | 67.9 (1.8) |
| , reactive | 4.0 (0.6) | 18.3 (2.0) | 23.6 (1.7) | 53.0 (1.7) | 69.1 (1.7) |
| , proactive | 1.7 (0.2) | −0.8 (−0.1) | −2.6 (−0.1) | −15.6 (−0.4) | −22.1 (−0.3) |
| level, all | 4.9 (0.8) | 13.5 (1.4) | 29.4 (1.9) | 52.4 (1.8) | 85.6 (1.5) |
| change vs 3 days, all | 3.5 (0.6) | 7.5 (0.9) | 18.9 (1.3) | −4.0 (−0.2) | −15.2 (−0.6) |
| residual tone, all | 6.9 (1.1) | 17.3 (1.8) | 29.5 (1.8) | 20.8 (0.6) | −15.1 (−0.2) |
Table 2. Mean top-third minus bottom-third spread in basis points per holding period, Newey–West t-statistic in parentheses. Bold: |t| ≥ 2.
The split by type is the most informative row of the table. The reactive index, built from headlines that comment on what has already happened, carries the effect: 18 bps at 24 hours, 24 bps at 48. The proactive index, built from headlines about things still to come, carries nothing at any horizon, with point estimates around zero or negative. Whatever the flow of news predicts, it is not the content of scheduled events. It looks more like the persistence of a narrative: when commentary about a coin turns unusually warm or unusually cold relative to its norm, the price tends to drift the same way for a day or two.
5.3 Is it chance?
| Signal, horizon | Real spread | Shuffled: mean (sd) | Placebo +7 d | |
|---|---|---|---|---|
| all, 12 h | 9.3 | 0.5 (5.4) | 0.108 | 1.5 (0.2) |
| all, 24 h | 24.7 | −0.1 (8.0) | 0.004 | 13.9 (1.5) |
| reactive, 12 h | 4.0 | 0.1 (5.8) | 0.524 | −0.4 (−0.1) |
| reactive, 24 h | 18.3 | 0.3 (8.4) | 0.032 | 7.9 (0.8) |
| proactive, 24 h | −0.8 | −0.7 (10.7) | 0.996 | 3.7 (0.3) |
| residual tone, 24 h | 17.3 | −0.2 (8.4) | 0.046 | −9.1 (−0.8) |
Table 3. Permutation test: the real spread against the distribution of spreads from 500 within-window shuffles of the signal across coins (basis points). Placebo: the same sort with the signal paired with the coin's return starting seven days later, spread in bps with t in parentheses.
The shuffled signal produces spreads centred on zero with a standard deviation of about 8 bps at 24 hours; the real spread of 25 bps sits three of those away (). The placebo collapses to 2 bps at 12 hours and 14 bps at 24 hours, neither significant. The 24-hour placebo is not quite zero because is persistent: a coin that is unusually well covered this week is often still unusually well covered next week, and some of the real effect leaks into the shifted pairing.
5.4 Over time
The cumulative spread is not a straight line. The first quarter of the sample is negative: in late 2024 the cross-section was thin (few coins had enough headlines per window) and the signal was wrong more often than right. From 2025 on the quarterly means are all positive, between 7 and 31 bps per 12 hours (Table 4), but with 70 to 180 windows per quarter each has a standard error of 11 to 30 bps, so the smaller ones are not individually distinguishable from zero.
| Quarter | 2024 Q4 | 2025 Q1 | Q2 | Q3 | Q4 | 2026 Q1 | Q2 | Q3 |
|---|---|---|---|---|---|---|---|---|
| all, bps per 12 h | −13.7 | 9.4 | 7.1 | 19.1 | 16.8 | 10.7 | 30.9 | 9.9 |
| reactive | −13.9 | 3.6 | −3.9 | 22.4 | 13.8 | −2.2 | 16.9 | 18.4 |
| windows | 157 | 180 | 152 | 127 | 109 | 90 | 78 | 69 |
Table 4. Mean 12-hour spread by calendar quarter. The number of windows with at least eight coins falls over time because the threshold of three headlines per window becomes harder to meet for small coins as coverage thins out.
5.5 Within a coin
The cross-section is one way to ask the question. The other is to look at each coin on its own: are the windows in which its tone is in the top fifth of its own history followed by better returns than the windows in which it is in the bottom fifth? They are. At 24 hours the bottom quintile earns bps against the market and the top quintile bps; at 48 hours against ; at 14 days against . The pooled regression gives the same picture as a slope: 8.8 bps per standard deviation of at 24 hours (), 16.1 bps at 48 hours (), 35.7 bps at 14 days (). For the reactive index the slopes are 7.3, 13.0 and 32.3 bps ( = 3.1, 4.2, 4.4); for the proactive index they are indistinguishable from zero at every horizon ().
6. Is it just momentum?
Reactive headlines describe moves. An index of reactive headlines is therefore, in part, a noisy measurement of recent returns, and returns in crypto have some short-horizon persistence of their own. The question is how much of Section 5 survives once past returns are taken out.
A regression of the index on the coin's past abnormal returns answers the first half:
| Index | per 1% () | per 1% () | |
|---|---|---|---|
| all headlines | 0.0077 (9.9) | 0.0046 (16.2) | 8.6% |
| reactive | 0.0087 (9.8) | 0.0057 (17.4) | 10.8% |
| proactive | 0.0023 (2.8) | 0.0012 (3.7) | 0.7% |
Table 5. The news index regressed on the coin's abnormal return over the previous day and the previous week, standard errors clustered by window. A 10% abnormal move over the past week raises the reactive index by about 0.06 on its [−1, 1] scale.
Past returns explain 9–11% of the variance of the index, almost all of it in the reactive part and almost none in the proactive part, which is what the labels promise. The residual is the part of the tone that past prices do not account for. Sorted on its own it still predicts: 17 bps at 24 hours (, permutation ) and 29 bps at 48 hours (), against 25 and 33 for the full z-score.
The second half is a joint regression of the forward return on the z-score and on past returns, all standardised:
| Horizon | bps per sd () | () | () |
|---|---|---|---|
| 12 h | 4.2 (2.7) | −3.1 (−0.9) | −2.8 (−0.6) |
| 24 h | 9.2 (4.1) | −4.7 (−1.0) | −3.4 (−0.5) |
| 48 h | 15.6 (5.2) | −8.2 (−1.3) | −2.0 (−0.3) |
| 7 d | 15.2 (2.9) | 23.0 (2.3) | −31.7 (−2.7) |
| 14 d | 23.9 (3.1) | 51.4 (3.3) | −22.9 (−1.5) |
Table 6. Forward abnormal return, demeaned by window, on the standardised z-score and past returns. Standard errors clustered by window; 13,585 coin–windows.
Up to 48 hours, past returns on their own predict nothing in this panel and the slope on is unchanged by their presence: 9.2 bps per standard deviation at 24 hours against 8.8 without controls. At one and two weeks a conventional momentum pattern appears (weekly continuation, daily reversal), and keeps a separate, significant slope next to it. So the honest summary is: roughly half of what the index is comes from past prices, but what it predicts over the next two days is not the momentum of those prices.
7. Robustness
| Variant | 24 h | 48 h | Windows |
|---|---|---|---|
| Main: 12 h windows, ≥ 3 headlines | 24.7 (2.8) | 33.2 (2.4) | 962 |
| ≥ 2 headlines per window | 26.2 (3.7) | 36.8 (3.4) | 1,250 |
| ≥ 5 headlines per window | 11.5 (1.0) | 15.8 (0.9) | 599 |
| without BTC and ETH | 12.7 (1.1) | 18.8 (1.1) | 692 |
| 24 h windows, ≥ 3 headlines | 22.4 (2.5) | 39.1 (2.8) | 644 |
| 24 h windows, ≥ 5 headlines | 26.2 (2.6) | 39.6 (2.7) | 518 |
| 24 h windows, without BTC and ETH | 28.8 (2.5) | 48.5 (2.9) | 565 |
Table 7. Top-third minus bottom-third spread on the z-score of the all-headline index, bps per holding period with Newey–West t in parentheses. For 24-hour windows the z-score history is the coin's previous 30 daily windows with an index, and the first column is a one-window hold.
Two of the variants weaken the result: requiring five headlines per 12-hour window, and dropping BTC and ETH. Both have the same cause. A stricter threshold removes most windows of the small coins and leaves a cross-section dominated by the ten most covered names; removing the two largest coins shrinks it further. With 12-hour windows the sort then often has barely eight coins, and the spread becomes noisy rather than reversing sign. With 24-hour windows, which collect twice as many headlines per coin, the same two variants hold up: 26 bps at a five-headline threshold and 29 bps without BTC and ETH, both with around 2.5. The effect is not carried by the two largest coins; it is carried by windows that contain enough headlines to measure a tone.
The 24-hour-window variant has one weakness of its own that should be stated: its placebo does not vanish (26 bps at a one-day hold, ). With daily windows and a z-score history of 30 daily windows the signal is persistent enough that a week-later pairing still inherits part of it. The 12-hour construction, where the placebo is 2 bps, is the main specification for that reason.
8. What this says, and what it does not
A single headline is a description. The strongest number in this note is the 42 bps of return that precedes a top-fifth headline. After publication the same headlines predict a slight reversal at best. Anyone reading individual headlines for direction is reading a report on the recent past.
The flow of headlines predicts, a little. When a coin's news tone over 12 hours is unusually high against its own recent norm, the coin earns about 25 bps more than coins whose tone is unusually low over the next 24 hours, and about 33 bps over 48 hours, with the usual tests of chance passed and a placebo near zero. The effect appears both across coins at a moment and within a coin over time, and it is monotonic across quintiles.
It comes from commentary, not from events. The reactive index carries the whole effect; the proactive index carries none. The natural reading is narrative persistence: an unusual tone in the coverage of a coin reflects attention that has not yet fully worked through the price, and it takes a day or two to do so. Scheduled events, by contrast, are priced before the headline arrives.
About half of the index is past prices; the other half still predicts. Residual tone, after removing what returns of the past day and week explain, predicts 17 bps at 24 hours. In a joint regression the z-score keeps its slope next to past returns, and past returns themselves predict nothing at the two-day horizon.
Raw, it does not pay for itself. Built right, it is another matter. The main spread is 9 bps per 12-hour rebalance, gross. A round trip at taker fees on a spot exchange costs about 20 bps, before slippage, so the curve in Fig. 3, +90% over two years with full turnover twice a day, would be negative net of costs. What the result establishes is that the information is there and when it arrives: in the day or two after a coin's news flow turns unusual. Everything that converts that into a return sits on top of the signal: how often one acts on it, how one enters after it, when one leaves, which coins and which windows. Those choices are what the production configurations consist of, and they are not part of this note.
Limitations. One scorer, one language, one asset class, two years, one cycle. The universe is chosen on coverage counts known at the end of the sample, which selects coins that stayed covered. Holding periods overlap and Newey–West errors are an approximation to that. The cross-section is thin in late 2024 and in 2026, with 70–180 usable windows per quarter. The within-coin quintiles use each coin's full-sample distribution of , which is a mild look-ahead in the cut points, though not in the signal. None of these would be expected to create a 24-hour effect from nothing; each is a reason to read the 7- and 14-day numbers as suggestive and the 24- and 48-hour numbers as the result.
- fig1_headline_spread.csv
- fig2_index_spread.csv
- fig3_cumulative_longshort.csv
- fig4_time_series_quintiles.csv
- table_sample.csv
- table_regression.csv
- table_permutation.csv
- table_placebo.csv
- table_reverse_regression.csv
- table_joint_regression.csv
- table_robustness.csv
- table_quarters.csv
- table_cross_section_24h_buckets.csv
Senkevich, A. (2026). A single headline describes the price. The flow of headlines predicts it, a little. katelabs.io/research/news-flowNot financial advice. This note describes measurements on historical data, not a recommendation. If the work is useful to you, you can support it.