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.

Specification curve — slope estimates with 95% HAC confidence intervals -20 -10 0 10 20 Baseline [−15,+15] (n=88) −2.31 Statement [0,+30] (n=88) −0.05 Statement [−30,+30] (n=88) −3.00 Statement [−15,+45] (n=88) −1.21 Press-conf [+30,+90] (n=71) +2.87 Cycle: easing (n=20) −2.01 Cycle: neutral (n=20) −5.44 Cycle: tightening (n=48) −0.85 Excl. top-3 residuals (n=85) −1.38 Excl. unscheduled (n=87) −3.27 Slope (proxy units per unit ΔS) with 95% HAC CI
Figure 1. Specification curve — slope estimates with 95% HAC confidence intervals. Every window, cycle, outlier-sensitivity, and press-conference specification on one axis. No specification clears zero with a definitive sign: the baseline and its robustness variants sit on the wrong side of zero, the press-conference window is the only one that lands positive, and the tightening stratum is so noisy its interval spans [−24, +23]. This is the whole result in one figure.

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.

St = Σj=1..Nt wt,j st,jΣj=1..Nt wt,j ,   ΔSt = St St−1
(1)
Statement coverage and baseline inclusion by release year 0 2 4 6 8 10 12 20102011201220132014201520162017201820192020202120222023202420252026 FOMC statement events Release year All discoveredVerified minuteBaseline-included
Figure 2. Statement coverage and baseline inclusion by release year. All 138 discovered statements (gray) against the 90 with a verified release minute (blue) and the 88 baseline-included (orange). The 2010–2015 gap is missing minute-level release timestamps on the Fed's archived pages, not missing statements — and it is why the regression sample is 88, not 138.
Statement-level sentiment score by release, 2010–2026 -0.20 0.00 0.20 0.40 20102014201820222026 Statement sentiment score (hawkish > 0) Release year EasingNeutralTightening
Figure 3. Statement-level sentiment score by release, 2010–2026. Token-weighted FinBERT score S_t for each release, shaded by the manually labeled policy cycle. Mildly dovish post-crisis, hawkish through the 2016–2018 and 2021–2022 tightening, a COVID dip, and a drift back toward neutral after the Committee paused.
CycleAll discoveredVerified minuteBaseline included
Easing702220
Neutral202020
Tightening484848
Total1389088
Table 1. Sample construction. "Verified minute" counts releases with a Fed-published release timestamp at minute precision; "baseline included" additionally requires complete intraday coverage for the [−15,+15] window. The attrition is concentrated entirely in the easing stratum, all of it pre-2016.

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.

ClassPrecisionRecallF1Support
Hawkish0.3950.5660.465129
Neutral0.7250.6990.712196
Dovish0.6030.4240.498165
Table 2. Per-class FinBERT validation metrics (490 hand-coded sentences). Macro F1 = 0.558, overall accuracy = 0.571. Neutral is recovered cleanly; dovish recall of 0.424 falls below the 0.45 floor — the acknowledged weak point of using out-of-domain FinBERT on Fed text.
Sentence-level confusion matrix (rows = manual, cols = FinBERT) Model label Manual label 73 28 28 41 137 18 71 24 70 HawkishNeutralDovish HawkishNeutralDovish
Figure 4. Sentence-level confusion matrix (rows = manual, cols = FinBERT). The off-diagonal mass is asymmetric: 71 truly-dovish sentences read as hawkish versus 24 read as neutral. Out-of-domain FinBERT systematically over-predicts hawkish content in FOMC language.

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.

