# References and Technical Stack

## Data Stack

| Component | Package | Version | Purpose |
|-----------|---------|---------|---------|
| Market Data | `yfinance` | 0.2.x | Historical price data from Yahoo Finance |
| Data Processing | `pandas` | 2.x | DataFrame operations and time series |
| Numerical Computing | `numpy` | 1.x | Array operations and linear algebra |
| Web Scraping | `requests` | 2.x | Fetching index constituents from Wikipedia |
| HTML Parsing | `beautifulsoup4` | 4.x | Parsing Wikipedia tables |

## Optimization Stack

| Component | Package | Version | Purpose |
|-----------|---------|---------|---------|
| Portfolio Optimization | `skfolio` | 0.4.x | HRP, Mean-Variance, Risk Parity |
| Convex Optimization | `cvxpy` | 1.x | Underlying solver for optimization |
| Scientific Computing | `scipy` | 1.x | Statistical functions and optimization |

## Analytics & Visualization Stack

| Component | Package | Version | Purpose |
|-----------|---------|---------|---------|
| Backtesting | `pyfolio-reloaded` | 0.9.x | Tear sheets and performance analysis |
| Performance Metrics | `quantstats` | 0.0.x | Sharpe, Sortino, drawdown analysis |
| Plotting | `matplotlib` | 3.x | Static charts and figures |
| Interactive Charts | `plotly` | 5.x | Interactive HTML dashboards |

---

## Academic References

### Primary Textbook

**Palomar, D. P. (2025).** *Portfolio Optimization: Theory and Application.* Cambridge University Press.

> Comprehensive treatment of modern portfolio optimization including mean-variance analysis, risk parity, hierarchical clustering methods, and robust estimation techniques. Provides theoretical foundations for the optimization strategies implemented in this project.

### skfolio Software

**Nicolini, H., et al. (2025).** *skfolio: A Python Library for Portfolio Optimization.* Journal of Open Source Software.

> Describes the design and implementation of the skfolio library, which provides scikit-learn compatible portfolio optimization tools including Hierarchical Risk Parity, Mean-Variance, and Black-Litterman models.

**Software Citation:**
```bibtex
@software{skfolio2024,
  author = {Nicolini, Hugo},
  title = {skfolio: Portfolio Optimization in Python},
  year = {2024},
  url = {https://github.com/skfolio/skfolio},
  version = {0.4.0}
}
```

### Hierarchical Risk Parity

**Lopez de Prado, M. (2016).** Building Diversified Portfolios that Outperform Out-of-Sample. *Journal of Portfolio Management*, 42(4), 59-69.

> Introduces the Hierarchical Risk Parity (HRP) algorithm, which uses hierarchical clustering to build diversified portfolios without requiring covariance matrix inversion.

### Black-Litterman Model

**Black, F., & Litterman, R. (1992).** Global Portfolio Optimization. *Financial Analysts Journal*, 48(5), 28-43.

> Seminal paper introducing the Black-Litterman model for combining equilibrium returns with investor views to generate stable portfolio allocations.

### Maximum Diversification

**Choueifaty, Y., & Coignard, Y. (2008).** Toward Maximum Diversification. *Journal of Portfolio Management*, 35(1), 40-51.

> Introduces the Maximum Diversification portfolio, which maximizes the diversification ratio defined as the ratio of weighted average volatility to portfolio volatility.

### Momentum and Low Volatility Factors

**Jegadeesh, N., & Titman, S. (1993).** Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. *Journal of Finance*, 48(1), 65-91.

> Classic paper documenting the momentum anomaly in equity returns.

**Ang, A., Hodrick, R. J., Xing, Y., & Zhang, X. (2006).** The Cross-Section of Volatility and Expected Returns. *Journal of Finance*, 61(1), 259-299.

> Documents the low-volatility anomaly where low-volatility stocks earn higher risk-adjusted returns.

---

## Walk-Forward Validation

The backtesting methodology follows best practices to avoid common pitfalls:

1. **Walk-Forward Design**: 5-year rolling training window with quarterly rebalancing
2. **Transaction Costs**: Bid-ask spread (5 bps) + market impact (2 bps) estimated
3. **Survivorship Bias Disclaimer**: Results use currently available index constituents

### Methodology References

**Bailey, D. H., Borwein, J. M., Lopez de Prado, M., & Zhu, Q. J. (2014).** The Probability of Backtest Overfitting. *Journal of Computational Finance*, 20(4), 39-69.

> Quantifies the dangers of backtest overfitting and recommends walk-forward validation.

**Harvey, C. R., Liu, Y., & Zhu, H. (2016).** ... and the Cross-Section of Expected Returns. *Review of Financial Studies*, 29(1), 5-68.

> Discusses multiple testing issues in factor research and the importance of out-of-sample validation.

---

## License

This project is for educational and research purposes. The optimization strategies and backtesting results should not be construed as investment advice.
