MADS Capstone Project - Rate Hike Rangers
Paul Stotts (pdstotts), Dave Norine (dnorine), Ali Alrubaiee (aalrubai)
This project investigates the drivers and predictability of U.S. consumer sentiment using a wide array of economic indicators from the Federal Reserve Economic Data (FRED) API. The primary target is the University of Michigan Consumer Sentiment Index (UMCSENT), a key barometer of economic optimism or pessimism.
- What drives consumer sentiment? Which economic indicators have the strongest influence?
- How quickly do changes propagate? What are the lag structures between economic events and sentiment shifts?
- Can we forecast sentiment accurately? How well can we predict future sentiment using current data?
- What are the downstream effects? How does sentiment influence actual economic behavior?
Final_unified_sentiment_analysis.ipynb: Main analysis notebook (data collection, EDA, modeling, results)requirements.txt: Python dependenciesoutputs/: Generated data, results, and visualizationsdata/: Processed datasets and engineered featuresresults/: Model outputs, feature importances, Granger causality, etc.visualizations/: Plots and figurescache/: Cached API responses for reproducibility
- FRED API: 43+ economic indicators, including inflation, unemployment, stock market, housing, interest rates, and more. To access this data, request an API key here: https://fred.stlouisfed.org/docs/api/api_key.html
- UMCSENT: University of Michigan Consumer Sentiment Index (target variable)
- Data Collection: Fetches and caches monthly data for all indicators from FRED
- Feature Engineering: Creates lags, percent changes, rolling stats, spreads, and interaction terms
- Exploratory Data Analysis: Examines relationships and correlations between sentiment and economic indicators
- Lead-Lag & Causality Analysis: Cross-correlation and Granger causality to identify leading/lagging indicators
- Modeling: Forecasts sentiment using Linear Regression, Random Forest, SVR, and ensemble methods with rolling cross-validation
- Evaluation & Visualization: Compares model performance and visualizes key findings
- Install dependencies
pip install -r requirements.txt - Set up FRED API key
- Create a
.envfile with your FRED API key:FRED_API_KEY=your_fred_api_key_here
- Create a
- Run the notebook
- Open
Final_unified_sentiment_analysis.ipynbin Jupyter and run all cells.
- Open
- Code Auditing
- Code Syntax Assistance
- Documentation Assistance
- Research Assistance
See requirements.txt for all dependencies. Key packages:
- pandas, numpy, scipy
- matplotlib, seaborn
- scikit-learn, xgboost
- statsmodels
- fredapi
- python-dotenv
- shap (optional, for model explainability)
- Data: Processed monthly datasets and engineered features
- Results: Feature importances, Granger causality, model performance metrics
- Visualizations: Time series, correlation heatmaps, lag analysis, model comparisons
- Tangible indicators (housing, gas prices) have stronger relationships with sentiment than financial markets
- Some economic indicators lead sentiment by months or years, while others are contemporaneous or lagging
- Linear models perform best, but ensemble methods offer robust performance
- Sentiment can Granger-cause changes in some economic indicators
- Paul Stotts (pdstotts)
- Dave Norine (dnorine)
- Ali Alrubaiee (aalrubai)
This project is for educational purposes. Please cite appropriately if using or extending this work.