Δyt[a,b] = yt+b yt+a ,   Δyt[−15,+15] = α + β · ΔSt + εt
(2)
Baseline: sentiment delta vs. 30-minute proxy 2Y move (n=88) -10 -5 0 5 10 15 -0.4-0.20.00.20.40.6 30-minute proxy 2Y move Statement sentiment delta n = 88β̂ = −2.31R² = 0.005 HAC fit95% β band
Figure 5. Baseline: sentiment delta vs. 30-minute proxy 2Y move (n=88). Each point is one FOMC release in the [−15,+15] window. The HAC fit (blue) is slightly downward-sloping with a 95% β band that comfortably straddles a flat line — β = −2.31, R² = 0.005. The variance lives in the vertical outliers near ΔS ≈ 0, not in any tilt with sentiment.

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% CIp
Baseline [−15,+15]−2.313[−7.11, +2.49]0.3450.005
[0,+30]−0.054[−3.73, +3.62]0.9770.000
[−30,+30]−3.002[−7.63, +1.63]0.2040.008
[−15,+45]−1.212[−5.75, +3.32]0.6000.001
Table 3. Window sensitivity. Same independent variable (ΔS_t), same n = 88 sample, HAC errors at one lag. The baseline is the only window with a borderline-interesting slope, and even it is far from significant; the [0,+30] window is a flat zero.
CyclenMean Δyβ̂95% CI
Easing20+1.09−2.014[−5.44, +1.41]0.046
Neutral20+0.41−5.443[−14.08, +3.20]0.053
Tightening48+0.59−0.853[−24.42, +22.71]0.000
Table 4. Cycle-stratified regressions (baseline window). "Mean Δy" is the in-sample average proxy move. No stratum has a defensible slope; the tightening interval is inflated by the cluster of post-2021 outliers, and easing/neutral each rest on only 20 releases.
Cycle-stratified sentiment delta vs. proxy move -10 -5 0 5 10 15 -0.4-0.20.00.20.40.6 30-minute proxy 2Y move Statement sentiment delta Easing (n=20)Neutral (n=20)Tightening (n=48)
Figure 6. Cycle-stratified sentiment delta vs. proxy move. The same baseline cloud, colored by policy cycle, with a per-cycle OLS line for visual reference. All three lines are nearly flat; the steep-looking neutral line rests on only 20 points spanning a narrow sentiment range. See the table for inference.

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 dateCyclePress conf.ResidualStd. resid.Δy [−15,+15]
2023-05-03Tighteningyes+16.66+3.95+17.58
2024-07-31Tighteningyes+13.80+3.27+14.45
2022-01-26Tighteningyes−12.86−3.05−12.11
2022-03-16Tighteningyes+10.35+2.46+11.33
2022-06-15Tighteningyes+8.55+2.03+8.98
Table 5. Five largest absolute baseline residuals. Every one is a scheduled release with a same-day press conference, and four of five are 2022-cycle hikes. The statement-read window cannot see press-conference content, so these meetings show up as pure regression misses.
Baseline residual distribution by press-conference status 0 6 12 18 24 -16-9-261320 Number of releases Baseline residual (proxy-series units) Press-conference days (n=71) Non-PC days (n=17)
Figure 7. Baseline residual distribution by press-conference status. Non-PC releases (blue, n=17) form a tight core near zero; PC releases (orange, n=71) own both heavy tails. The tails are not random — they are the meetings whose price discovery happens in the press conference the statement-read window cannot reach.
Standardized residuals by release date, colored by cycle -3 -2 -1 0 1 2 3 4 +2σ −2σ 20102014201820222026 Standardized residual Release year EasingNeutralTightening
Figure 8. Standardized residuals by release date, colored by cycle. Dashed lines mark ±2σ. The post-2021 tightening cycle (orange) holds nearly every large residual; easing and neutral releases stay inside the band. The clustering, not the level, is the point.

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.

Δyt[+30,+90] = yt+90 yt+30
(3)
Statement window [−15,+15] on press-conference days (n=71) -10 -5 0 5 10 15 -0.4-0.3-0.2-0.10.00.10.2 30-minute proxy 2Y move Statement sentiment delta β̂ = −3.82R² = 0.008p = 0.27 Statement-window fit
Figure 9. Statement window [−15,+15] on press-conference days (n=71). The 71 press-conference releases scored on the statement-read window: β = −3.82, R² = 0.008, p = 0.27. Wrong-signed and near-flat, the same null as the full baseline.
Press-conference window [+30,+90] on the same 71 days -6 -4 -2 0 2 4 6 8 -0.4-0.3-0.2-0.10.00.10.2 30-minute proxy 2Y move Statement sentiment delta β̂ = +2.87R² = 0.017p = 0.21 PC-window fit95% β band
Figure 10. Press-conference window [+30,+90] on the same 71 days. The same releases scored on the press-conference window flip the sign: β = +2.87, R² = 0.017, p = 0.21. Not significant, but correctly signed and triple the baseline's explained variance — the signal lives in the press conference.

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.

Related research