This project focuses on portfolio construction and asset allocation using quantitative methods widely applied in finance.
The analysis is based on real market data and combines statistical estimation, optimization techniques, and equilibrium models.
- Estimate expected returns and covariance matrix for a set of equities
- Construct efficient portfolios under different assumptions
- Analyze the impact of constraints on portfolio allocation
- Evaluate market risk exposure using CAPM
- Implement the Black-Litterman framework to incorporate investor views
- Daily returns and market capitalizations
- 6 US equities across different sectors
- S&P 500 index used as market benchmark
- Time period: 2003 – 2025
- Historical covariance matrix
- Shrinkage toward constant correlation (SCC) for improved robustness
- Exponentially weighted average of returns
- Emphasis on recent data
- Mean-variance optimization (Markowitz framework)
- Efficient frontier with:
- Risk-free asset
- Additional constraints (equality & inequality)
- OLS regression to estimate:
- Beta (market exposure)
- Alpha (excess return)
- Statistical significance analysis
- Implied equilibrium returns
- Integration of subjective views:
- Absolute view
- Relative view
- Analysis of impact on portfolio weights
- Shrinkage improves stability of covariance estimation
- Unconstrained portfolios exhibit strong leverage and concentration
- Constraints reduce risk but lower expected returns
- CAPM results show:
- Moderate market exposure (β < 1 for most assets)
- Statistically significant alpha for selected stocks
- Black-Litterman:
- Significantly shifts portfolio allocation
- Highlights sensitivity to confidence levels in views
- Portfolio optimization is highly sensitive to input estimation errors
- Shrinkage techniques are essential for robust allocation
- Constraints play a critical role in making portfolios realistic
- CAPM provides useful diagnostics but has limitations in practice
- Black-Litterman offers a flexible framework but requires careful calibration of views
- Python
- NumPy
- Pandas
- SciPy
- Matplotlib
- notebooks/ → data analysis and portfolio construction
- report/ → full project report
- Use of alternative risk models (e.g. factor models)
- Out-of-sample backtesting
- Transaction cost modeling
- Robust optimization techniques
Elia Ceolini