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.
- 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
- Python 3.11
- pandas
- numpy
- matplotlib
- yfinance
- pytest
1. Clone o repositório
git clone https://github.com/Mgrsantos/portfolio-analyzer.git
cd portfolio-analyzer2. Crie o ambiente virtual
python -m venv .venv
.venv\Scripts\Activate.ps13. Instale as dependências
pip install -r requirements.txt
pip install pytest4. Execute
python main.pypython -m pytest tests/ -v=== 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! ===
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
Gabriela Rondon — LinkedIn