← saikumar-os
vomp — case_study.md

Case study — 2026

Voice of Monetary Policy

classifying the Fed's hawkish/dovish stance from how policymakers say it, not just what they say

  • Python
  • LibROSA
  • FFmpeg
  • PyTorch/TensorFlow
  • BERT (Transformers)
  • Bootstrap OLS
  • DGX H200

replicates Gorodnichenko, Pham & Talavera (2023, AER) · 792 segments / 181 FOMC meetings, 2011–2019

01_problem.log

01 — The problem

Can you read the Fed's stance from how they say it?

Most research on FOMC press conferences treats the transcript as the whole signal — what the Chair said, run through text sentiment models. But the base paper this project replicates argues that's only half the story: tension, confidence, and hedging often show up in vocal tone before they show up in careful, sanitized language. The question: does voice carry information about monetary policy stance that text alone misses — and does that gap show up in how markets actually move?

02_system.exe

02 — The system

Two modalities, fused into one stance signal.

Each press conference is split into a preprocessed audio track and an aligned transcript, run through two independent classifiers, then fused into a combined voice-tone + text-sentiment reading that feeds an econometric model of market response.

  1. 01

    FOMC press conference videoOfficial Federal Reserve recordings

    792 segments / 181 meetings
  2. 02

    Preprocessing16kHz audio extraction, VAD silence removal (-40dB), DTW alignment to transcript

    FFmpeg
  3. runs in parallel

    03

    Mel-spectrogram features64 mel bands, 300Hz–8kHz, 25ms Hamming window, 10ms hop

    LibROSA
  4. 04

    SER classifierMLP on spectrogram statistics → positive/negative vocal valence

    78% accuracy
  5. 05

    BERT tokenization + encodingWordPiece, 512-token sequences over Statement, Remarks, and Q&A segments

    Transformers
  6. 06

    BERT classifierFine-tuned on FOMC language → hawkish/dovish text sentiment

    F1 0.82
  7. 07

    Multimodal fusionVoice tone (emo) + weighted text sentiment (S_QASR), early + late fusion

  8. 08

    Bootstrap OLS regression2000 replications, BCa confidence intervals at 90%

    22 instruments · 0–15 day horizon
  9. 09

    Hawkish / dovish stanceValidated against cumulative abnormal returns

$ note — The fusion step controls for Swanson monetary-policy shocks and the Wu–Xia shadow rate, so voice and text are tested for information that survives alongside known policy-shock signals — not against a blank baseline.

03_results.stat

03 — Results

What the numbers say.

Voice tone stayed statistically significant even after controlling for text sentiment and policy shocks.

792/181

segments / FOMC meetings, 2011–2019

78%

SER accuracy — vocal valence classification

0.82

BERT F1 — hawkish/dovish classification

[01]

Incremental, not redundant

Voice-tone coefficients remained statistically significant after controlling for text sentiment and Swanson policy shocks — the two modalities carry complementary information, not the same signal twice.

[02]

Q&A carries the signal

Unscripted Q&A segments produced the most informative vocal signals — likely because they reveal states that formal, prepared statements sanitize away.

[03]

Small-n econometrics

Bootstrap OLS with 2000 replications and BCa confidence intervals compensates for the small-sample problem inherent to meeting-level FOMC data — only ~181 events across a decade.

04_limitations.diff

04 — Honest limitations

What the model doesn't capture.

US Fed only

+ The framework is validated on FOMC communications alone — whether it generalizes to the ECB, BoE, or BoJ, with different communication cultures, is untested.

No visual modality

+ Voice and text only — facial expression and gesture aren't captured. A CNN/ViT visual branch is scoped as future work, not part of the current pipeline.

Binary sentiment

+ Both classifiers force a positive/negative, hawkish/dovish split, collapsing dimensional emotion — anger and nervousness look identical to the model.

~181 meetings

+ A decade of data is still a small-n problem; longer-horizon return estimates carry high variance despite the bootstrap correction.

contact — mailto.sh

Want the details?

$ echo $EMAIL →s.sai08019@gmail.com
← back to projects