Spaces:
Sleeping
A newer version of the Gradio SDK is available:
6.6.0
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
git clone <repository-url>
cd hugging_face_spaces
2. Instale as dependências
pip install -r requirements.txt
3. Execute a aplicação
python app.py
4. Acesse a interface
Abra seu navegador em http://localhost:7860
🧪 Executando Testes
Comandos Rápidos (Makefile)
# 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
# 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=Falsepara 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
- Faça fork/clone do repositório
- Crie um novo Space no Hugging Face
- Configure como Gradio App
- 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
- Configurações em
hf_spaces_config.py
📖 Documentação
Documentação completa disponível em:
- 🏗️ Arquitetura do Sistema - Estrutura detalhada do projeto
- 🔄 Fluxograma do Sistema - Ciclo completo de processamento
- 📊 Diagrama de Fluxo Visual - Visualização do fluxo de dados
- 🚀 Guia de Instalação - Instalação passo a passo
- 📋 Referência da API - Documentação técnica completa
- 📖 Guia do Desenvolvedor - Instruções para desenvolvimento
- 📊 Sistema de Logging - Sistema de logs avançado
- 🧪 Documentação de Testes - Framework de testes completo
- 🔧 Solução de Problemas - Resolução de problemas comuns
- 🌐 Troubleshooting HF Spaces - Problemas específicos do HF Spaces
🔧 Configuração
O sistema pode ser configurado através do arquivo config/config.py:
# 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
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
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
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
from src.ui.log_viewer import create_log_viewer_interface
# Criar interface de visualização
interface = create_log_viewer_interface()
interface.launch()
🤝 Contribuição
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
🆘 Suporte
Para suporte e dúvidas:
- Consulte a documentação
- Abra uma issue
- Consulte o guia de troubleshooting
📈 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