Quantitative comparison of OLS, WLS, and robust M-estimation for financial risk modeling
This project analyzes volatility clustering in SPY daily returns (2007–2026, n = 4,861) using three modeling approaches to test whether past volatility predicts future financial risk.
Volatility persistence is statistically robust across all methods, but out-of-sample predictive power is weak (test MSE = 1.2e-7). Lagged returns provide no meaningful explanatory value beyond past volatility.
- R (tidyverse, caret, MASS, rugarch)
- RMarkdown for reproducible analysis
- OLS, Weighted Least Squares, Robust M-estimation
- Train/test split validation (70/30)
| File | Description |
|---|---|
S&P Risk Modeling.Rmd |
Complete reproducible analysis |
Guo_Volatility_Modeling.pdf |
Formatted report (recruiter-friendly) |
README.md |
This overview |
| Metric | Result |
|---|---|
| Observations | 4,861 |
| Time Period | 2007-2026 |
| Best Predictor | Lagged volatility |
| Best Model (Fit) | WLS (β = 0.39) |
| Out-of-sample MSE | 1.2e-07 |
# Clone the repository
# Then in RStudio:
install.packages(c("tidyverse", "quantmod", "caret", "MASS"))
# Open S&P Risk Modeling.Rmd and knit to PDF