Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Markowitz Portfolio Optimization

Simulação das Carteiras

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.

Objetivo

  • 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

Ativos analisados

  • AAPL
  • MSFT
  • AMZN
  • GOOGL
  • JPM

Período

2018-01-01 a 2024-12-31

Bibliotecas utilizadas

  • numpy
  • pandas
  • matplotlib
  • scipy
  • yfinance

Metodologia

  1. Download dos preços históricos
  2. Cálculo dos retornos logarítmicos
  3. Annualização de retornos e covariância
  4. Simulação Monte Carlo de carteiras
  5. Otimização com scipy.optimize
  6. Visualização da fronteira eficiente aproximada

Taxa livre de risco

O projeto usa uma taxa livre de risco anual de 4%, como aproximação simples para títulos do Tesouro dos EUA.

Como executar

  1. Instale as dependências:
pip install -r requirements.txt
  1. Abra o notebook:
jupyter notebook markowitz_portfolio_optimization_github_final.ipynb

Principais saídas

  • gráfico com carteiras simuladas
  • carteira de máximo Sharpe
  • carteira de mínima variância
  • pesos ótimos por ativo

Limitações

  • 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

Releases

Packages

Contributors

Languages