Este projeto implementa uma otimização de portfólio baseada no modelo média-variância de Markowitz, utilizando dados históricos de ações obtidos via Yahoo Finance.
- Coletar preços históricos de ativos
- Calcular retornos logarítmicos
- Estimar retorno e volatilidade anualizados
- Simular carteiras aleatórias
- Encontrar as carteiras de máximo Sharpe e mínima variância
- AAPL
- MSFT
- AMZN
- GOOGL
- JPM
2018-01-01 a 2024-12-31
- numpy
- pandas
- matplotlib
- scipy
- yfinance
- Download dos preços históricos
- Cálculo dos retornos logarítmicos
- Annualização de retornos e covariância
- Simulação Monte Carlo de carteiras
- Otimização com
scipy.optimize - Visualização da fronteira eficiente aproximada
O projeto usa uma taxa livre de risco anual de 4%, como aproximação simples para títulos do Tesouro dos EUA.
- Instale as dependências:
pip install -r requirements.txt- Abra o notebook:
jupyter notebook markowitz_portfolio_optimization_github_final.ipynb- gráfico com carteiras simuladas
- carteira de máximo Sharpe
- carteira de mínima variância
- pesos ótimos por ativo
- sensível à janela histórica
- ignora custos de transação
- ignora rebalanceamento dinâmico
- depende de estimativas históricas de média e covariância