Natural Language Processing · Statistical Inference · Financial Markets
FOMC Statement Sentiment vs. 2Y Yield Reaction
Abstract
A deliberately narrow event study: score 138 FOMC statements with a pinned FinBERT classifier, regress the change in statement sentiment on the 30-minute proxy 2-year yield move centered on each release minute, and report what survives. The headline is an honest null — and the residuals turn out to be the real story.
Key results
- Baseline slope
- β = −2.31 (n=88)
- Explained variance
- R² = 0.005, p = 0.35
- Sample
- 88 of 138 releases
- Press-conf. window
- R² = 0.017, sign flips +
Headline
The two-year Treasury yield is the cleanest market read on near-term policy expectations, and the FOMC statement is the largest scheduled communication shock that moves it. This study asks one narrow question: can a pre-trained FinBERT classifier, with no Fed-specific fine-tuning, recover enough hawkish-versus-dovish content from each statement to predict the immediate 30-minute proxy-yield response? The design is a single dependent variable, a single explanatory feature, and a single estimator — everything else is reported as a robustness exercise, not a competing headline.
The answer is a clean null. Regressing the proxy 2-year move in the [−15, +15] minute window on the change in statement sentiment gives an HAC-robust slope of β̂ = −2.31 (95% CI [−7.11, +2.49], p = 0.345, R² = 0.005). The relationship is statistically indistinguishable from zero and, if anything, points the opposite way from the economic prior that a hawkish surprise should push front-end yields up. Statement-sentiment deltas explain roughly half a percent of the variance in the 30-minute move across 88 FOMC releases since 2010.
What rescues the page from being a flat negative result is where the misses cluster: the five largest absolute residuals all fall on scheduled press-conference days. Re-targeting the dependent variable onto the [+30, +90] press-conference window flips the slope to the expected positive sign and roughly triples the explained variance — still not significant, but a coherent signal that whatever the statement text carries is most visible during the press conference, not the statement read.
Proxy-series substitution
The intraday market leg is the front-month 2-year Treasury futures contract sampled at 30-minute frequency, serving as a proxy for the cash 2-year yield. The two co-move strongly at low frequency, but minute-level moves can carry futures-specific microstructure absent from cash yields. Every coefficient and figure here is in proxy-series units — roughly basis-point scale and matching the qualitative direction of cash moves around FOMC events, but not directly interpretable as cash 2-year basis points.
Methodology
The pipeline scrapes and archives each statement, scores it with a pinned classifier, validates that scorer on a hand-coded subset, and links the resulting sentiment delta to a proxy-yield move in a fixed event window.
Corpus. 138 FOMC statements from federalreserve.gov, 2010-01-01 through 2026-04-29, with archived HTML, deterministic plaintext extraction, and a deterministic sentence splitter so sentence identifiers are stable across reruns. Scorer. ProsusAI FinBERT pinned to a fixed revision; native (positive, neutral, negative) output mapped explicitly to (hawkish, neutral, dovish). Feature. The change in token-count-weighted statement sentiment versus the previous statement, ΔSt. Market leg. 30-minute front-month 2-year Treasury futures bars; the H.15 daily cash yield is kept only as a low-frequency reference. Estimator. OLS with HAC standard errors at a one-lag setting. Baseline window. [−15, +15] minutes around the verified release minute; three alternate windows and a press-conference window are computed for sensitivity only and never substituted into the headline.
Data and coverage
Of the 138 discovered statements, all carry archived HTML, cleaned plaintext, and a sentiment score; 90 also carry a Fed-published minute-level release timestamp, and 88 of those additionally have complete intraday coverage for the baseline window. The 50 releases that drop out are predominantly 2010–2015 statements for which the official page never published a release minute — visible below as the missing blue and orange bars in the early years.
A statement-level score is the token-count-weighted average of signed sentence scores st,j = Pr(hawkish) − Pr(dovish), and the model feature is its first difference. Across the sample the series spends 2010–2015 mildly dovish, swings hawkish through the 2016–2018 hiking cycle, dips around the COVID emergency releases, peaks in the 2021–2022 tightening run-up, and drifts back toward neutral as the Committee paused.
| Cycle | All discovered | Verified minute | Baseline included |
|---|---|---|---|
| Easing | 70 | 22 | 20 |
| Neutral | 20 | 20 | 20 |
| Tightening | 48 | 48 | 48 |
| Total | 138 | 90 | 88 |
Sentiment validation
Off-the-shelf sentiment is easy to over-trust, so a regime-stratified sample of 30 statements was hand-coded — 800 candidate sentences, of which 310 were marked exclude (boilerplate, voting blocs, genuinely ambiguous policy language), leaving 490 evaluated. On that subset FinBERT posts macro F1 = 0.558 and overall accuracy = 0.571. Neutral content is recovered well (F1 = 0.712); the hawkish and dovish classes are where it struggles.
The dominant failure mode is dovish→hawkish confusion: 71 of the 165 hand-coded dovish sentences were assigned hawkish, against only 28 of 129 hand-coded hawkish sentences assigned dovish. The 0.424 dovish recall sits below the 0.45 floor specified for this analysis. The practical consequence is a measurement bias in the feature itself — ΔSt is pushed upward in periods when the true tone is shifting dovish, which is exactly the early-cycle pivots where statement text is most likely to matter. The headline model does not calibrate this away.
| Class | Precision | Recall | F1 | Support |
|---|---|---|---|---|
| Hawkish | 0.395 | 0.566 | 0.465 | 129 |
| Neutral | 0.725 | 0.699 | 0.712 | 196 |
| Dovish | 0.603 | 0.424 | 0.498 | 165 |
Event window and headline result
For each release with a verified minute-level timestamp, the proxy-series delta over a window [a, b] is a last-before / first-after lookup with a 20-minute tolerance; lookups exceeding tolerance are treated as inadequate coverage and dropped. Of the 90 verified-minute releases, 88 pass the baseline coverage check — the two exclusions are the 2020-03-15 emergency Sunday release and the 2020-08-27 Jackson Hole speech day.
The baseline regression fits the proxy move on the sentiment delta with HAC errors. The fitted slope is wrong-signed and flat, and the explained variance is essentially zero. The scatter makes the shape plain: a dense central cloud with no tilt, and a handful of large vertical outliers that carry the variance but bear no relationship to the horizontal sentiment axis.
Robustness
The specification curve in the hero figure is the compact summary; the tables here are the underlying numbers. Re-running the model across three alternate windows leaves the qualitative conclusion intact: no window produces a slope distinguishable from zero, and the sign is negative in three of four. Excluding the three largest residuals (β = −1.38, p = 0.557) shrinks the magnitude without changing the sign or significance, and excluding the single unscheduled meeting in the sample (2010-05-09) actually pushes the slope further negative — so the result is not an artifact of one emergency release.
Stratifying by cycle produces no stratum with a defensible slope. The tightening stratum (48 releases) carries the widest HAC standard error in the entire study — its 95% interval spans [−24.4, +22.7] — because the post-2021 hiking cycle contains both the largest absolute proxy moves and the most volatile residuals. The cycle-stratified scatter shows three near-flat per-cycle fit lines laid over the same dispersed cloud.
| Window (min) | β̂ | 95% CI | p | R² |
|---|---|---|---|---|
| Baseline [−15,+15] | −2.313 | [−7.11, +2.49] | 0.345 | 0.005 |
| [0,+30] | −0.054 | [−3.73, +3.62] | 0.977 | 0.000 |
| [−30,+30] | −3.002 | [−7.63, +1.63] | 0.204 | 0.008 |
| [−15,+45] | −1.212 | [−5.75, +3.32] | 0.600 | 0.001 |
| Cycle | n | Mean Δy | β̂ | 95% CI | R² |
|---|---|---|---|---|---|
| Easing | 20 | +1.09 | −2.014 | [−5.44, +1.41] | 0.046 |
| Neutral | 20 | +0.41 | −5.443 | [−14.08, +3.20] | 0.053 |
| Tightening | 48 | +0.59 | −0.853 | [−24.42, +22.71] | 0.000 |
Residual analysis
The residuals are where the null becomes informative. The five largest absolute baseline residuals are all scheduled releases that hosted a press conference on the same day. The single largest is 2023-05-03 (+16.66 proxy units, +3.95σ), a tightening-cycle release where the proxy moved sharply hawkish while the statement-text delta was essentially zero — four of the five top residuals come from the 2022–2024 hiking cycle.
Splitting the residual distribution by press-conference status makes the mechanism visible: the 17 non-press-conference releases produce a tight distribution hugging zero, while the 71 press-conference releases produce the heavy left and right tails that drive the baseline's near-zero R². Placed on a date axis, the large standardized residuals cluster unmistakably in the post-2021 tightening cycle.
| Release date | Cycle | Press conf. | Residual | Std. resid. | Δy [−15,+15] |
|---|---|---|---|---|---|
| 2023-05-03 | Tightening | yes | +16.66 | +3.95 | +17.58 |
| 2024-07-31 | Tightening | yes | +13.80 | +3.27 | +14.45 |
| 2022-01-26 | Tightening | yes | −12.86 | −3.05 | −12.11 |
| 2022-03-16 | Tightening | yes | +10.35 | +2.46 | +11.33 |
| 2022-06-15 | Tightening | yes | +8.55 | +2.03 | +8.98 |
Press-conference window
Because every top residual lands on a press-conference day, the natural test is to move the dependent variable into the press conference itself. Federal Reserve press conferences began in April 2011 and, since the Powell era, start 30 minutes after the statement release; the window Δyt[+30,+90] captures their first 60 minutes while excluding the statement read. On the 71 press-conference days with complete coverage in both windows, the regression on the statement window keeps its negative sign (β = −3.82, p = 0.272), but the regression on the press-conference window flips.
The press-conference slope is +2.87 (95% CI [−1.64, +7.38], p = 0.212, R² = 0.017). Still not statistically distinguishable from zero — but the sign now matches the economic prior and the explained variance is roughly triple the baseline. The two panels below put the same 71 releases side by side: a wrong-signed, near-flat fit in the statement window, and a positive tilt in the press-conference window. The reading is that whatever market-moving information FinBERT-coded statement tone carries is most visible during the press conference, not the statement read — consistent with the residual evidence that the prepared statement is marginal relative to the press-conference Q&A.
Discussion and limitations
Three explanations are jointly consistent with the headline null. First, the market leg is a Treasury futures proxy, not the cash 2-year yield — minute-level futures moves can carry microstructure that washes out an underlying yield signal. Second, the largest proxy moves fall on days hosting both a statement and a press conference, and the narrow statement-read window cannot see the press-conference content where price discovery actually happens; the [+30,+90] re-targeting provides direct evidence by flipping the slope to the expected sign. Third, the FinBERT classifier was trained on broad financial text, and its 0.42 dovish recall implies systematic mis-classification of policy-easing language as hawkish, contaminating ΔSt in exactly the early-cycle dovish pivots where statement text should matter most.
The honest one-line summary: a [−15, +15] window around the statement release identifies no measurable relationship between FinBERT-coded sentiment deltas and the 30-minute proxy-yield response in 88 releases between 2010 and April 2026; the five largest residuals all fall on press-conference days, and re-targeting onto the [+30, +90] press-conference window flips the slope to the expected sign and triples the explained variance, though the effect stays statistically indistinguishable from zero.
Limitations. Reported magnitudes are proxy-series units, not cash 2-year basis points. Fifty of the 138 discovered statements drop out of the baseline — predominantly 2010–2015 releases without a published release minute, plus two crisis-period releases with inadequate intraday coverage. The hand-coded validation flags a dovish-recall shortfall (0.424, below the 0.45 floor): out-of-domain FinBERT over-predicts hawkish in Fed text. The easing and neutral strata hold only 20 releases each, and the tightening stratum's HAC error is inflated by the post-2021 outlier cluster. Finally, the 800-sentence validation pool was coded by a single annotator with no second adjudication pass. Natural next steps follow directly: swap the futures proxy for intraday cash 2-year bars, score press-conference transcripts as the primary feature for the press-conference window, fine-tune or replace FinBERT on the labeled pool to fix dovish recall, and replicate against ECB or BoE statements with their respective short-rate proxies.