Practical implementation of Modern Portfolio Theory for cryptocurrency portfolios using Python.
This repository contains progressive examples demonstrating Markowitz Portfolio Theory concepts, from basic portfolio calculations to advanced optimization strategies.
# Clone the repository
git clone https://github.com/suenot/markowitz.git
cd markowitz
# Install dependencies
pip install -r requirements.txt# Run all examples
python run_all_examples.py
# Or run individual examples
python 01_basic_portfolio_math.py
python 02_efficient_frontier.py
python 03_portfolio_optimization.py
python 04_multi_asset_portfolio.py
python 05_advanced_strategies.py- Portfolio return and volatility calculations
- Risk-return trade-offs
- Value at Risk (VaR) analysis
- Correlation analysis
- Monte Carlo simulation of random portfolios
- Efficient frontier visualization
- Special portfolios identification (max Sharpe, min volatility)
- Portfolio concentration analysis
- Mathematical optimization using scipy
- Maximum Sharpe ratio portfolio
- Minimum volatility portfolio
- Target return optimization
- Sensitivity analysis
- Real crypto portfolio with 8+ assets
- Comprehensive backtesting
- Out-of-sample performance validation
- Risk decomposition analysis
- Multiple optimization strategies comparison
- Black-Litterman model
- Hierarchical Risk Parity (HRP)
- Risk Parity optimization
- Maximum Diversification
- Practical rebalancing with transaction costs
Each example generates visualization files:
01_basic_portfolio_analysis.png- Basic metrics and distributions02_efficient_frontier.png- Efficient frontier visualization03_portfolio_optimization.png- Optimization results04_multi_asset_portfolio.png- Multi-asset analysis and backtesting05_advanced_strategies.png- Advanced strategies comparison
- Python 3.8+
- numpy
- pandas
- matplotlib
- seaborn
- scipy
- yfinance
See the accompanying articles for detailed explanations:
This is for educational purposes only. Not financial advice. Cryptocurrency investments are highly risky. Always do your own research.
MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.