Interpretable Machine Learning for Macro Alpha: A News Sentiment Case Study
ArXiv ID: 2505.16136 “View on arXiv”
Authors: Yuke Zhang
Abstract
This study introduces an interpretable machine learning (ML) framework to extract macroeconomic alpha from global news sentiment. We process the Global Database of Events, Language, and Tone (GDELT) Project’s worldwide news feed using FinBERT – a Bidirectional Encoder Representations from Transformers (BERT) based model pretrained on finance-specific language – to construct daily sentiment indices incorporating mean tone, dispersion, and event impact. These indices drive an XGBoost classifier, benchmarked against logistic regression, to predict next-day returns for EUR/USD, USD/JPY, and 10-year U.S. Treasury futures (ZN). Rigorous out-of-sample (OOS) backtesting (5-fold expanding-window cross-validation, OOS period: c. 2017-April 2025) demonstrates exceptional, cost-adjusted performance for the XGBoost strategy: Sharpe ratios achieve 5.87 (EUR/USD), 4.65 (USD/JPY), and 4.65 (Treasuries), with respective compound annual growth rates (CAGRs) exceeding 50% in Foreign Exchange (FX) and 22% in bonds. Shapley Additive Explanations (SHAP) affirm that sentiment dispersion and article impact are key predictive features. Our findings establish that integrating domain-specific Natural Language Processing (NLP) with interpretable ML offers a potent and explainable source of macro alpha.
Keywords: FinBERT, GDELT, XGBoost, Shapley Additive Explanations (SHAP), Sentiment Analysis, Multi-Asset (FX/Fixed Income)
Complexity vs Empirical Score
- Math Complexity: 4.5/10
- Empirical Rigor: 8.0/10
- Quadrant: Street Traders
- Why: The paper employs advanced machine learning models (XGBoost, FinBERT) and SHAP for interpretability, but focuses more on application and backtesting rather than deep theoretical derivations. It demonstrates high empirical rigor with a decade-long OOS backtest (2015-2025), realistic transaction costs, and published code on GitHub, though the Sharpe ratios presented seem exceptionally high and warrant scrutiny.
flowchart TD
A["Research Goal: Extract Macro Alpha<br>via Interpretable ML on News Sentiment"] --> B["Data Source: GDELT Global News Feed"]
B --> C["NLP: FinBERT Sentiment Processing"]
C --> D["Feature Engineering:<br>Sentiment, Dispersion, Impact"]
D --> E["ML Model: XGBoost Classifier"]
E --> F["Out-of-Sample Backtesting<br>(5-Fold Expanding Window)"]
F --> G{"Key Outcomes"}
G --> H["High Performance:<br>Sharpe ~5.87 (FX), ~4.65 (Bonds)"]
G --> I["SHAP Analysis:<br>Dispersion & Impact are Top Features"]
G --> J["Conclusion:<br>Interpretable ML provides<br>Robust Macro Alpha"]