Skip to content

Mgrsantos/portfolio-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Portfolio Analyzer

Projeto acadêmico desenvolvido para aplicar conceitos de finanças quantitativas com Python, incluindo análise de risco, métricas de retorno e simulação de Monte Carlo.

💡 Motivação: explorar na prática como ferramentas de análise quantitativa são usadas no mercado financeiro, combinando programação e conceitos de investimento.


🚀 Funcionalidades

  • Busca automática de dados históricos reais via Yahoo Finance
  • Cálculo de retorno anual, volatilidade e Sharpe Ratio
  • Simulação de Monte Carlo com 1000 cenários por ativo
  • Visualização gráfica da evolução dos ativos (base 100)
  • Projeção de cenários futuros com percentis P10 e P90
  • Exportação de métricas em CSV

🛠️ Tecnologias

  • Python 3.11
  • pandas
  • numpy
  • matplotlib
  • yfinance
  • pytest

⚙️ Como rodar

1. Clone o repositório

git clone https://github.com/Mgrsantos/portfolio-analyzer.git
cd portfolio-analyzer

2. Crie o ambiente virtual

python -m venv .venv
.venv\Scripts\Activate.ps1

3. Instale as dependências

pip install -r requirements.txt
pip install pytest

4. Execute

python main.py

🧪 Testes

python -m pytest tests/ -v

📈 Exemplo de saída

=== Portfolio Analyzer ===

Buscando dados para: ['PETR4.SA', 'VALE3.SA', 'ITUB4.SA']
  ✓ PETR4.SA carregado
  ✓ VALE3.SA carregado
  ✓ ITUB4.SA carregado
Dados carregados: 251 dias, 3 ativos

--- Métricas de Risco/Retorno ---
          Retorno Anual (%)  Volatilidade Anual (%)  Sharpe Ratio
PETR4.SA              47.61                   24.90          1.48
VALE3.SA              53.30                   24.70          1.72
ITUB4.SA              21.16                   22.81          0.46

Métricas exportadas para: report_metrics.csv
Gerando gráficos...
=== Análise concluída! ===

📁 Estrutura do projeto

portfolio-analyzer/
├── src/
│   ├── __init__.py
│   ├── data_fetcher.py       # Busca de dados históricos
│   ├── risk_calculator.py    # Cálculo de métricas e Monte Carlo
│   └── report_generator.py  # Geração de gráficos
├── tests/
│   └── test_risk_calculator.py
├── main.py
├── requirements.txt
└── README.md

👩‍💻 Autora

Gabriela Rondon — LinkedIn

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors