Skip to content

quantthieres/markowitz-portfolio-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

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

No releases published

Packages

 
 
 

Contributors