teste / README.md
torxyton's picture
docs: Adiciona fluxograma completo do sistema
597a01f
---
title: Sistema de Análise Financeira com IA
emoji: 📈
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.44.0
app_file: app.py
pinned: false
license: mit
short_description: Sistema de análise financeira com IA e ensemble de modelos
---
# 📈 Sistema de Análise Financeira com IA
Um sistema completo de análise financeira que combina múltiplos modelos de IA para fornecer insights precisos sobre mercados financeiros, análise de sentimento e processamento avançado de dados.
## 🚀 Funcionalidades Principais
### 🤖 Sistema Ensemble de IA
- **Múltiplos Modelos**: Integração de FinBERT, RoBERTa e modelos customizados
- **Votação Inteligente**: Sistema de consenso entre modelos para maior precisão
- **Otimização Automática**: Ajuste dinâmico de pesos baseado na performance
### 📊 Análise de Mercado Avançada
- **Swing Points**: Detecção automática de pontos de reversão
- **Zonas de Confluência**: Identificação de níveis críticos de suporte/resistência
- **Padrões Harmônicos**: Reconhecimento de padrões Gartley, Butterfly, Bat e Crab
- **Análise Fibonacci**: Cálculos automáticos de retracement e extensão
### 💹 Análise de Sentimento
- **Processamento de Texto**: Análise de notícias e relatórios financeiros
- **Classificação Multi-classe**: Bullish, Bearish, Neutral com scores de confiança
- **Contexto Financeiro**: Especializado em terminologia do mercado financeiro
### 🎨 Interface
- **Interface Web Moderna**: Interface Gradio responsiva e intuitiva
- **Tema Escuro/Claro**: Sistema de temas dinâmico com modo noturno
- **Visualizações Interativas**: Gráficos e métricas em tempo real
- **Design Responsivo**: Otimizado para desktop e mobile
- **Feedback Visual**: Indicadores de status e progresso
### 📝 Sistema de Logging Avançado
- **Armazenamento SQLite3**: Banco de dados estruturado para logs persistentes
- **Interface Web**: Visualizador de logs com filtros avançados e estatísticas
- **Decoradores Automáticos**: Logging automático com decoradores Python
- **Métricas de Performance**: Monitoramento em tempo real com gráficos
- **Categorização Inteligente**: Logs organizados por categoria e nível
- **Limpeza Automática**: Gerenciamento automático de logs antigos
- **Eventos do Sistema**: Rastreamento de eventos críticos e alertas
### 🧪 Sistema de Testes Robusto
- **Pytest Framework**: Framework de testes otimizado e moderno
- **Testes Unitários**: Cobertura completa de módulos individuais
- **Testes de Integração**: Validação de fluxos completos do sistema
- **Fixtures Reutilizáveis**: Setup/teardown automatizado para testes
- **Mocking Avançado**: Isolamento de dependências externas
- **Relatórios de Cobertura**: Análise detalhada em HTML, XML e terminal
- **Testes Parametrizados**: Múltiplos cenários com dados variados
- **Execução Paralela**: Testes rápidos com pytest-xdist
- **Benchmarking**: Testes de performance e uso de memória
- **CI/CD Ready**: Integração completa com pipelines de desenvolvimento
## 🏗️ Arquitetura do Sistema
```
📁 Projeto/
├── 📁 src/ # Código fonte organizado
│ ├── 📁 ai/ # Modelos de IA e ensemble
│ ├── 📁 analysis/ # Análises de mercado e sentimento
│ ├── 📁 core/ # Funcionalidades centrais
│ ├── 📁 integrations/ # Integrações externas
│ ├── 📁 ui/ # Interface do usuário
│ │ ├── 📄 gradio_interface.py
│ │ ├── 📄 theme_manager.py
│ │ └── 📄 dark_theme_components.py
│ └── 📁 utils/ # Utilitários e helpers
├── 📁 config/ # Configurações do sistema
├── 📁 docs/ # Documentação completa
├── 📁 tests/ # Estrutura completa de testes
│ ├── 📁 unit/ # Testes unitários
│ ├── 📁 integration/ # Testes de integração
│ ├── 📁 data/ # Dados de teste
│ ├── 📄 conftest.py # Configurações globais
│ └── 📄 test_patterns.py # Padrões e exemplos
├── 📁 scripts/ # Scripts utilitários
│ └── 📁 log_analysis/ # Análise de logs
├── 📄 pytest.ini # Configuração do pytest
├── 📄 Makefile # Comandos automatizados
└── 📄 app.py # Aplicação principal
```
## 🛠️ Tecnologias Utilizadas
- **Python 3.8+**: Linguagem principal
- **Gradio 5.44.0**: Interface web interativa (compatível com HF Spaces)
- **Transformers**: Modelos de linguagem (FinBERT, RoBERTa)
- **NumPy/Pandas**: Processamento de dados
- **Scikit-learn**: Machine learning
- **SQLite3**: Banco de dados para logging avançado
- **Plotly**: Gráficos interativos para métricas
- **Threading**: Processamento assíncrono
## 📋 Pré-requisitos
- Python 3.8 ou superior
- 4GB+ de RAM (recomendado 8GB)
- Conexão com internet para download de modelos
## 🚀 Instalação e Execução
### 1. Clone o repositório
```bash
git clone <repository-url>
cd hugging_face_spaces
```
### 2. Instale as dependências
```bash
pip install -r requirements.txt
```
### 3. Execute a aplicação
```bash
python app.py
```
### 4. Acesse a interface
Abra seu navegador em `http://localhost:7860`
## 🧪 Executando Testes
### Comandos Rápidos (Makefile)
```bash
# Executar todos os testes
make test
# Testes unitários apenas
make test-unit
# Testes de integração
make test-integration
# Testes com relatório de cobertura
make test-coverage
# Testes rápidos (sem os lentos)
make test-fast
# Testes em paralelo
make test-parallel
```
### Comandos Pytest Diretos
```bash
# Executar todos os testes
pytest -v
# Testes por categoria
pytest -m unit # Apenas unitários
pytest -m integration # Apenas integração
pytest -m "not slow" # Excluir testes lentos
# Com cobertura
pytest --cov=src --cov-report=html
# Teste específico
pytest tests/unit/test_voting_system.py::test_majority_voting
```
### Relatórios de Cobertura
Após executar `make test-coverage`, abra `htmlcov/index.html` para ver o relatório detalhado.
## 🌐 Hugging Face Spaces
Este projeto está **100% compatível** com Hugging Face Spaces:
### ✅ Correções Implementadas
- **SSR Desabilitado**: `ssr_mode=False` para evitar erro 500
- **Configurações Otimizadas**: Parâmetros específicos para HF Spaces
- **Detecção Automática**: Sistema detecta ambiente HF Spaces automaticamente
- **Fallback Inteligente**: Configurações locais como backup
### 🚀 Deploy no HF Spaces
1. Faça fork/clone do repositório
2. Crie um novo Space no Hugging Face
3. Configure como Gradio App
4. O sistema aplicará automaticamente as configurações corretas
### 🔧 Configurações HF Spaces
- **SDK**: Gradio 5.44.0
- **Python**: 3.8+
- **Arquivo Principal**: `app.py`
- **SSR**: Desabilitado automaticamente
### 📋 Troubleshooting
Para problemas específicos do HF Spaces, consulte:
- [Guia de Troubleshooting HF Spaces](docs/huggingface_spaces_troubleshooting.md)
- Configurações em `hf_spaces_config.py`
## 📖 Documentação
Documentação completa disponível em:
- [🏗️ **Arquitetura do Sistema**](docs/architecture.md) - Estrutura detalhada do projeto
- [🔄 **Fluxograma do Sistema**](docs/system_flowchart.md) - Ciclo completo de processamento
- [📊 **Diagrama de Fluxo Visual**](docs/system_flow_diagram.svg) - Visualização do fluxo de dados
- [🚀 **Guia de Instalação**](docs/installation.md) - Instalação passo a passo
- [📋 **Referência da API**](docs/api-reference.md) - Documentação técnica completa
- [📖 **Guia do Desenvolvedor**](docs/developer-guide.md) - Instruções para desenvolvimento
- [📊 **Sistema de Logging**](docs/logging_system.md) - Sistema de logs avançado
- [🧪 **Documentação de Testes**](tests/README.md) - Framework de testes completo
- [🔧 **Solução de Problemas**](docs/troubleshooting.md) - Resolução de problemas comuns
- [🌐 **Troubleshooting HF Spaces**](docs/huggingface_spaces_troubleshooting.md) - Problemas específicos do HF Spaces
## 🔧 Configuração
O sistema pode ser configurado através do arquivo `config/config.py`:
```python
# Configurações dos modelos
MODEL_WEIGHTS = {
'finbert': 0.4,
'roberta': 0.35,
'custom': 0.25
}
# Configurações de análise
SWING_DETECTION = {
'lookback_period': 5,
'min_strength': 0.3
}
```
## 📊 Exemplos de Uso
### Análise de Sentimento
```python
from src.analysis.sentiment_analysis import SentimentAnalyzer
analyzer = SentimentAnalyzer()
result = analyzer.analyze_text("O mercado está em alta com perspectivas positivas")
print(f"Sentimento: {result['sentiment']} (Confiança: {result['confidence']:.2f})")
```
### Análise de Mercado
```python
from src.core.advanced_market_processing import AdvancedMarketProcessor
processor = AdvancedMarketProcessor()
result = processor.process_market_data(prices, volumes)
print(f"Estrutura do mercado: {result['market_structure']}")
```
### Sistema de Logging
```python
from src.utils.logging_decorators import log_execution, quick_log
from src.core.database_logger import LogLevel, LogCategory
# Logging automático com decorador
@log_execution(LogCategory.MARKET_ANALYSIS, log_performance=True)
def analyze_market():
# Sua análise aqui
return results
# Logging rápido
quick_log("Operação concluída", LogLevel.INFO, LogCategory.SYSTEM)
```
### Visualização de Logs
```python
from src.ui.log_viewer import create_log_viewer_interface
# Criar interface de visualização
interface = create_log_viewer_interface()
interface.launch()
```
## 🤝 Contribuição
1. Fork o projeto
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request
## 📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
## 🆘 Suporte
Para suporte e dúvidas:
- Consulte a [documentação](docs/)
- Abra uma [issue](../../issues)
- Consulte o [guia de troubleshooting](docs/troubleshooting.md)
## 📈 Status do Projeto
- ✅ Sistema Ensemble de IA implementado
- ✅ Análise de mercado avançada
- ✅ Sistema de logging completo
- ✅ Interface web funcional
- ✅ Documentação atualizada
- ✅ Estrutura refatorada
---
**Desenvolvido com ❤️ para análise financeira inteligente**